Google Cloudの予算アラートで意図しない課金を予防しよう!

2023年6月9日掲載

キービジュアル

こんにちは。ご覧いただきありがとうございます。

本日はGoogle Cloud(GCP)で予算アラートを設定し、意図しない課金を予防する方法をご紹介します。

目次

1. Google Cloud(GCP)予算アラートとは?

Google Cloud(GCP)の予算アラートとは、「あらかじめ任意の金額(予算)を指定することで、 Google Cloud(GCP)の利用料金が予算額を超えた際に通知(アラート)を出す仕組み」のことです。

Google Cloud(GCP)は従量課金制なので、多くのサービスを利用したり、急な増設が必要になった場合に、コストが高くなってしまうことがあります。

予算アラートを利用することで、小まめに管理画面で金額を確認する必要なく、予期せぬ課金が発生した時に気づく事が出来ます。

2. サービス構成

予算

Cloud Billing の予算を作成して、Google Cloud のすべての料金を 1 か所でモニタリングすることで、想定外の請求が発生する事態を回避します。

予算は複数作成することができ、各予算には金額を設定することができます。例えば、「10万円」のように具体的な金額を設定できるほか、「先月の費用」を選択することも可能です。「先月の費用」を選択した場合は、前月の利用金額に基づいて自動的に予算が設定されます。

しきい値

予算アラートは利用料が設定した予算額を超えた場合に通知を送ることができる機能ですが、この通知を出すためには、しきい値をトリガーとして設定する必要があります。

最初に予算を作成すると、デフォルトのアラートしきい値が「50%」「90%」「100%」に設定されます。必要に応じてアラートしきい値ルールの変更や追加、削除を行うこともできます。

アラート

利用料を設定した予算額のしきい値を超えた場合に通知を送ることができる機能です。

予算アラートは基本はメールによる通知ですが、Slack などの他の手段で通知を受け取りたい場面も出てくると思います。

その場合は、「 Pub/Sub 」というサービスを利用して個別に設定を行うことでメール以外の方法で通知することも可能です。Pub/Sub のプログラムによる通知の設定方法は Google 公式ページ「プログラムで通知を管理する」をご参照ください。

 

 

3. Google Cloud(GCP)の予算アラートの設定方法

3.0 前提

<必要な権限>

・billing.budgets.create

 新規に予算を作成する権限。

・billing.budgets.get と billing.budgets.list

 請求先アカウントのすべての予算を表示する権限。

 

3.1 予算を作成する

3.1.1 Google Cloud コンソールの [予算とアラート] ページにログインします。

3.1.2 プロンプトで、予算を設定する請求先アカウントを選択すると選択した請求先アカウントの [予算とアラート] ページが開きます。

3.1.3 [予算を作成] をクリックし、予算の範囲を設定します。

3.1.4 予算額の設定をします。

3.1.5 予算しきい値のルールとアクションを設定します。

アクションにある%は設定した上限額に対してどの程度の比率でアラートを飛ばすかを指定します。

(例)5000円の50%でアラートを飛ばす場合、2500円を上回った場合にアラートが飛ぶようになります。

 

今回はCloud Monitaringと連携させるため、『メール通知アラートを課金管理者とユーザーに送信する』を選択し、[終了]をクリックします。

3.2 予算アラートメール確認

設定した予算のしきい値に達すると以下のような通知がきます。

ただ、あくまでも予算アラートは通知の役割しかないため、課金が止まるわけではありません。もし予算オーバー(または予算上限の90%)に達した場合にVMを停止する、などのアクションを起こしたい場合にはCloud FunctionやCloud Runなどのサーバレスリソースと組み合わせることで実現可能です。

予算アラートを設定して終わりではなく、併せて不要な課金が発生していないか、IAMの設定は最小権限の原則に従っているか等、定期的にかつ複数人でGCPの環境をチェックする事も大切です。

 

4. よくある事例と対策事項

4.1  Dataflowパイプラインの設定不備によるノードの無期限起動

Dataflowパイプラインの設計を入念に行い、ノードが無期限に起動しないよう十分に注意してください。例えば、Cloud Storageのバケットへのデータ流入をトリガーとした場合を考えてみます。Dataflowパイプラインの終端でトリガー元となるCloud Storageのバケットにデータを入れてしまうと、Dataflowノードが起動し続けてしまいます。Dataflowは短時間に大量のリソースを利用する傾向があるため、大量の課金が発生する場合があります。

対策1. パイプライン終端の出力先をダブルチェックする

対策2. パイプラインを実際に数回実行し、事前に想定した動作かを確認する

4.2 ストレージ容量の肥大化

ログデータをセキュリティ上必要だからと安直に保存してしまうと、ストレージ容量の肥大化に繋がります。ログを安直に保管するのではなく、データの前処理をした上で深刻なインシデントやエラーログだけを保管してください。このように、保管するデータを精査することで、ストレージ容量の肥大化を未然に防ぐことができます。

また、サービスの設定に不備があり、大量のエラーログが発生してしまい見落としてしまう場合もあります。一つ一つのログデータの容量は小さいため油断してしまいがちですが、塵も積もれば山となり大量のクラウドストレージを消費してしまう恐れがあります。

対策1. ログデータを収集する場合は、1カ月にログデータがどの程度発生しているかを確認する

対策2. Cloud 監査ログのベスト プラクティス | Cloud Loggingを確認し、ログの保管方法や料金に関する考慮事項を確認する

対策3. 長期保存をするログはBigQueryなどで処理をしたらアーカイブストレージやコールドデータストレージに保管する

4.3 API過剰コール

APIの過剰コールにより予期せぬ課金が発生してしまうケースが多くみられます。

対策1. API に応じて、1 日あたりのリクエスト数、1 分あたりのリクエスト数、ユーザーごとの 1 分あたりのリクエスト数の上限値を設定する

設定方法はAPI 使用の上限設定をご参照ください。

4.4 Google Cloud Storage

Google Cloud Storageからデータをダウンロードする際には、アウトバウンド料金が発生します。特に、Cloud Storageと他クラウドストレージやオンプレミスのリソースとを頻繁に同期するような構成は避けましょう。ストレージコストの最適化については、3.Cloud Storage のコストとパフォーマンスを最適化するをご参照ください。

対策1. 正しいストレージ クラスを選択する

対策2. ライフサイクル ポリシーを構成する

対策3. 重複データを除去する

5. まとめ

価格モデルの変更があったり、サービスリソースの上限制御が出来ておらず、想定以上に利用してしまうクラウドの世界では、予算アラートは非常に重要です。予算アラートを設定していない事で予期せぬ課金に気付けないという事は十分にあり得ます。予算アラートを設定することで、利用状況を可視化することができます。

本記事の内容を参考にして、ぜひ Google Cloud (GCP)の予算アラートを活用してみてはいかがでしょうか。

最後まで読んでいただきありがとうございました。

関連サービス

Google Cloud

Google サービスを支える、信頼性に富んだクラウドサービスです。お客さまのニーズにあわせて利用可能なコンピューティングサービスに始まり、データから価値を導き出す情報分析や、最先端の機械学習技術が搭載されています。

MSPサービス

MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。

おすすめの記事

条件に該当するページがございません