Compute Engine(GCE)で、VMインスタンスを自動起動・停止させる手順の覚書き。
いくつか方法がありますが、本手順ではコンソール画面からの設定を実施します。
手順
1. 権限設定
まず、Compute Engine サービス エージェントに必要な権限を付与します。
(1) Google Cloudのコンソール画面を開き、「IAMと管理」(①) > 「IAM」をクリック(②)
(2) 「IAM」の画面が開いたら、「Google権限のロール付与を含みます」にチェックを入れ(①)、フィルタに「compute-system.iam.gserviceaccount.com」と入力して検索(②)、ヒットしたプリンシパルのいちばん右隣の「プリンシパルを編集します」をクリック(③)
(3) ロールのプルダウンから、「Computeインスタンス管理者」を選択し、「保存」をクリック
VM インスタンスの起動、停止に必要な権限は以下の通り
権限 | 内容 |
---|---|
compute.instances.start | VM インスタンスの起動をスケジュール |
compute.instances.stop | VM インスタンスの停止 |
上記の権限を持つものであれば、他ロールでもかまいません
2. スケジュールの作成
続いてスケジュールの作成を行います
(1) 左メニューから、「Compute Engine」(①) > 「VMインスタンス」(②)の順でクリック
(2) 「その他の操作」(①) > 「スケジュールの作成」(②)をクリック
(3) 「新しいスケジュールの作成」が開いたら、入力欄に必要事項を入力して、「送信」(⑥)をクリック
うち、上記キャプチャの①~⑤は必須項目です
内容的には以下の通り
項目名 | 内容 | 備考 |
---|---|---|
名前 | スケジュールに名前をつけます | キャプチャの①(必須) |
説明 | スケジュールの説明を入力 | 省略可 |
リージョン | 設定予定のインスタンスの属するリージョンを選択 | キャプチャの②(必須) |
開始時間、終了時間 | 開始時間、終了時間を選択 | キャプチャの③(どちらか必須) |
タイムゾーン | タイムゾーンを選択 | キャプチャの④(必須) *印ついてないですが、必須項目です |
Initlate date、End date | スケジュールの開始日、終了日を入力します | 未設定の場合は即日適用 |
頻度 | スケジュールの頻度をプルダウンから選択 | キャプチャの⑤ (必須) |
今回は、毎日22:00にインスタンスを停止する設定にしました
(名前と整合性取れてない点はご容赦を・・)
3. VMインスタンスの接続
2で作成したスケジュールに、設定したいVMインスタンスを紐づけます
今回は既存のVMインスタンスにスケジュール設定します
(1) 「インスタンススケジュール」タブをクリックし(①)、作成したスケジュールの名前をクリックします(②)
(2) 「スケジュールにインスタンスを追加」をクリックし、右側に「スケジュールにインスタンスを追加」が出現したら、対象のインスタンスにチェックを入れ(②)、「追加」をクリック(③)
(3) 「接続されたインスタンス」に対象のインスタンスが追加されていれば完了です!
※実際に起動・停止するまでに数分のタイムラグが生じることがあります
気長に待ちましょう
終わりに
以下「参考」欄のリンク先の通りなのですが、権限設定回りで地味にハマったので、覚書きにしました