ワークロード ポリシーを置換、削除、消去する

このドキュメントでは、マネージド インスタンス グループ(MIG)からワークロード ポリシーを置き換え、削除、消去する方法について説明します。これらのアクションは、次のようなシナリオで役立ちます。

  • ワークロード ポリシーを置き換える: MIG 内の Compute Engine インスタンスの配置方法を変更したり、ワークロードの要件により適した別のワークロード ポリシーに切り替えたりできます。

  • ワークロード ポリシーを削除する: ワークロードで特定のプレースメント ルールが不要になった場合は、そのルールの使用を停止し、MIG をデフォルトのコンピューティング インスタンスのプレースメント動作に戻すことができます。

  • ワークロード ポリシーを削除する: 不要になったワークロード ポリシーを完全に削除できます。

ワークロード ポリシーの作成方法については、MIG 用のワークロード ポリシーを作成するをご覧ください。

制限事項

ワークロード ポリシーを MIG から置換または削除できるのは、MIG にコンピューティング インスタンスがない場合のみです。

始める前に

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

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

    gcloud

    1. Google Cloud CLI をインストールし、 フェデレーション ID を使用して gcloud CLI にログインします。ログイン後、次のコマンドを実行して Google Cloud CLI を初期化します。

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

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

      Google Cloud CLI をインストールし、 フェデレーション ID を使用して gcloud CLI にログインします。

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

必要なロール

ワークロード ポリシーの置換、削除、または消去に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1) roles/compute.instanceAdmin.v1)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、ワークロード ポリシーの置換、削除、消去に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

ワークロード ポリシーを置換、削除、または消去するには、次の権限が必要です。

  • MIG のワークロード ポリシーを置換または削除する: プロジェクトに対する compute.instances.update
  • ワークロード ポリシーを削除する: プロジェクトに対する compute.resourcePolicies.delete

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

MIG のワークロード ポリシーを置き換える

MIG のワークロード ポリシーを別の既存のワークロード ポリシーに置き換えるには、次のいずれかのオプションを選択します。

gcloud

  1. MIG のサイズを 0 に手動で設定します。

  2. MIG のワークロード ポリシーを置き換えるには、--workload-policy フラグを指定して gcloud compute instance-groups managed update コマンドを使用します。MIG のタイプに基づいて、次のいずれかのフラグを指定します。

    • ゾーン MIG のワークロード ポリシーを置き換えるには、--zone フラグを追加します。

      gcloud compute instance-groups managed update MIG_NAME \
          --workload-policy=WORKLOAD_POLICY \
          --zone=ZONE
      
    • リージョン MIG のワークロード ポリシーを置き換えるには、--region フラグを含めます。

      gcloud compute instance-groups managed update MIG_NAME \
          --workload-policy=WORKLOAD_POLICY \
          --region=REGION
      

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

    • MIG_NAME: MIG の名前。

    • WORKLOAD_POLICY: MIG に適用するワークロード ポリシーの名前。

    • ZONE: ゾーン MIG が存在するゾーン。

    • REGION: リージョン MIG とワークロード ポリシーが存在するリージョン。

REST

  1. MIG のサイズを 0 に手動で設定します。

  2. MIG のワークロード ポリシーを置き換えるには、次のいずれかのメソッドに PATCH リクエストを送信します。

    • ゾーン MIG でワークロード ポリシーを置き換えるには、compute.instanceGroupManagers.patch メソッドPATCH リクエストを送信します。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
      
      {
        "workloadPolicy": "projects/PROJECT_ID/regions/REGION/resourcePolicies/WORKLOAD_POLICY"
      }
      
    • リージョン MIG のワークロード ポリシーを置き換えるには、compute.regionInstanceGroupManagers.patch メソッドPATCH リクエストを送信します。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME
      
      {
        "workloadPolicy": "projects/PROJECT_ID/regions/REGION/resourcePolicies/WORKLOAD_POLICY"
      }
      

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

    • PROJECT_ID: MIG とワークロード ポリシーが存在するプロジェクトの ID。

    • ZONE: ゾーン MIG が存在するゾーン。

    • REGION: リージョン MIG とワークロード ポリシーが存在するリージョン。

    • MIG_NAME: MIG の名前。

    • WORKLOAD_POLICY: MIG に適用するワークロード ポリシーの名前。

MIG からワークロード ポリシーを削除する

MIG からワークロード ポリシーを削除するには、次のいずれかのオプションを選択します。

gcloud

  1. MIG のサイズを 0 に手動で設定します。

  2. MIG からワークロード ポリシーを削除するには、--remove-workload-policy フラグを指定して gcloud compute instance-groups managed update コマンドを使用します。MIG のタイプに基づいて、次のいずれかのフラグを指定します。

    • ゾーン MIG からワークロード ポリシーを削除するには、--zone フラグを指定します。

      gcloud compute instance-groups managed update MIG_NAME \
          --remove-workload-policy=WORKLOAD_POLICY \
          --zone=ZONE
      
    • リージョン MIG からワークロード ポリシーを削除するには、--region フラグを含めます。

      gcloud compute instance-groups managed update MIG_NAME \
          --remove-workload-policy=WORKLOAD_POLICY \
          --region=REGION
      

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

    • MIG_NAME: MIG の名前。

    • WORKLOAD_POLICY: MIG に適用されるワークロード ポリシーの名前。

    • ZONE: ゾーン MIG が存在するゾーン。

    • REGION: リージョン MIG が存在するリージョン。

REST

  1. MIG のサイズを 0 に手動で設定します。

  2. MIG からワークロード ポリシーを削除するには、次のいずれかのメソッドに PATCH リクエストを送信します。

    • ゾーン MIG からワークロード ポリシーを削除するには、compute.instanceGroupManagers.patch メソッドにリクエストを送信します。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
      
      {
        "workloadPolicy": ""
      }
      
    • リージョン MIG からワークロード ポリシーを削除するには、compute.regionInstanceGroupManagers.patch メソッドにリクエストを送信します。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME
      
      {
        "workloadPolicy": ""
      }
      

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

    • PROJECT_ID: MIG とワークロード ポリシーが存在するプロジェクトの ID。

    • ZONE: ゾーン MIG が存在するゾーン。

    • REGION: リージョン MIG とワークロード ポリシーが存在するリージョン。

    • MIG_NAME: MIG の名前。

ワークロード ポリシーを削除する

MIG に適用されているワークロード ポリシーは削除できません。ポリシーを削除する前に、MIG からポリシーを削除する必要があります。

ワークロード ポリシーを削除するには、次のいずれかのオプションを選択します。

gcloud

ワークロード ポリシーを削除するには、gcloud compute resource-policies delete コマンドを使用します。

gcloud compute resource-policies delete WORKLOAD_POLICY \
    --region=REGION

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

  • WORKLOAD_POLICY: 既存のワークロード ポリシーの名前。

  • REGION: ワークロード ポリシーが存在するリージョン。

REST

ワークロード ポリシーを削除するには、resourcePolicies.delete メソッドDELETE リクエストを送信します。

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

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

  • PROJECT_ID: ワークロード ポリシーが存在するプロジェクトの ID。

  • REGION: ワークロード ポリシーが存在するリージョン。

  • POLICY_NAME: 既存のワークロード ポリシーの名前。

次のステップ