views4GCPのストレージサービスについてまとめてみた。GolangTweetShareHatenaGCPを運用する上で一番気になるのはやはりコストではないでしょうか。「自分は今どれくらいの額を使っているんだろう」とか「使いすぎてしまわないだろうか」と不安になる方はたくさんいると思います。GCPではプロジェクトごとに予算を設定することができます。予算を設定すると、利用料が予算額を超えた場合に通知を送ることができる機能です。通知を受け取るアプリケーションを作ることで、例えば「予算の90%を超えたらSlackに通知」したり、「予算を100%超えたら課金を無効にする」などのアクションを自動化することができるようになります。Functions(GCF)を使って「予算をオーバーしたらSlackに通知する」方法をご紹介したいと思います。Slackの指定チャンネルにメッセージを送信するGCFは月あたり最初の200万回までの呼び出しは無料。PubSubも最初の10GBは無料なので実質無料で運用できます。Consoleにログインし、ナビゲーションメニューから「Pub/Sub」を開く。「トピックを作成」ボタンをクリックする。名前を入力し「トピックを作成」ボタンをクリックする。予算を設定するナビゲーションメニューから「お支払い」を開く。(複数の請求先アカウントがある場合)「リンクされた請求先アカウントに移動」をクリックする。サイドメニューから「予算とアラート」を開く。「予算を作成」ボタンをクリックする。予算の名前を入力して対象となるプロジェクトを選択する。「次へ」ボタンをクリックする。Type」を「指定額」または「先月の利用額」のどちらかから選択する。amount」に予算額を入力する。「次へ」ボタンをクリックする。アラートのしきい値を設定する。「予算の割合」と「金額」の2種類のしきい値が設定できる。しきい値は複数設定できる。「Pub/Subトピックをこの予算に接続する」のチェックボックスをONにする。今回は先ほど作成したトピックを入力する。「終了」ボタンをクリックする。Webhookを使う方法やBotを使う方法がありますが、今回はBotを使います。「api.slack.com」にアクセスする。Apps」をクリックする。App」をクリックする。Name」にアプリ名を入力する。Workspace」でアプリをインストールするワークスペースを選択する。App」ボタンをクリックする。Permissions」に移動する。XXX(アプリ名)」を選択する。Changes」ボタンをクリックする。Workspace」ボタンをクリックする。「インストール」ボタンをクリックする。Token」をコピーする。Functions関数のコードを書いていきます。以下のサンプルコードでは、PythonのSlackクライアントを使い、指定したチャンネルにメッセージを送信します。イベントに含まれるデータ(予算額や利用額)は関数の引数から取得できます。FunctionsにデプロイするTOPIC_NAMEに先ほど作成したPub/Subトピックを入力する。providers/cloud.pubsub/eventTypes/topic.publish結果Slackに通知が届くようになりました。まとめいかがでしたでしょうか。GCPの予算機能をうまく使いこなせれば安心してGCPを使い倒すことができますね。ここで紹介した方法は一例に過ぎません。アイデア次第で様々な使い方が可能です。自分に合った使い方を探してみてください。