Compute Engine: マシンイメージを作成

概要

「Compute Engine: マシンイメージを作成」アクションでは、Google CloudのVMインスタンスから、マシンイメージを作成することができます。

マシンイメージは、VMインスタンスのディスクイメージと起動に必要な情報が含まれており、お客様のVMインスタンスのバックアップとすることができます。マシンイメージを作成する対象のVMインスタンスは、インスタンスIDまたは特定のラベルを指定することができます。

設定前にご確認ください

本アクションを利用するためには、アクションに設定したGoogle Cloudアカウントに対してCompute Engine APIが有効になっている必要があります。

設定時のオプション

No. オプション 説明
1 プロジェクト

マシンイメージを取得する対象のVMインスタンスが存在するプロジェクトを指定します

2 リージョン

マシンイメージを取得する対象のVMインスタンスが存在するリージョンを指定します

3 VMインスタンス
 

マシンイメージを取得する対象のVMインスタンスをインスタンスIDで指定します

一覧に「Can't find any vm instances in this region, project, or google cloud account.」と表示される場合には、Google Cloudアカウントやリージョンやプロジェクトの選択が正しいかどうかご確認ください
特定のラベルが付いたVMインスタンス マシンイメージを取得する対象のVMインスタンスをラベルで指定します
4 ロケーション

マシンイメージを作成するロケーションを選択します。asiaやasia-northeast1等から選択します

5 作成する世代数

作成したマシンイメージを世代管理する場合の世代数を選択します

  • 世代管理が可能なマシンイメージの最大世代数は100です
  • 例えば Cloud Automator によって作成されたマシンイメージが既に5個存在する状態で「作成する世代数」オプションが5だった場合に「Compute Engine: マシンイメージを作成」アクションがさらに実行された場合、一番古いマシンイメージが削除されて新しいマシンイメージが作成されます
  • 「世代管理しない」を選択した場合
    •  マシンイメージの削除は行われません
6 名前

マシンイメージの名前を入力します

  • 1〜42文字。使用可能な文字はGoogle Cloudの仕様に準ずる、名前の先頭は英小文字にしてください
7 説明

マシンイメージの説明に付与されるテキストを入力します

  • 1,000文字まで。使用可能な文字はGoogle Cloudの仕様に準ずる
  • 説明には以下のキーワードを含めることができます
    • %Y
      • 四桁の西暦 (例:2022)
    • %m
      • 月(01〜12)
    • %d
      • 日(01〜31)
    • %H
      • 時(00〜23)
    • %M
      • 分(00〜59)
    • %S
      • 秒(00〜60)
    • %%
      • 「%」文字をエスケープする場合
    • %Y%m%d%H%M と指定した場合、202209231100のように置き換わります
    • 説明にキーワードを使用した場合、取得されたマシンイメージの説明に保存される時間のタイムゾーンはUTCとなります

設定例

Cloud Automator で「Compute Engine: マシンイメージを作成」アクションを使ったジョブを作成します。

  1. Cloud Automatorの運用ジョブ画面から「ジョブの追加」ボタンをクリックします
  2. グループ選択で、ジョブを追加するグループを選択します
  3. トリガーの選択で、任意のトリガーを選択します
  4. アクションの選択で「Google Cloud」→「Compute Engine: マシンイメージを作成」アクションを選択します
  5. Google Cloudアカウントの選択で、任意のGoogle Cloudアカウントを選択します
  6. アクションのパラメーターを設定します

    No. オプション 設定値の例
    1 プロジェクト 任意のプロジェクト
    2 リージョン asia-northeast1(東京)
    3 特定タグが付いたVMインスタンス key: environment
    value: production
    4 ロケーション マルチリージョン・asia
    5 作成する世代数 世代管理しない
    6 名前 backup
    7 説明 %Y%m%d%H%M
    machine_image1.png
  7. 成功時、失敗時の後処理を設定します
  8. ジョブ名を入力し、「作成する」をクリックします

動作確認

  1. 作成したジョブのログボタンをクリックします
  2. 実行ログ一覧から該当の実行ログの詳細をクリックします
  3. ログの詳細にて結果を確認します
    「成功」となっていれば該当のジョブが実行されて成功していることが確認できます。
    「実行中」となっている場合はジョブの実行中なのでしばらく経ってから確認してください。
  4. それぞれのリソースの操作結果は「詳細表示」をクリックすることで確認することができます


以上で「Compute Engine: マシンイメージを作成」アクションを使ったジョブの動作確認が出来ました。是非ご活用ください。

注意事項

  • 本アクションでは、顧客指定の暗号鍵(CSEK)で暗号化されたVMインスタンスからマシンイメージを作成できません。

ログのステータス条件

ジョブの実行結果 条件
成功 Compute Engine machineImages.insert API の実行が完了し、作成したマシンイメージのステータスがREADYとなった場合に成功となります。
失敗 以下の場合に失敗となります。
  • ジョブで指定されたVMインスタンスが存在しない場合
  • ジョブで指定されたVMインスタンスの状態がRUNNING, STAGING, STOPPING, SUSPENDING, SUSPENDED, TERMINATED以外の状態であった場合
  • ジョブで指定されたVMインスタンスが24を超える場合
  • Compute Engine machineImages.insert APIの実行に失敗した場合
  • 作成されたマシンイメージの状態がINVALIDになった場合

 

リソース操作履歴のステータス条件

リソース操作結果 条件
Completed Compute Engine machineImages.insert API の実行が完了し、マシンイメージの状態がREADYになるのを確認できた場合にCompletedとなります。
Failed 以下の場合にFailedとなります。
  • Compute Engine machineImages.insert API の実行に失敗した場合
  • ジョブで指定されたVMインスタンスの状態がRUNNING, STAGING, STOPPING, SUSPENDING, SUSPENDED, TERMINATED以外の状態であった場合

 

マシンイメージ名に付与される文字列について

マシンイメージ名とは、以下の2項目をハイフン("-")で結合したものです。
例: prod-web-server-dnssarr8lp7b60djl86l

No. 説明
1 Cloud Automatorで入力したマシンイメージのベースネーム(42文字以内) prod-web-server
2 Cloud Automatorが生成したユニークな文字列(20文字) dnssarr8lp7b60djl86l

マシンイメージの説明に付与される文字列について

マシンイメージの説明は、以下の4項目を半角スペースで結合したものです。

No. 説明 値の例
1 Cloud Automatorで入力したマシンイメージの説明(1000文字以内) 検証用サーバー
2 VMインスタンスのID 対象のVMインスタンスのID
3 Cloud AutomatorのジョブID Cloud Automatorで実行されるジョブID
4 世代番号(世代管理有効時) Cloud Automatorで管理されるマシンイメージの世代管理番号
タイムスタンプ(世代管理無効時) 作成日時(UTC)

このアクションで利用されるGoogle Cloud API

当アクションの実行には以下のGoogle Cloud APIを利用しています。

このアクションの実行に必要なIAM権限

当アクションの実行には以下のIAM権限が必要です。

  • compute.disks.createSnapshot
  • compute.globalOperations.list
  • compute.instances.list
  • compute.instances.useReadOnly
  • compute.machineImages.create
  • compute.machineImages.delete
  • compute.machineImages.list
  • resourcemanager.projects.get
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください