opswitch がGCE(Google Compute Engine)の起動停止をサポートしました

opswitch がGCE(Google Compute Engine)の起動停止をサポートしました

Clock Icon2025.03.31

opswitch の新機能、GCE (Google Cloud Compute Engine) の「VMの起動・停止」タスクがリリースされました。
Google Cloudの機能は opswitch としても初めてです。今回は準備から実際にVMを起動・停止する方法をすべてご紹介します。

今回のゴール

自分のGoogle Cloud プロジェクトのVMインスタンスを、毎日18時に停止する処理を作ってみます。

全体の流れ

  1. opswitch にサインアップする
  2. 初期設定フローに沿って、設定を行う
  3. 起動 or 停止を行いたいインスタンスにラベルを付与する
  4. タスクを作成する
  5. ジョブを作成する
  6. 動作を確認する

opswitch にサインアップする

以下のURLから、opswitch にサインアップします。

ユーザー登録 | opswitch

メールアドレスとパスワードを入力し、「ユーザー登録」ボタンを押します。

アカウント作成_登録

確認コードが記載されたメールが届くので、確認コードを入力します。

アカウント作成_メール

アカウント作成_確認コード

サインアップは以上で完了です。

初期設定フローに沿って、設定を行う

サインアップが完了すると、「初期設定」画面が表示されます。
「ユーザー属性情報 登録」はご自身の情報を入力してください。

Screenshot 2025-03-27 at 16-43-42 初期設定 opswitch

「組織作成」は、opswitch 上でメンバーやタスクなどの管理するための単位である「組織」を作成します。
作成した組織は後から名前の変更が可能です。また、追加で作成することもできます。
部署名やプロジェクト名など、ご自身の組織と一致した名称がおすすめです。

Screenshot 2025-03-31 at 18-51-40 初期設定 opswitch

「アカウント連携作成」では、ご自身の Google Cloud プロジェクトを操作するために必要なリソースを作成します。
クラウド種別で Google Cloud を選択後、画面の案内に従って連携を行ってください。

Screenshot 2025-03-31 at 18-55-42 初期設定 opswitch

作成時に作成されるリソース
  • 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 を設定してみます。

まず、対象にしたいインスタンスにチェックを入れ、「ラベル」をクリックします。

Screenshot 2025-03-31 at 20-32-28 VM インスタンス – Compute Engine – sato tatsuki – Google Cloud コンソール

次に、サイドに表示されるメニューからラベルを設定し、「保存」をクリックします。

Screenshot 2025-03-31 at 20-30-54 VM インスタンス – Compute Engine – sato tatsuki – Google Cloud コンソール

これでラベルの設定は完了です。

タスクを作成する

ラベルの設定が完了したら、タスクを作成します。
タスクとは、opswitch が「どの対象に」「どんな操作をするのか」を定義するものです。
opswitch の画面上部のメニューから「Google Cloud タスク > Compute Engine > VMインスタンスの起動・停止」を選択します。

画面右上にある「作成」ボタンをクリックし、タスクを作成します。
今回は、以下のように設定します。

Screenshot 2025-03-31 at 20-47-08 VMインスタンスの起動・停止(新規) opswitch

また、以下の「該当するリソースを確認」ボタンをクリックすると、操作の対象となるリソースを確認することができます。

スクリーンショット 2025-03-31 20.48.35

Screenshot 2025-03-31 at 20-49-23 VMインスタンスの起動・停止(新規) opswitch

ジョブを作成する

次に、ジョブを作成します。
ジョブとは、「タスク」を「どんなスケジュールで実行するか」を定義するものです。

今回は、平日に毎日18時に自動でVMインスタンスが停止するようにします。

Screenshot 2025-03-31 at 21-02-39 ジョブ作成 opswitch

実際にジョブを動かしてみる

意図したインスタンスが停止するか動作確認をしてみます。
今回は「即時実行」の機能を使ってテストをしてみます。
作成されたジョブのメニューから「即時実行」を選択し、実行します。

スクリーンショット 2025-03-31 21.04.14

「実行履歴」を確認すると、ジョブが実行中になっていることが確認できます。

Screenshot 2025-03-31 at 21-07-29 実行履歴一覧 opswitch

数分待つと、完了状態に変化しました。

Screenshot 2025-03-31 at 21-10-46 実行履歴一覧 opswitch

実行結果のログが表示できるので、確認してみます。

Screenshot 2025-03-31 at 21-11-08 実行ログ opswitch

合計2つのインスタンスが停止されたようです。

これで、動作確認も完了です!

クラウドの自動操作はopswitch

opswitch はこれまでAWSのサービスの対応を進めてきましたが、Google Cloudの機能についても徐々に対応を進めています。
また、AWSの機能はどなたでも自由にご利用いただけます。EC2の起動停止や、EBSスナップショットなどを簡単にスケジュールできますので、ぜひ使ってみてください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.