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

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

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

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

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

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

制限事項

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

始める前に

必要なロール

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

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

必要な権限

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

  • MIG からワークロード ポリシーを置き換えるか削除するには: compute.instances.update on the project
  • ワークロード ポリシーを削除するには: compute.resourcePolicies.delete on the project

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

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

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

gcloud

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

  2. MIG のワークロード ポリシーを置き換えるには、 gcloud compute instance-groups managed update コマンド--workload-policy フラグを使用します。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 のワークロード ポリシーを置き換えるには、PATCH request to the compute.instanceGroupManagers.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 のワークロード ポリシーを置き換えるには、PATCH request to the compute.regionInstanceGroupManagers.patch method を作成します。

      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 からワークロード ポリシーを削除するには、 gcloud compute instance-groups managed update コマンド--remove-workload-policy フラグとともに使用します。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 からワークロード ポリシーを削除するには、 the 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

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

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

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

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

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

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

次のステップ