Platzierungsrichtlinien ersetzen, entfernen oder löschen


In diesem Dokument wird beschrieben, wie Platzierungsrichtlinien ersetzt, entfernt oder gelöscht werden.

Das Ersetzen, Entfernen oder Löschen von Platzierungsrichtlinien ist in den folgenden Fällen nützlich:

  • Ersetzen einer Platzierungsrichtlinie in einer VM-Instanz, um die VM in eine andere Position relativ zu anderen VMs zu verschieben.

  • Entfernen Sie eine Platzierungsrichtlinie von einer VM, wenn Sie nicht mehr an ihrer Position im Verhältnis zu anderen VMs interessiert sind.

  • Löschen Sie eine Platzierungsrichtlinie, wenn Sie sie nicht mehr benötigen.

Hinweise

  • Überprüfen Sie die Einschränkungen für Platzierungsrichtlinien.
  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.

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

    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

      Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

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

        gcloud init

      Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen für das Projekt die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ersetzen, Entfernen oder Löschen von Platzierungsrichtlinien benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Ersetzen, Entfernen oder Löschen von Platzierungsrichtlinien erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Ersetzen, Entfernen oder Löschen von Platzierungsrichtlinien erforderlich:

  • So ersetzen oder entfernen Sie eine Platzierungsrichtlinie von einer VM: compute.instances.update on the project
  • So löschen Sie eine Platzierungsrichtlinie: compute.resourcePolicies.delete on the project

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Platzierungsrichtlinie in einer VM ersetzen

Bevor Sie eine Richtlinie für verteilte Platzierung in einer VM durch eine kompakte Platzierung ersetzen, muss die VM einen unterstützten Maschinentyp und Hostwartungsrichtlinie verwenden. Wenn Sie die VM aktualisieren müssen, bevor Sie die Platzierungsrichtlinie ersetzen, führen Sie einen oder beide der folgenden Schritte aus:

Nachdem Sie die Platzierungsrichtlinie in einer VM ersetzt haben, müssen Sie die VM neu starten, damit die neu angewendete Platzierungsrichtlinie wirksam wird.

Wählen Sie eine der folgenden Optionen aus, um eine Platzierungsrichtlinie in einer VM zu ersetzen:

gcloud

  1. Erstellen Sie eine leere YAML-Datei.

  2. Verwenden Sie den Befehl gcloud compute instances export, um die Eigenschaften einer VM in die gerade erstellte YAML-Datei zu exportieren.

    gcloud compute instances export VM_NAME \
        --destination=FILE_PATH \
        --zone=ZONE
    

    Ersetzen Sie Folgendes:

    • VM_NAME: Der Name einer vorhandenen VM, die eine Platzierungsrichtlinie angibt.

    • FILE_PATH: der Pfad zur YAML-Datei, die Sie im vorherigen Schritt erstellt haben.

    • ZONE ist die Zone, in der sich die VM befindet.

  3. Bearbeiten Sie in der YAML-Konfigurationsdatei den Wert des Felds resourcePolicies, um eine andere Placement-Richtlinie anzugeben.

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

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, in dem sich die Platzierungsrichtlinie befindet. Sie können nur eine Platzierungsrichtlinie angeben, die sich im selben Projekt wie die VM befindet.

    • REGION: die Region, in der sich die Platzierungsrichtlinie befindet.

    • POLICY_NAME: der Name der Platzierungsrichtlinie.

  4. Verwenden Sie den Befehl gcloud compute instances update-from-file mit dem Flag --most-disruptive-allowed-action = RESTART, um die VM zu aktualisieren und neu zu starten.

    gcloud compute instances update-from-file VM_NAME \
        --most-disruptive-allowed-action=RESTART \
        --source=YAML_FILE \
        --zone=ZONE
    

    Ersetzen Sie dabei Folgendes:

    • VM_NAME: der Name der VM.

    • YAML_FILE: Pfad zur YAML-Datei mit den Konfigurationsdaten, die Sie im vorherigen Schritt geändert haben.

    • ZONE ist die Zone, in der sich die VM befindet.

