GCP Compute EngineをZABBIXで起動

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。ヒラヤマンです。

みなさんCompute Engine使う際に、プリエンプティブをオンにしてますか?

プリエンプティブをオンにすると料金が格段に安くなります。(n1-standard-1であれば、$0.0663/hが$0.001325/hになるので80%OFF

ただし24時間以内にシャットダウンされるので、落ちたら自動起動するようにしておきたいと思うはずです。

今回はZABBIXで監視して、ダウンしたらZABBIXからGCPのAPIを叩いて、該当インスタンスを起動させる仕組みをテストしました。

ZABBIXサーバは構築されているとして、その後の手順です。

まずは、GCPのAPIを叩く準備として、サービスアカウントを作成

 

 

サービスアカウント名を適切に。役割はComputeインスタンス管理者とします。

新しい秘密鍵をJSONで取得します。取得した鍵は、ZABBIXサーバ側に転送してください。(例:/usr/share/zabbixに保存)

ここまでできたら後は簡単です。

ZABBIXサーバのアクションに次のようなスクリプトを実行させるように登録して終わり!

第1引数は、サービスアカウントIDです。第2引数はプロジェクトIDです。第3引数はインスタンス名です。

ZABBIXの実行ユーザーでスクリプトが実行できるように権限を付けてください。

ZABBIXのアクション設定はこんな感じです。

ZABBIXが監視を続けている限り、インスタンスは落ちてもすぐに起動してきます。

80%OFFで利用できるインスタンスを活用しない手はないですね!では、また次回。

投稿者プロフィール

スカイブロガー

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.