
opswitch がGCE(Google Compute Engine)の起動停止をサポートしました
opswitch の新機能、GCE (Google Cloud Compute Engine) の「VMの起動・停止」タスクがリリースされました。
Google Cloudの機能は opswitch としても初めてです。今回は準備から実際にVMを起動・停止する方法をすべてご紹介します。
今回のゴール
自分のGoogle Cloud プロジェクトのVMインスタンスを、毎日18時に停止する処理を作ってみます。
全体の流れ
- opswitch にサインアップする
- 初期設定フローに沿って、設定を行う
- 起動 or 停止を行いたいインスタンスにラベルを付与する
- タスクを作成する
- ジョブを作成する
- 動作を確認する
opswitch にサインアップする
以下のURLから、opswitch にサインアップします。
メールアドレスとパスワードを入力し、「ユーザー登録」ボタンを押します。
確認コードが記載されたメールが届くので、確認コードを入力します。
サインアップは以上で完了です。
初期設定フローに沿って、設定を行う
サインアップが完了すると、「初期設定」画面が表示されます。
「ユーザー属性情報 登録」はご自身の情報を入力してください。
「組織作成」は、opswitch 上でメンバーやタスクなどの管理するための単位である「組織」を作成します。
作成した組織は後から名前の変更が可能です。また、追加で作成することもできます。
部署名やプロジェクト名など、ご自身の組織と一致した名称がおすすめです。
「アカウント連携作成」では、ご自身の Google Cloud プロジェクトを操作するために必要なリソースを作成します。
クラウド種別で Google Cloud を選択後、画面の案内に従って連携を行ってください。
作成時に作成されるリソース
- Workload Identity プール(opswitch-wi で始まるもの)
- Workload Identity プール プロバイダ(opswitch-wi で始まるもの)
- サービスアカウント(opswitch-wi で始まるもの)
- IAM カスタムロール
IAM カスタムロールに付与される具体的な権限は以下のユーザーガイドをご覧ください。
opswitch が連携時に作成した Google Cloud リソースと IAM カスタムロール の権限に関して
起動 or 停止を行いたいインスタンスにラベルを付与する
次に、Google Cloud コンソールに移動します。
連携したプロジェクトのVMのうち、起動・停止などの操作を行いたいインスタンスに対してラベルを付与します。
Key, Value ともに、任意の文字列を設定いただいて問題ありません。
今回は例として、Keyに opswitch-start-stop
、Valueに true
を設定してみます。
まず、対象にしたいインスタンスにチェックを入れ、「ラベル」をクリックします。
次に、サイドに表示されるメニューからラベルを設定し、「保存」をクリックします。
これでラベルの設定は完了です。
タスクを作成する
ラベルの設定が完了したら、タスクを作成します。
タスクとは、opswitch が「どの対象に」「どんな操作をするのか」を定義するものです。
opswitch の画面上部のメニューから「Google Cloud タスク > Compute Engine > VMインスタンスの起動・停止」を選択します。
画面右上にある「作成」ボタンをクリックし、タスクを作成します。
今回は、以下のように設定します。
また、以下の「該当するリソースを確認」ボタンをクリックすると、操作の対象となるリソースを確認することができます。
ジョブを作成する
次に、ジョブを作成します。
ジョブとは、「タスク」を「どんなスケジュールで実行するか」を定義するものです。
今回は、平日に毎日18時に自動でVMインスタンスが停止するようにします。
実際にジョブを動かしてみる
意図したインスタンスが停止するか動作確認をしてみます。
今回は「即時実行」の機能を使ってテストをしてみます。
作成されたジョブのメニューから「即時実行」を選択し、実行します。
「実行履歴」を確認すると、ジョブが実行中になっていることが確認できます。
数分待つと、完了状態に変化しました。
実行結果のログが表示できるので、確認してみます。
合計2つのインスタンスが停止されたようです。
これで、動作確認も完了です!
クラウドの自動操作はopswitch
opswitch はこれまでAWSのサービスの対応を進めてきましたが、Google Cloudの機能についても徐々に対応を進めています。
また、AWSの機能はどなたでも自由にご利用いただけます。EC2の起動停止や、EBSスナップショットなどを簡単にスケジュールできますので、ぜひ使ってみてください。