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


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

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

始める前に

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

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

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

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

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

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

オペレーションの表示

プロジェクトのオペレーションの一覧を表示するには、次の手順を行います。

コンソール

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

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

  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"
}