コンテンツに移動
デベロッパー

予算を使用して費用管理を自動化する

2023年1月5日
Google Cloud Japan Team

※この投稿は米国時間 2022 年 12 月 14 日に、Google Cloud blog に投稿されたものの抄訳です。

要約 - 予算の効用は費用を追跡するだけにとどまりません。プログラムによる予算通知を使用すれば、自動化された費用管理を設定できます。Google はサンプル アーキテクチャを使用したインタラクティブなチュートリアルを用意しており、お客様の利用開始をサポートします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_m3O8DmY.max-1000x1000.png
Budgets can help you answer cost questions, and so much more!

予算は、費用に関する疑問を解消するなど、さまざまなことを実現できます。

Google Cloud の予算の概要や、プログラムによる予算通知を使用することでメールの送信のみにとどまらずに Google Cloud の予算を使用する方法を、いくつかのブログ投稿でご紹介しています。費用に関する疑問点の洗い出しと解消を正確に行い、お使いのシステムに合わせた有意義な回答が得られることから、これらは Google Cloud を使用する際にとるべき重要なステップといえます。クラウドの使用が拡大し、成熟するにつれて、費用に関する問題によりプロアクティブに対処しなければならない場面も出てくるかもしれません。

ただの予算にあらず

簡単に言うと、予算を使用すれば、支出が特定の金額に達した、または達することが予想されるときにメールを受け取るなど、費用に関するアラートを動的な方法で生成できます。予算の作成時には、固定の金額を指定するか、月単位で支出が大幅に変化した場合にアラートを送信するよう、前の期間に基づいた金額を設定できます。さらに、Slack にメッセージを送信するなど、データを予算から定期的に Pub/Sub に送信し(プログラマティックな予算通知)、データを自由に活用することも可能です。

通知を送信する予算は非常に柔軟であるため、さまざまなことに対応できる一方、設定が多少難しくなる場合もあります。クラウドを多用している大規模な企業の費用をモニタリングする場合、さまざまな用途の多くのプロダクトを使用している環境が複数関係してくる可能性があります。まずは費用に関する通知の受信から始めつつ、貴社とそのクラウドの支出を保護するために、自動化された費用管理を設定することをおすすめします。

自動化された費用管理の設定は、プログラマティックな予算通知を使用する場合と基本的には同じものです。予算が時折送信する Pub/Sub メッセージを受信してコードを実行するサブスクライバーとして、Cloud Functions の関数(または類似のもの)を作成します。もちろん、そのコードの詳細は何でもかまいませんし、テキスト メッセージの送信からクラウド リソースのシャットダウンまで、お客様のビジネス ロジックのニーズによって大きく異なります。詳細はお客様次第ですが、利用の開始に役立ついくつかの施策を用意しました。

使い方のチュートリアル

プログラマティックな予算通知の運用開始に必要なすべての手順をサポートするインタラクティブなチュートリアルを作成しました
https://storage.googleapis.com/gweb-cloudblog-publish/images/image3_50qWYHA.max-600x600.png

チュートリアルに沿って、プログラマティックな通知に応答するために連携する予算、Pub/Sub トピック、Cloud Functions の関数を設定できます。関連するすべての要素を把握できるだけでなく、関数のコードを特定の目的に合わせて簡単に変更できるため、出発点として有用です。便利そうだがどのコードを使用すればよいかわからないといった、よくある疑問もこれで解決できるでしょう。そのため、チュートリアルを強化し、ワンクリックで実行できる、アーキテクチャの完全なデプロイを盛り込みました。

クラウド費用の見張り役

DeployStack を利用した Cost Sentry は、プログラマティックな予算通知の次のステップとなるもので、自動化された基本的な費用適用の作成に必要なすべての要素と、それをテストするためのアーキテクチャの例を設定します。実際のところ、全体的なアーキテクチャはプログラマティックな予算通知の設定程度のものですが、それが完全な環境でどのように機能するかを示す好例となっています。

このアーキテクチャは、プログラマティックな予算通知を処理し、Compute Engine および Cloud Run とやり取りするための作業コードとともにデプロイされます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image4_Rdyrl3X.max-600x600.png

チュートリアルと Cost Sentry スタックのデプロイは、どちらも完全に自動化された費用適用ソリューションの出発点として使用できます。これらのサンプルを使用して、予算からデータを受け取る Cloud Functions コードと、それが Google Cloud の API とやり取りしてリソースをシャットダウンする方法を確認できます。この例では、予算が設定金額を超えると、「costsentry」というラベルが付けられた Compute Engine インスタンスまたは Cloud Run デプロイがシャットダウンされるか、無効になります。

これは、自動化された費用適用ソリューションを開始するための優れたソリューションです。しかしおそらく、各自のユースケースに合わせて次のような疑問を解決することが難しい点となるでしょう。「予算に達したら、実際に何をすればよいのか?」、「これらのインスタンスをすべて自動的に停止した場合に影響は生じるのか?」(ネタバレ注意: おそらく生じるでしょう)といった質問は、費用適用ソリューションの全範囲を検討する際に把握すべき重要な事項です。

完全に自動化された費用適用ソリューションを設定すれば、予算の合計に近づくにしたがって優先度の高いメッセージを送信したり、予算を大幅に超えたときにサービスをシャットダウンして是正措置を実行したりするなど、予算の更新に対する対応を柔軟にカスタマイズできます。どのような方法でソリューションを構築する場合であっても、これは素晴らしい出発点です。

とにかく前進、実践

大変な作業のように思われるかもしれませんが、私は「crawl, walk, run(ハイハイ、歩く、走る)」という段階的アプローチをおすすめします。Google Cloud を初めてご利用になる際は、すべての費用の予算を設定するだけで開始できます。そこからプログラマティックな予算通知を操作して、予算の使用方法の幅を広げましょう。Google Cloud に慣れてきたら、費用管理をカスタマイズする必要が生じるかもしれません。そうしたら Cost Sentry から始めて、自動化された費用適用ソリューションを設定しましょう。

まずはインタラクティブなチュートリアルCost Sentry のアーキテクチャをぜひご確認ください。

- Google Cloud、デベロッパー アドボケイト Mark Mirchandani
- Google Cloud、デベロッパー アドボケイト Terrence Ryan

投稿先