Compute Engine のオペレーションを表示する


リソースを変更する Compute Engine API を呼び出すと、Compute Engine によってオペレーションのリストにエントリが追加されます。たとえば、VM の更新でデータが変更された場合や、ホストイベントが発生して VM の状態が変更された場合、オペレーションが作成されます。このページでは、Google Cloud コンソールGoogle Cloud CLI、または REST を使用して、Compute Engine オペレーションのリストを表示する方法について説明します。

オペレーションの完了には時間がかかる場合があるため、表示中に不完全なオペレーションが見つかることがあります。未完了のオペレーションの最終ステータスを確認する場合、オペレーションを繰り返し表示することはおすすめしません。オペレーションが完了するまで待つようにしてください。

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    コンソール

    Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

    gcloud

    1. Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init
    2. デフォルトのリージョンとゾーンを設定します

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init

オペレーションの保持期間

オペレーションのクエリを実行する場合、完了したオペレーションは一定期間後、自動的にデータベースから削除されます。

Compute Engine での完了したオペレーションの保持期間は最小 1 時間、最大 14 日間です。プロジェクトで完了したオペレーションの保持期間が最小の 1 時間を超えることはよくありますが、1 時間以上保持されることを前提とするのは推奨されません。

保持期間は、ユーザーが Operations.delete メソッドを使用して削除したオペレーションには適用されません。

オペレーションの表示

プロジェクトのオペレーションの一覧を表示するには、次の手順に沿って操作します。

コンソール

  1. Google Cloud コンソールの [オペレーション] ページに移動します。

    [オペレーション] に移動

  2. オペレーションの詳細については、[オペレーションの概要] をクリックしてください。たとえば、my-instance VM の移行の詳細を表示するには、[インスタンスの自動移行] オペレーションをクリックします。

ライブ マイグレーションがあるオペレーション ページ。 ライブ マイグレーションの詳細。

gcloud

gcloud compute を使用してプロジェクトのオペレーションの一覧を表示するには、operations list サブコマンドを使用します。

指定したゾーン内のオペレーションの一覧を表示するには、--filter フラグを追加します。

gcloud compute operations list --filter="zone:(ZONE)"

ZONE は、オペレーションの一覧を表示するゾーンに置き換えます。たとえば、us-cental1-c でのオペレーションの一覧を表示するには、次のコマンドを実行します。

gcloud compute operations list --filter="zone:(us-central1-c)"

出力は次のようになります。

NAME                            TYPE                                        TARGET                                HTTP_STATUS  STATUS  TIMESTAMP
systemevent-1543845145000...    compute.instances.migrateOnHostMaintenance  us-central1-c/instances/my-instance   200          DONE    2018-12-03T05:52:25.000-08:00

REST

オペレーションに対する API リクエストは、グローバルリージョンゾーンのいずれかのレベルで指定する必要があります。ライブ マイグレーション、VM の停止、自動再起動はすべてゾーンレベルのオペレーションです。

ゾーン オペレーションの場合は、zoneOperations.list メソッドに GET リクエストを発行します。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations

以下のように置き換えます。

  • PROJECT_ID: このリクエストのプロジェクト ID
  • ZONE: このリクエストのゾーン

リクエスト本文は空のままにします。

以下はゾーン オペレーション リクエストの出力例です。この出力では、ホストの移行に関する詳細が表示されています。

{
 "kind": "compute#operation",
 "id": "3216798767364213712",
 "name": "systemevent-1543845145000-57c1e7574b840-a195b637-5ff74d9b",
 "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c",
 "operationType": "compute.instances.migrateOnHostMaintenance",
 "targetLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/instances/my-instance",
 "targetId": "3070988523247098025",
 "status": "DONE",
 "statusMessage": "Instance migrated during Compute Engine maintenance.",
 "user": "system",
 "progress": 100,
 "insertTime": "2018-12-03T05:52:25.000-08:00",
 "startTime": "2018-12-03T05:52:25.000-08:00",
 "endTime": "2018-12-03T05:52:25.000-08:00",
 "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/operations/systemevent-1543845145000-57c1e7574b840-a195b637-5ff74d9b"
}