Cloud Logging の費用を予算内で管理するための 4 つのステップ
Google Cloud Japan Team
※この投稿は米国時間 2023 年 5 月 25 日に、Google Cloud blog に投稿されたものの抄訳です。
Google Cloud におけるオブザーバビリティ データの費用管理に関するシリーズの一環として、予算内でログを最大限に活用するための 4 つのステップをご紹介します。Google Cloud 内の費用の最適化に焦点を当てますが、この内容はインフラストラクチャやログがオンプレミスまたは他のクラウドにあるお客様にも該当しますので、ぜひご覧ください。
ステップ 1: ロギングツールの現在の支出を分析する
まず、どのくらいのデータ量がどこに送信され、どれくらいの費用がかかっているかについて、項目別のリストを作成しましょう。請求レポートと、[Operations Tools] の Cloud Logging に含まれている、明らかな項目から始めます。
Log Volume - ログデータをディスクに 1 回書き込むのにかかる費用(説明については以前のブログ投稿をご覧ください)
Log Storage Volume - 30 日を超えてログを保持する場合にかかる費用
Cloud Logging 以外のツールを使用している場合は、それらのソリューションに関連する費用も含める必要があります。その対象として、以下が挙げられます。
ログベンダーとハードウェアの費用 - オブザーバビリティ ベンダーへの支払いの内訳。独自のロギング ソリューションを実行している場合は、コンピューティングとディスクの費用を含める必要があります。
Google Cloud 内でログをエクスポートしている場合 - Cloud Storage と BigQuery の費用を含めます。
処理費用 - ログを処理するための Kafka、Pub/Sub、Dataflow の費用を考慮します。ログを Google Cloud の外に移動する場合は、下り(外向き)ネットワークの料金が適用されることがあります。
多くの場合、企業全体のロギングツールの管理に特化したエンジニアリング リソースにも多額の費用がかかっています。
ステップ 2: 無駄を省く - 必要のないログには支払わない
すべての費用が量に直接比例するわけではありませんが、ログボリュームを最適化することが支出削減の最良の方法になることがよくあります。一定期間、固定料金に縛られる契約を伴うベンダーを使用している場合でも、Kafka、Pub/Sub、Dataflow の費用など、無駄なログを避けることで削減できる費用がパイプラインに存在している可能性があります。
Google Cloud で量の多いログを見つける
Google Cloud で最も大量のログを生成しているソースを把握するための一番簡単な方法は、Cloud Monitoring に事前構築されているダッシュボードを使用することです。使用可能なダッシュボードにアクセスする手順は次のとおりです。
[Monitoring] -> [ダッシュボード] に移動します
[サンプル ライブラリ] -> [Logging] を選択します
こちらのブログ投稿では、事前構築済みのダッシュボードを使用して GKE と GCE のログを最適化するための具体的な推奨事項をいくつかご紹介しています。
2 つ目の方法は、Metrics Explorer とシステム指標を使用したログボリュームの分析です。たとえば、フィルタに「log bytes ingested」と入力します。この特定の指標は、Cloud Logging の「Log Volume」の料金に対応しており、このデータをフィルタリングする方法はたくさんあります。全体像を把握するためには、まず [resource_type] と [project_id] の両方でグループ化するとよいでしょう。
特定のプロジェクトのリソースタイプを絞り込むには、[project_id] フィルタを追加します。[Advanced Options] -> [Aligner] をクリックして [sum] を選択します。量で並べ替えると、ログボリュームが最も多いリソースを確認できます。
これらの豊富な指標は量を理解するのに最適ですが、最終的にはログを見て、オブザーバビリティ戦略にとって重要かどうかを確認したいと考えるでしょう。ログ エクスプローラでは、左側のログのフィールドで、量を把握したり、リソースタイプからログをフィルタリングしたりできます。
ログルーターでログボリュームを減らす
どのタイプのログに費用がかかっているかを把握できたので、ログルーターとシンク定義を使用して、これらの量を削減することができます。オブザーバビリティの目標によって戦略は異なりますが、ここでは、うまく機能することがわかっている一般的なツールをいくつかご紹介します。
ログボリュームを削減するための最も明白な方法は、同じログを複数の保存先に送信しないことです。この一般的な例として、中央のセキュリティ チームが集約されたログシンクを使用して監査ログを一元管理しているにもかかわらず、個々のプロジェクトがこれらのログを取り込み続けている場合があります。こうしたログを回避するために、各プロジェクトの _Default ログシンクとその他のログシンクで除外フィルタを使用するようにします。除外フィルタは、BigQuery、Pub/Sub、Cloud Storage へのログシンクでも機能します。
同様に、外部のログ管理ツールにログを保存するために料金を支払っている場合、それらの同じログを Cloud Logging に保存する必要はありません。GCP サポートによる支援が必要な場合に備えて、GKE などの GCP サービスからの少数のシステムログを 1 組 Cloud Logging に保存しておくことをおすすめしますが、何を保存するかはお客様次第であり、それを選択した保存先にエクスポートすることもできます。
ログボリュームを減らすためのもう一つの優れたツールは、量の多いログの何割かをサンプリングすることです。これは、たとえばロードバランサの 2XX のログの場合に特に役立ちます。これはパワフルなツールになり得ますが、使用状況、セキュリティ、コンプライアンスの要件に基づいてサンプリング戦略を設計し、明確に文書化することをおすすめします。
ステップ 3: ログのライフサイクル全体で費用を最適化する
ログを必要以上に長く保存しないことも、費用を削減する方法の一つです。Cloud Logging では、1 か月あたりのログ保持量に基づいて課金されます。また、ホット ストレージとコールド ストレージを切り替える必要はなく、デフォルトの保持量を 2 倍にしても費用は 2% しか増加しません。ログのカスタム保持期間はいつでも変更できます。
Cloud Logging の外部にログを保存する場合は、ログの保持にかかる費用を比較したうえで判断することをおすすめします。
ステップ 4: アラートを設定して想定外の請求を回避する
ログシンクを介してルーティングされるログボリュームが予算内に収まることが確認できたら、アラートを設定して、高額な請求が発生する前に急増を検出できるようにします。Cloud Logging に取り込まれたログボリュームに基づいてアラートを送信するには、以下の操作を行います。
[ログベースの指標]ページに移動します。ページの下部までスクロールして、[システム定義の指標] の [billing/bytes_ingested] にあるその他アイコンをクリックします。
[指標に基づいて通知を作成する] をクリックします。
フィルタを追加します(例: resource_id または project_id。これは省略することもできます)。
アラート ポリシーに使用するログベースの指標を選択します。
Pub/Sub、BigQuery、Cloud Storage へのログシンクについても、量に関する同様のアラートを設定することができます。
まとめ
オブザーバビリティの予算を節約する最後の方法は、Cloud Operations をより多く使用することです。Google Cloud は、クエリ機能を追加するだけでなく、同じデータを分析にも使用できるようにしてデータサイロの必要性を減らすログ分析という最新機能など、お客様の予算内で最大限の価値を提供できるよう常に取り組んでいます。小規模のお客様の多くは、完全に無料枠に収まる範囲で業務を遂行できます。また、大規模企業のお客様からは、追加料金なしで使用できるスケーラブルなログルーター機能への感謝の声が寄せられています。この機能によって、データを処理するための高価なイベントストアが不要になるためです。2022 年の IDC レポートで、アンケート回答者の半数以上が、パブリック クラウド プラットフォームの管理ツールとモニタリング ツールの方が、サードパーティのツールに比べ多くの価値を提供していると回答していることにもうなずけます。今すぐ Cloud Logging と Cloud Monitoring を使ってみましょう。
- Google Cloud、プロダクト マネージャー Mary Koes