ファイル(F)
表示(V)
ヘルプ(H)
2021-01-12-GCPのインスタンスを定期的に起動停止させる小ネタ.MDX
2021/01/12[GCP] [Terraform] [Git]

GCPのインスタンスを定期的に起動/停止させる【小ネタ】

GCP関連の小ネタです。

インスタンスのうっかり停止忘れを防ぐために、定期的にインスタンスを起動/停止します。

元ネタはGCPの公式ドキュメントで公開されています。

が、手動でポチポチやるのは大変だったので、Terraform化しました。

リポジトリ

上記リポジトリを使って対応する場合の手順を紹介します。

まずは、いくつかGCPのAPIを有効化する必要があるので、コマンドを使って有効化します。

gcloud services enable cloudfunctions.googleapis.com
gcloud services enable cloudscheduler.googleapis.com

次に、先ほど紹介したリポジトリをクローンし、tfファイルを実行します。

git clone https://github.com/bassbone/gcp-scheduleinstance.git
cd gcp-scheduleinstance
terraform init
terraform plan
terraform apply

これにより、インスタンスを自動で起動/停止させられるようになりました。

自動で起動/停止したいインスタンスにラベル「key:env、value:dev」を設定します。実行のタイミングはvariables.tfのschedule_start/schedule_stopで制御できます。また、そもそも実行するかどうかはvariables.tfのinstance_start/instance_stopで制御できます。(自動で停止だけさせたい場合とか)

この対応をするにあたり、1点ハマりポイントがあります。以前紹介しました(過去記事)が、Cloud Schedulerのジョブを登録する際にGoogle App Engineのアプリを作成する必要があります。

これでインスタンスの停止忘れが防げて、無駄遣いが減らせるはず。

← 前[一覧]次 →2021/01/12[GCP, Terraform, Git]←→:前後 Esc:一覧
BASSBONE'S BLOG Ver.1.0