REST

  1. Erstellen Sie eine leere JSON-Datei.

  2. Wenn Sie die Eigenschaften einer vorhandenen VM aufrufen möchten, senden Sie eine GET-Anfrage an die Methode instances.get.

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

    Ersetzen Sie dabei Folgendes:

    • PROJECT_ID: die Projekt-ID des Projekts, in dem sich die VM befindet.

    • ZONE ist die Zone, in der sich die VM befindet.

    • VM_NAME: Der Name einer vorhandenen VM, die eine Platzierungsrichtlinie angibt.

  3. Gehen Sie in der leeren JSON-Datei, die Sie in den vorherigen Schritten erstellt haben, so vor:

    1. Geben Sie die VM-Eigenschaften aus der GET-Anfrageausgabe ein.

    2. Suchen Sie das Feld resourcePolicies und bearbeiten Sie den Wert, um eine andere Placement-Richtlinie anzugeben.

      "resourcePolicies": [
        "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ]
      

      Ersetzen Sie Folgendes:

      • PROJECT_ID: die ID des Projekts, in dem sich die Platzierungsrichtlinie befindet. Sie können nur eine Platzierungsrichtlinie angeben, die sich im selben Projekt wie die VM befindet.

      • REGION: die Region, in der sich die Platzierungsrichtlinie befindet.

      • POLICY_NAME: Der Name der Platzierungsrichtlinie.

  4. Wenn Sie die VM aktualisieren und neu starten möchten, senden Sie eine PUT-Anfrage an die Methode instances.update. Gehen Sie in der Anfrage so vor:

    • Fügen Sie in der Anfrage-URL den Abfrageparameter most_disruptive_allowed_action mit dem Wert RESTART ein.

    • Verwenden Sie für den Anfragetext die VM-Konfigurationsdetails aus der JSON-Datei, die Sie in den vorherigen Schritten erstellt und aktualisiert haben.

    PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART
    
    {
      ...
      "resourcePolicies": [
        "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ],
      ...
    }
    

Weitere Informationen zum Aktualisieren der Eigenschaften einer VM finden Sie unter VM-Eigenschaften aktualisieren.

Platzierungsrichtlinie von einer VM entfernen

Wenn Sie eine Richtlinie für gestreute Platzierung mit zwei oder mehr Verfügbarkeitsdomains von einer VM entfernen möchten, können Sie die VM einfach beenden. Wenn Sie eine Richtlinie für kompakte Platzierung oder eine Richtlinie für gestreute Platzierung mit nur einer Verfügbarkeitsdomain entfernen möchten, müssen Sie zuerst die VM beenden, bevor Sie die mit ihr verbundene Platzierungsrichtlinie entfernen.

Das Entfernen einer Platzierungsrichtlinie von einer VM wirkt sich nicht auf ihren physischen Standort aus. Wenn für die VM jedoch eine Live-Migration ausgeführt wird, kann Compute Engine die VM an einen anderen physischen Standort verschieben.

Wählen Sie eine der folgenden Optionen aus, um eine Platzierungsrichtlinie von einer VM zu entfernen:

gcloud

Verwenden Sie zum Entfernen einer Platzierungsrichtlinie von einer VM den Befehl gcloud compute instances remove-resource-policies.

gcloud compute instances remove-resource-policies VM_NAME \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • VM_NAME: Der Name einer vorhandenen VM, die eine Platzierungsrichtlinie angibt.

  • POLICY_NAME: Der Name der Platzierungsrichtlinie, die auf die VM angewendet wird. Prüfen Sie die Details der VM und prüfen Sie den Wert des Felds resourcePolicies, um den Namen der Platzierungsrichtlinie zu bestätigen.

  • ZONE ist die Zone, in der sich die VM befindet.

REST

Senden Sie zum Entfernen einer Platzierungsrichtlinie von einer VM eine POST-Anfrage an die Methode instances.removeResourcePolicies.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/removeResourcePolicies

{
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ]
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die Projekt-ID des Projekts, in dem sich die VM befindet.

  • ZONE: die Zone, in der sich die VM befindet.

  • VM_NAME: Der Name einer vorhandenen VM, die eine Platzierungsrichtlinie angibt.

  • REGION: die Region, in der sich die Platzierungsrichtlinie befindet.

  • POLICY_NAME: Der Name der Platzierungsrichtlinie, die auf die VM angewendet wird. Um den Namen der Platzierungsrichtlinie zu überprüfen, sehen Sie die Details der VM an und prüfen Sie den Wert im Feld resourcePolicies.

Platzierungsrichtlinie löschen

Sie können eine Platzierungsrichtlinie nur löschen, wenn sie auf keine Compute Engine-Ressourcen angewendet wird. Andernfalls schlägt das Löschen der Platzierungsrichtlinie fehl. Wenn Sie eine Platzierungsrichtlinie löschen möchten, die auf eine oder mehrere Compute Engine-Ressourcen angewendet wird, führen Sie einen der folgenden Schritte aus:

Wählen Sie eine der folgenden Optionen aus, um eine Platzierungsrichtlinie zu löschen:

gcloud

Verwenden Sie zum Löschen einer Platzierungsrichtlinie den Befehl gcloud compute resource-policies delete.

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

Ersetzen Sie Folgendes:

  • POLICY_NAME: der Name einer vorhandenen Platzierungsrichtlinie.

  • REGION: die Region, in der sich die Platzierungsrichtlinie befindet.

REST

Senden Sie zum Löschen einer Platzierungsrichtlinie eine DELETE-Anfrage an die Methode resourcePolicies.delete.

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem sich die Platzierungsrichtlinie befindet.

  • REGION: die Region, in der sich die Platzierungsrichtlinie befindet.

  • POLICY_NAME: der Name einer vorhandenen Platzierungsrichtlinie.

Nächste Schritte