Platzierungsrichtlinien ersetzen, entfernen oder löschen


In diesem Dokument wird beschrieben, wie Sie Platzierungsrichtlinien ersetzen, entfernen oder löschen.

Das Ersetzen, Entfernen oder Löschen von Platzierungsrichtlinien ist in folgenden Fällen sinnvoll:

  • Ersetzen Sie eine Platzierungsrichtlinie in einer VM-Instanz, um die VM an eine andere Position im Vergleich 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 bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:

    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 erforderlich, um Platzierungsrichtlinien zu ersetzen, zu entfernen oder zu löschen:

  • 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 ein, wobei dieser auf RESTART gesetzt ist.

    • 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 dies tun, ohne die VM zu 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 hat keine Auswirkungen auf ihren physischen Standort. Wenn die VM jedoch gerade migriert wird, kann die Compute Engine sie an einen anderen physischen Speicherort verschieben.

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

gcloud

Verwenden Sie den Befehl gcloud compute instances remove-resource-policies, um eine Platzierungsrichtlinie von einer VM zu entfernen.

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. Um den Namen der Platzierungsrichtlinie zu überprüfen, sehen Sie die Details der VM an und prüfen Sie den Wert im Feld resourcePolicies.

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

REST

Wenn Sie eine Platzierungsrichtlinie von einer VM entfernen möchten, senden Sie 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 ist 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, haben Sie folgende Möglichkeiten:

  • Wenn die Richtlinie nur auf VMs angewendet wird und Sie die VMs behalten möchten, gehen Sie so vor:

    1. Entfernen Sie die Platzierungsrichtlinie von den VMs, wie in diesem Dokument beschrieben.

    2. Löschen Sie die Platzierungsrichtlinie, wie in diesem Abschnitt beschrieben.

  • Gehen Sie andernfalls so vor:

    1. Optional: Entfernen Sie die Platzierungsrichtlinie von jeder VM, die Sie behalten möchten, wie in diesem Dokument beschrieben.

    2. Löschen Sie alle anderen Compute Engine-Ressourcen, auf die die Platzierungsrichtlinie angewendet wird, in der folgenden Reihenfolge:

      1. VMs

      2. Reservierungen

      3. Instanzvorlagen

    3. Löschen Sie die Platzierungsrichtlinie, wie in diesem Abschnitt beschrieben.

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

Wenn Sie eine Platzierungsrichtlinie löschen möchten, senden Sie 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