プレースメント ポリシーを表示する


このドキュメントでは、プレースメント ポリシーを表示する方法について説明します。具体的には、特定のプロジェクトで使用可能なプレースメント ポリシーを表示する方法、またはこれらのポリシーの一つの構成の詳細を表示する方法について説明します。

始める前に

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

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

    gcloud

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

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

    REST

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

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

      gcloud init

必要なロール

プレースメント ポリシーの表示または削除に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)roles/compute.instanceAdmin.v1)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与の詳細については、アクセス権の管理をご覧ください。

この事前定義ロールには、プレースメント ポリシーの表示または削除に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

プレースメント ポリシーを表示または削除するには、次の権限が必要です。

  • プレースメント ポリシーのリストを表示するには: プロジェクトに対する compute.resourcePolicies.list 権限
  • プレースメント ポリシーの詳細を表示するには: プロジェクトに対する compute.resourcePolicies.get 権限

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

プレースメント ポリシーを表示する

指定したプロジェクトで利用可能なプレースメント ポリシーを表示するには、次のいずれかの方法を選択します。

プレースメント ポリシーのリストを表示する

gcloud CLI と REST を使用して、指定したプロジェクト内のすべてのプレースメント ポリシーのリストを表示できます。

gcloud

プレースメント ポリシーのリストを表示するには、gcloud compute resource-policies list コマンドを使用し、--filter フラグを groupPlacementPolicy:* に設定します。

gcloud compute resource-policies list \
    --filter="groupPlacementPolicy:*"

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

NAME: policy-1
DESCRIPTION:
REGION: https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1
CREATION_TIMESTAMP: 2023-07-15T02:10:51.958-08:00

NAME: policy-2
DESCRIPTION:
REGION: https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1
CREATION_TIMESTAMP: 2023-07-15T02:11:16.826-08:00

フィルタ式を使用して Compute Engine リソースのリストを絞り込む方法については、gcloud topic filters コマンドをご覧ください。

REST

特定のリージョンに配置されているプレースメント ポリシーのリストを表示するには、resourcePolicies.list メソッドGET リクエストを行います。リクエスト URL に filter クエリ パラメータを含め、groupPlacementPolicy%3A* に設定します。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies?filter=groupPlacementPolicy%3A*

次のように置き換えます。

  • PROJECT_ID: プレースメント ポリシーのリストを表示するプロジェクトの ID。

  • REGION: 1 つ以上のプレースメント ポリシーが配置されているリージョン。

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

{
  "kind": "compute#resourcePolicyList",
  "id": "projects/example-project/regions/us-central1/resourcePolicies",
  "items": [
    {
      "kind": "compute#resourcePolicy",
      "id": "637231102400797797",
      "creationTimestamp": "2023-07-28T04:12:11.072-07:00",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/policy-1",
      "region": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1",
      "name": "policy-1",
      "groupPlacementPolicy": {
        "collocation": "COLLOCATED"
      },
      "status": "READY"
    },
    {
      "kind": "compute#resourcePolicy",
      "id": "1228789480840827204",
      "creationTimestamp": "2023-07-15T02:10:51.958-08:00",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/policy-2",
      "region": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1",
      "name": "policy-2",
      "groupPlacementPolicy": {
        "availabilityDomainCount": 2
      },
      "status": "READY"
    }
  ],
  "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/resourcePolicies",
  "etag": "-L7XCupTQ5V9__TOJ8G5RDcR2cY=/g_xt0udkOM_tU7jSL0z9I2Sivis="
}

URL エンコードを使用しているリソース ポリシーのリストを絞り込むフィルタ式を使用する方法については、filterクエリ パラメータをご覧ください。

プレースメント ポリシーの詳細を表示する

gcloud CLI と REST を使用して、指定したプロジェクトのプレースメント ポリシーの詳細を表示できます。

gcloud

プレースメント ポリシーの詳細を表示するには、gcloud compute resource-policies describe コマンドを使用します。

gcloud compute resource-policies describe POLICY_NAME \
    --region=REGION

次のように置き換えます。

  • POLICY_NAME: 既存のプレースメント ポリシーの名前。

  • REGION: プレースメント ポリシーが存在するリージョン。

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

creationTimestamp: '2023-07-15T02:10:51.958-08:00'
groupPlacementPolicy:
  availabilityDomainCount: 2
id: '1228789480840827204'
kind: compute#resourcePolicy
name: pp2
region: https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/example-policy
status: READY

REST

プレースメント ポリシーの詳細を表示するには、resourcePolicies.get メソッドGET リクエストを行います。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME

次のように置き換えます。

  • PROJECT_ID: 詳細を表示するプレースメント ポリシーがあるプロジェクトの ID。

  • REGION: プレースメント ポリシーが配置されているリージョン。

  • POLICY_NAME: 既存のプレースメント ポリシーの名前。

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

{
  "kind": "compute#resourcePolicy",
  "id": "637231102400797797",
  "creationTimestamp": "2023-07-28T04:12:11.072-07:00",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/example-policy",
  "region": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1",
  "name": "policy-1",
  "groupPlacementPolicy": {
      "availabilityDomainCount": 2
  },
  "status": "READY"
}

次のステップ