0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GCEインスタンスの起動停止を良きように自動化

Last updated at Posted at 2023-07-03

はじめに

GoogleCloudの環境で、踏み台のためにスペック小さく作っていたのですが、ちょっとコストが気になってきました。
平日にのみ必要なものなので、休日は止めておき平日必要になる前に起動すればよいものです。
もちろんこれを手動でやるのは嫌なので、コストをかけずに自動化しようと思います。

結論

詳細

インスタンススケジュール

まさに今回やりたいことにそのまま合致する機能です。

インスタンス スケジュールを使用するには、起動と停止の動作の詳細を指定したリソース ポリシーを作成し、ポリシーを 1 つ以上の VM インスタンスに接続します。

この機能が出る前であれば、Cloud Schedulerなど別サービスと組み合わせたり、このVMを起動・停止するための別のサービスが必要でしたが、インスタンススケジュールがあればここだけで完結します。

設定

今回は、①土曜日にVM停止②月曜8:00に起動(いずれも日本時間)で設定していきます。

事前準備

対象となるVMは事前に用意しておいてください。VM自体に特別な設定は不要です

手順(画面から実施します)

  1. あらかじめ必要な権限を設定しておきます。
    権限を付与するサービスアカウントは、デフォルトで用意されたservice-${プロジェクト番号}@compute-system.iam.gserviceaccount.comです。
    権限としては、VMの起動、停止が出来る必要があります。最小限であればそのためのカスタムロールを作っても良いかもしれませんが、ここでは公式ドキュメント記載の通り「 Compute インスタンス管理者(v1)(roles/compute.instanceAdmin.v1)」を付与しておきます。

  2. VMインスタンスの画面にて「インスタンス スケジュール」タブがあります。
    image.png
    ここから[インスタンス スケジュールの作成]に進みます。

  3. 各項目を埋めていきます
    image.png

繰り返しについては、日、週、月を選ぶことができ、週の場合は曜日を、月の場合は日付を選択します。
image.png

image.png

基本の設定方法は、時刻と頻度(毎日 or 曜日指定)です。
この場合、指定された曜日で起動と停止をすることになります。

今回のように①土曜日に停止②月曜日に起動にしたい場合は、特定の曜日に起動&停止のセットをやりたいわけではないので、「CRON式を使用」をONにして設定します
image.png
必要な設定が出来たら[送信]します。
4. インスタンス スケジュールを既存の VM インスタンスに接続する
画面から作成したインスタンススケジュールを選択し、紐づけるインスタンスを選びます。
image.png

権限付与が出来ていないと以下のようなエラーが出力されるので、権限設定を確認しましょう。
405a8e65-1685-44ff-620c-f5b77a01a8a6.png
エラーなく作成出来たら完了です

動作確認

土曜日の停止、月曜日の起動を待っての確認です。
ログを見ると、土曜00:12頃に停止し、月曜08:12頃に起動したことが見て取れます。
(最大15分のラグがあるとのことです。)
image.png

これで期待通り、任意のタイミングでのVM自動停止、自動起動が出来るようになりました。

注意事項

各 VM インスタンスに接続できるのは 1 つのインスタンス スケジュールのみ

複数ポリシーの適用はサポートされていません。
image.png
複雑な起動・停止ルールを組むとしたらこの機能ではなく、Cloud Scheduler + Cloudd Functionsなどを検討すると良いでしょう。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?