Richtlinien für Platzierungen von VM-Instanzen verwenden


Jede VM-Instanz wird auf einem physischen Server oder Host in einem Rack ausgeführt, das in einem Cluster in einem Rechenzentrum platziert ist. Mit den folgenden Platzierungsrichtlinien können Sie steuern, wo sich Ihre VMs relativ zueinander innerhalb einer Zone befinden:

  • Richtlinien für gestreute Platzierungen: Verwenden Sie Richtlinien für gestreute Platzierungen, wenn VMs gestreut werden sollen. So können Sie die Auswirkungen von Hostsystemausfällen reduzieren oder eine Live-Migration Ihrer VMs optimieren.
  • Richtlinien für kompakte Platzierungen. Verwenden Sie Richtlinien für kompakte Platzierungen, um VMs nahe beieinander zu platzieren, damit eine niedrige Netzwerklatenz zwischen den VMs erreicht wird.

Hinweis

Beschränkungen

Für Platzierungsrichtlinien gelten die folgenden Einschränkungen:

  • Richtlinien für gestreute Platzierungen:
    • Unterstützung von bis zu 8 VMs pro Richtlinie.
    • Unterstützung nur für die Maschinentypen C2, G2, N1, N2 und N2D.
    • Kann nicht mit der VM Placement Topologie API verwendet werden.
    • Kann nicht mit Reservierungen von VMs verwendet werden.
  • Richtlinien für kompakte Platzierungen:

Platzierungsrichtlinie erstellen

So legen Sie fest, wo sich die VMs relativ zueinander befinden:

  1. Erstellen Sie entweder eine Richtlinie für gestreute Platzierungen oder eine Richtlinie für kompakte Platzierungen. Nutzen Sie dazu die von Ihren VMs benötigte Platzierungskonfiguration.
    • Mit den Richtlinien für gestreute Platzierungen werden Ihre VMs ausschließlich in der zugrunde liegenden Rechenzentrumsinfrastruktur platziert, sodass die Instanzen weder denselben Host noch dasselbe Stromversorgungssystem verwenden. Mit diesem Ansatz werden die Auswirkungen von Host- oder Stromausfällen reduziert.
    • Durch kompakte Platzierungsrichtlinien werden Ihre VMs nahe beieinander angeordnet, um eine niedrige Netzwerklatenz zwischen den VMs zu erzielen.
  2. Wenden Sie die Platzierungsrichtlinie auf eine oder mehrere VMs an. VMs, die dieselbe Richtlinie verwenden, werden basierend auf der Definition der Richtlinie relativ zueinander platziert. Sie können die Richtlinie auf neue und vorhandene VMs anwenden oder die Richtlinie in einer Instanzvorlage angeben, die Sie zur Erstellung von eigenständigen VMs, verwalteten Instanzgruppen (MIGs) und VM-Reservierungen verwenden können.

Richtlinie für die Streuungsplatzierungen erstellen

Wenn Sie eine Richtlinie für Streuungsplatzierungen mit VMs in mehreren Verfügbarkeitsdomains erstellen möchten, geben Sie die Anzahl der Verfügbarkeitsdomains an, durch die diese Richtlinie VMs voneinander trennen soll.

gcloud

Verwenden Sie die gcloud CLI, um die Richtlinie zu erstellen.

gcloud compute resource-policies create group-placement POLICY_NAME \
    --availability-domain-count DOMAIN_COUNT \
    --region REGION \
    --project PROJECT_ID

Dabei gilt:

  • POLICY_NAME ist der Name der neuen Richtlinie.
  • DOMAIN_COUNT ist die Anzahl unterschiedlicher Gruppen von Hosthardware und physischen Netzwerken, die von dieser Richtlinie zum Trennen von VMs verwendet werden.
  • REGION ist die Region, in der Sie VMs erstellen möchten, die diese Richtlinie verwenden.
  • PROJECT_ID: Ihre Projekt-ID.

API

Erstellen Sie mithilfe der Methode resourcePolicies.insert in den APIs und Diensten der Google Cloud Console eine Richtlinie für Streuungsplatzierungen.

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

Geben Sie im Anfragetext Details zur Platzierungsrichtlinie an:

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "availabilityDomainCount": DOMAIN_COUNT
  }
}

Dabei gilt:

  • PROJECT_ID: Ihre Projekt-ID.
  • REGION ist die Region, in der Sie VMs erstellen möchten, die diese Richtlinie verwenden.
  • POLICY_NAME ist der Name der neuen Richtlinie.
  • DOMAIN_COUNT ist die Anzahl unterschiedlicher Gruppen von Hosthardware und physischen Netzwerken, die von dieser Richtlinie zum Trennen von VMs verwendet werden.

Kompakte Platzierungsrichtlinie erstellen

Zum Erstellen einer kompakten Platzierungsrichtlinie, bei der sich VMs näher beieinander und in derselben Netzwerkinfrastruktur befinden, geben Sie eine COLLOCATED-Richtlinie an.

gcloud

Verwenden Sie die gcloud CLI, um die Richtlinie zu erstellen.

gcloud compute resource-policies create group-placement POLICY_NAME \
    --collocation COLLOCATED \
    --region REGION \
    --project PROJECT_ID

Dabei gilt:

  • POLICY_NAME ist der Name der neuen Richtlinie.
  • REGION ist die Region, in der Sie VMs erstellen möchten, die diese Richtlinie verwenden.
  • PROJECT_ID: Ihre Projekt-ID.

API

Erstellen Sie mithilfe der Methode resourcePolicies.insert in den APIs und Diensten der Google Cloud Console eine kompakte Platzierungsrichtlinie.

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

Geben Sie im Anfragetext Details zur Platzierungsrichtlinie an:

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "collocation": "COLLOCATED"
  }
}

Dabei gilt:

  • PROJECT_ID: Ihre Projekt-ID.
  • REGION ist die Region, in der Sie VMs erstellen möchten, die diese Richtlinie verwenden.
  • POLICY_NAME ist der Name der neuen Richtlinie.

Platzierungsrichtlinien auf VMs anwenden

Nachdem Sie eine Platzierungsrichtlinie erstellt haben, können Sie sie auf neue oder vorhandene VMs anwenden. Die Unterstützung von Platzierungsrichtlinien hängt von Ihrem Szenario ab.

Szenario Unterstützung für kompakte Platzierung Unterstützung für gestreute Platzierungen
Platzierungsrichtlinie auf eine neue VM anwenden
Platzierungsrichtlinie auf eine vorhandene VM anwenden
Platzierungsrichtlinie in einer Instanzvorlage angeben, mit der Sie VMs erstellen können
Platzierungsrichtlinie in einer Instanzvorlage angeben, mit der Sie eine MIG erstellen oder aktualisieren können
Platzierungsrichtlinie in einer Instanzvorlage angeben, mit der Sie VM-Reservierungen erstellen können

Platzierungsrichtlinie auf eine neue VM anwenden

Nachdem Sie eine Platzierungsrichtlinie erstellt haben, wenden Sie sie auf eine oder mehrere VMs an. VMs, die dieselbe Richtlinie verwenden, werden basierend auf der Definition der Richtlinie relativ zueinander platziert.

gcloud

Wenden Sie eine Platzierungsrichtlinie auf eine VM an, indem Sie das Flag --resource-policies angeben, wenn Sie VMs einzeln oder im Bulk erstellen.

Bei Richtlinien für gestreute Platzierungen müssen Sie die Flags --maintenance-policy=TERMINATE und --no-restart-on-failure angeben.

Verwenden Sie beispielsweise den folgenden Befehl, um eine VM zu erstellen, die eine kompakte Platzierungsrichtlinie verwendet:

gcloud compute instances create VM_NAME \
    --zone=ZONE \
    --resource-policies=POLICY_NAME \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --project=PROJECT_ID \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure \
    --async

Dabei gilt:

  • VM_NAME ist der Name für die neue VM.
  • ZONE ist die Zone, in der Sie die neue VM erstellen möchten.

    Diese Zone muss in derselben Region sein, in der sich die Platzierungsrichtlinie befindet.

  • POLICY_NAME ist der Name der Platzierungsrichtlinie, die Sie auf diese VM anwenden möchten.

    Sie können mehrere Platzierungsrichtlinien auf eine VM anwenden.

  • IMAGE_FAMILY ist eine der verfügbaren Image-Familien.

  • IMAGE_PROJECT ist das Image-Projekt, zu dem das Image gehört.

  • PROJECT_ID ist Ihre Projekt-ID.

API

Wenden Sie eine Platzierungsrichtlinie auf eine VM an, indem Sie das Flag --resource-policies angeben, wenn Sie VMs einzeln oder im Bulk erstellen.

Verwenden Sie beispielsweise den folgenden Befehl, um eine einzelne VM zu erstellen:

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

Geben Sie im Anfragetext die Ressourcenrichtlinie an. Bei Richtlinien für gestreute Platzierungen müssen Sie die Argumente "onHostMaintenance": "TERMINATE" und "automaticRestart": false angeben:

{
  "name": "VM_NAME",
  "machineType": "machineTypes/MACHINE_TYPE"
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT"
    }],
    "network": "global/networks/default"
  }],
  "scheduling": {
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": false
  },
  "disks": [{
     "autoDelete": "true",
     "boot": "true",
     "type": "PERSISTENT",
     "initializeParams": {
       "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
     }
  }],
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ]
}

Dabei gilt:

  • PROJECT_ID ist Ihre Projekt-ID.
  • ZONE ist die Zone, in der Sie die neue VM erstellen möchten.

    Diese Zone muss in derselben Region sein, in der sich die Platzierungsrichtlinie befindet.

  • VM_NAME ist der Name für die neue VM.

  • MACHINE_TYPE ist der Maschinentyp der VM.

  • IMAGE_PROJECT ist das Image-Projekt, zu dem das Image gehört.

  • IMAGE_FAMILY ist eine der verfügbaren Image-Familien.

  • REGION ist die Region, in der Sie die Platzierungsrichtlinie erstellt haben.

  • POLICY_NAME ist der Name der Platzierungsrichtlinie, die Sie auf diese VM anwenden möchten.

    Sie können mehrere Platzierungsrichtlinien auf eine VM anwenden.

Richtlinie für gestreute Platzierungen auf eine vorhandene VM anwenden

Wenn Sie eine Richtlinie für gestreute Platzierungen erstellen, können Sie diese auf eine oder mehrere vorhandene VMs anwenden, ohne die VMs neu zu starten.

gcloud

Wenden Sie mit dem Befehl add-resource-policies eine Richtlinie für gestreute Platzierungen auf eine vorhandene Instanz an.

gcloud compute instances add-resource-policies VM_NAME \
    --zone=ZONE \
    --resource-policies=SPREAD_PLACEMENT_POLICY_NAME \
    --project=PROJECT_ID

Dabei gilt:

  • VM_NAME ist der Name der VM.
  • ZONE: Die Zone der VM.

    Diese Zone muss sich in derselben Region befinden, in der sich die Platzierungsrichtlinie befindet.

  • SPREAD_PLACEMENT_POLICY_NAME ist der Name einer vorhandenen Richtlinie für gestreute Platzierungen, die Sie auf diese VM anwenden möchten.

  • PROJECT_ID ist Ihre Projekt-ID.

API

Wenden Sie mit der Methode addResourcePolicies eine Richtlinie für gestreute Platzierungen auf eine vorhandene Instanz an.

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

Geben Sie im Anfragetext die Richtlinie für gestreute Platzierungen an.

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

Dabei gilt:

  • PROJECT_ID ist Ihre Projekt-ID.
  • ZONE ist die Zone, in der Sie die neue VM erstellen möchten.

    Diese Zone muss in derselben Region sein, in der sich die Platzierungsrichtlinie befindet.

  • VM_NAME ist der Name für die neue VM.

  • REGION ist die Region, in der Sie VM-Instanzen erstellen möchten, die diese Richtlinie verwenden.

  • SPREAD_PLACEMENT_POLICY_NAME ist der Name einer vorhandenen Richtlinie für gestreute Platzierungen, die Sie auf diese VM anwenden möchten.

Instanzvorlage erstellen, die eine Platzierungsrichtlinie angibt

Beim Erstellen einer Instanzvorlage können Sie eine Platzierungsrichtlinie angeben. Zum Beispiel:

  • Wenn Sie in einer Instanzvorlage eine kompakte Platzierungsrichtlinie angeben, können Sie damit die MIGs, VMs und VM-Reservierungen erstellen.

  • Wenn Sie in einer Instanzvorlage eine Richtlinie für gestreute Platzierungen angeben, können Sie die Vorlage nur zum Erstellen von MIGs und VMs verwenden.

gcloud

Verwenden Sie zum Erstellen einer Instanzvorlage, die eine Ressourcenrichtlinie angibt, den Befehl gcloud compute instance-templates create mit dem Flag --resource-policies. Zum Angeben einer Richtlinie für kompakte Platzierungen müssen Sie auch die Flags --maintenance-policy=TERMINATE und --no-restart-on-failure angeben.

Verwenden Sie beispielsweise den folgenden Befehl, um eine Instanzvorlage mit Standard-VM-Attributen und eine Richtlinie für kompakte Platzierungen zu erstellen:

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --resource-policies=COMPACT_PLACEMENT_POLICY_NAME \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Dabei gilt:

  • INSTANCE_TEMPLATE_NAME ist der Name der Instanzvorlage.

  • COMPACT_PLACEMENT_POLICY_NAME ist der Name einer vorhandenen Richtlinie für kompakte Platzierungen.

API

Senden Sie zum Erstellen einer Instanzvorlage mit einer Ressourcenrichtlinie eine POST-Anfrage an die Methode instanceTemplates.insert. Geben Sie im Anfragetext die Platzierungsrichtlinien im Feld resourcePolicies an. Zum Angeben einer Richtlinie für kompakte Platzierungen müssen Sie auch die Felder "onHostMaintenance": "TERMINATE" und "automaticRestart": false angeben.

Verwenden Sie beispielsweise den folgenden Befehl, um eine Instanzvorlage mit Standard-VM-Attributen und eine Richtlinie für kompakte Platzierungen zu erstellen:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "resourcePolicies": {
      "COMPACT_PLACEMENT_POLICY_NAME"
    },
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    },
    ...
  }
}

Dabei gilt:

  • PROJECT_ID ist die ID des aktuellen Projekts.

  • INSTANCE_TEMPLATE_NAME ist der Name der Instanzvorlage.

  • COMPACT_PLACEMENT_POLICY_NAME ist der Name einer vorhandenen Richtlinie für kompakte Platzierungen.

Wenn Sie die Vorlage zum Erstellen einer MIG, VM oder VM-Reservierung verwenden möchten, lesen Sie die folgenden Dokumente:

Platzierungsrichtlinie auf VMs in einer verwalteten Instanzgruppe anwenden

Nachdem Sie eine Platzierungsrichtlinie erstellt haben, erstellen Sie eine Instanzvorlage, die die Richtlinie angibt. Erstellen Sie dann eine MIG oder aktualisieren Sie eine vorhandene MIG mit dieser Instanzvorlage. Die Platzierungsrichtlinie gilt für VMs in der Gruppe, die diese Instanzvorlage verwenden.

Wenn Sie eine Arbeitslast haben, die eine umfangreiche Kommunikation zwischen VMs erfordert, empfehlen wir Ihnen, eine Richtlinie für kompakte Platzierungen zu erstellen und eine regionale MIG mit der Verteilungsform Beliebige einzelne Zone zu verwenden. Mit der Verteilungsform „Beliebige einzelne Zone“ wählt die Gruppe immer dann, wenn eine regionale MIG keine VMs hat und skaliert werden muss, die optimale Zone auf der Grundlage Ihrer Reservierungen, Kontingente und Hardwareanforderungen aus.

Platzierungsrichtlinie auf eine neue MIG anwenden

Sie können die gcloud CLI oder die Compute Engine API verwenden.

gcloud

Verwenden Sie den Befehl instance-groups managed create, um eine MIG mit VMs zu erstellen, die auf der zuvor erstellten Vorlage basieren. Verwenden Sie beispielsweise den folgenden Befehl, um eine regionale MIG mit der Verteilungsform „Beliebige einzelne Zone“ zu erstellen:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template TEMPLATE_NAME \
    --size SIZE \
    --region REGION \
    --zones ZONES \
    --target-distribution-shape=any-single-zone

Dabei gilt:

  • INSTANCE_GROUP_NAME: der Name dieser Instanzgruppe
  • TEMPLATE_NAME: der Name der Instanzvorlage, die für diese Gruppe verwendet werden soll
  • SIZE: die Größe der Instanzgruppe.
  • REGION: die Region für diese Instanzgruppe

  • ZONES (optional): eine Liste der Zonen in der Region, in der die MIG VM-Instanzen bereitstellen kann. Standardmäßig wählt Compute Engine für Sie drei Zonen aus.

    • Wenn Sie möchten, dass Ihre MIG alle Zonen in der Region nutzen kann, geben Sie alle verfügbaren Zonen an. Mit dem folgenden Befehl können Sie eine Liste der Zonen in der Region abrufen:

      gcloud compute zones list --filter=region:REGION --format='list(NAME)'
    • Beachten Sie, dass Sie eine regionale MIG nicht aktualisieren können, um andere Zonen zu verwenden, nachdem sie erstellt wurde.

API

Wenn Sie eine MIG mit VMs erstellen möchten, die auf der zuvor erstellten Vorlage basieren, rufen Sie instanceGroupManagers.insert oder regionInstanceGroupManagers.insert auf. und geben Sie diese Vorlage an. Wenn Sie beispielsweise eine regionale MIG mit der Verteilungsform „Beliebige einzelne Zone“ erstellen möchten, verwenden Sie die folgende Methode:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "instanceTemplate": "global/instanceTemplates/TEMPLATE_NAME",
  "targetSize": SIZE,
  "distributionPolicy": {
      "zones": [
          {"zone": "zones/ZONE1"},
          {"zone": "zones/ZONE2"},
          {"zone": "zones/ZONE3"},
      ],
      "targetShape": "ANY_SINGLE_ZONE"
  }
}

Dabei gilt:

  • PROJECT_ID ist die Projekt-ID für diese Anfrage.
  • REGION: Region für die Gruppe
  • INSTANCE_GROUP_NAME: Name der MIG.
  • TEMPLATE_NAME: Instanzvorlage, die verwendet werden soll
  • SIZE: angestrebte Anzahl von VMs in der Gruppe
  • ZONES: Name einer Zone in der Region, in der die MIG VM-Instanzen bereitstellen kann.
    • Wenn Sie möchten, dass Ihre MIG alle Zonen in der Region nutzen kann, geben Sie alle verfügbaren Zonen an. Mit der Methode regions.get können Sie eine Liste der Zonen in der jeweiligen Region abrufen.
    • Beachten Sie, dass Sie eine regionale MIG nicht aktualisieren können, um andere Zonen zu verwenden, nachdem sie erstellt wurde.

Weitere Informationen zum Erstellen von MIGs finden Sie unter Grundlegende Szenarien zum Erstellen verwalteter Instanzgruppen (MIGs).

Platzierungsrichtlinie auf eine vorhandene MIG anwenden

Nachdem Sie eine Platzierungsrichtlinie erstellt haben, erstellen Sie eine Instanzvorlage, die die Richtlinie angibt. Wenden Sie die Vorlage dann auf eine vorhandene MIG an. Sie können die gcloud CLI oder die Compute Engine API verwenden.

gcloud

Sie können beispielsweise den Befehl instance-groups managed rolling-action start-update verwenden, um eine MIG zu aktualisieren, damit sie die neue Vorlage verwendet, und um die neue Vorlage automatisch für vorhandene VMs in der MIG bereitzustellen:

gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \
    --template TEMPLATE_NAME \
    --type=proactive

API

Wenn Sie eine MIG für die Verwendung der neuen Vorlage aktualisieren möchten, rufen Sie die Methode patch für eine regionale oder zonale MIG auf.

Die folgende Anfrage zeigt beispielsweise bei einer regionalen MIG die Mindestkonfiguration an, die erforderlich ist, um alle Instanzen automatisch auf die neue Instanzvorlage zu aktualisieren.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

{
  "instanceTemplate": "global/instanceTemplates/TEMPLATE_NAME",
  "updatePolicy": {
    "type": "PROACTIVE"
   }
}

Weitere Möglichkeiten zum Aktualisieren von VMs in MIGs finden Sie unter Neue Konfigurationen in VMs in einer MIG aktualisieren und anwenden.

Platzierungsrichtlinien ansehen

Mit der gcloud CLI und der Compute Engine API können Sie die auf eine VM angewendeten Platzierungsrichtlinien und Details zu einer bestimmten Platzierungsrichtlinie aufrufen.

Platzierungsrichtlinie einer VM ansehen

gcloud

Verwenden Sie zum Aufrufen der Platzierungsrichtlinie für die Ressource einer VM den Befehl gcloud compute instances describe:

gcloud compute instances describe VM_NAME

Ersetzen Sie VM_NAME durch den Namen Ihrer VM.

Wenn eine Platzierungsrichtlinie verfügbar ist, enthält die Ausgabe das Feld resourcePolicies:

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

API

Verwenden Sie die Methode instances.get, um die Platzierungsrichtlinie für die Ressource einer VM aufzurufen:

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

Dabei gilt:

  • PROJECT_ID ist Ihre Projekt-ID.
  • ZONE ist die Zone mit der VM.
  • VM_NAME ist der Name Ihrer VM.

Wenn eine Platzierungsrichtlinie verfügbar ist, gibt das Feld resourcePolicies Ressourcenrichtlinien Ihrer VM zurück.

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

Details einer Platzierungsrichtlinie ansehen

gcloud

Verwenden Sie den Befehl gcloud compute resource-policies describe, um Details zu einer Platzierungsrichtlinie aufzurufen:

gcloud compute resource-policies describe POLICY_NAME

Ersetzen Sie POLICY_NAME durch den Namen der Platzierungsrichtlinie.

Wenn die Platzierungsrichtlinie verfügbar ist, enthält die Ausgabe Details zur Platzierungsrichtlinie:

...
groupPlacementPolicy:
  availabilityDomainCount: 2
kind: compute#resourcePolicy
name: POLICY_NAME
region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION
...

API

Verwenden Sie den Methode resourcePolicies.get, um Details zu einer Platzierungsrichtlinie aufzurufen:

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

Dabei gilt:

  • PROJECT_ID ist Ihre Projekt-ID.
  • REGION ist die Region, in der die VM enthalten ist.
  • POLICY_NAME ist der Name der Platzierungsrichtlinie.

Wenn die Platzierungsrichtlinie verfügbar ist, enthält der Antworttext Details zur Platzierungsrichtlinie:

...
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION",
"name": "POLICY_NAME",
"groupPlacementPolicy": {
  "availabilityDomainCount": 2
},
"kind": "compute#resourcePolicy"
...

Topologie der VM-Platzierung ansehen

Sie können Informationen dazu abrufen, wo sich eine VM in Bezug auf eine andere VM befindet. Diese Informationen helfen Ihnen, eine Topologie für Ihre VMs zu erstellen. So können Sie ermitteln, welche VMs einander am nächsten liegen und welche VMs die geringste Hardwaremenge haben.

Sie können die Informationen zur VM-Platzierungstopologie nur für VMs vergleichen, die dieselbe Platzierungsrichtlinie verwenden.

gcloud

Rufen Sie die resource-Eigenschaften einer VM auf, die mit einer Platzierungsrichtlinie erstellt wurde:

gcloud compute instances describe VM_NAME \
    --format="table[box,title=VM-Topology](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)"

Ersetzen Sie VM_NAME durch den Namen der VM-Instanz, die eine Platzierungsrichtlinie verwendet.

Die Ausgabe sollte in etwa so aussehen:

VM-Topology

RESOURCE_POLICIES: us-central1/resourcePolicies/policy_name']
PHYSICAL_HOST: /xxxxxxxx/xxxxxx/xxxxx

Der Wert für PHYSICAL_HOST besteht aus drei Feldern. Diese Felder enthalten gehashte Werte, die Cluster, Server-Rack und Hostcomputer darstellen, auf dem sich die VM befindet. Beim Vergleich dieses Werts mit anderen VMs gilt: Je mehr Felder mit demselben String vorhanden sind, desto näher sind sich die VMs. Beispielsweise haben zwei VMs, die zum selben Projekt gehören, Cluster sind und im selben Rack ausgeführt werden, für die ersten beiden Teile des Felds PHYSICAL_HOST denselben Wert.

API

Rufen Sie die Details einer VM auf, die mit einer kompakten Platzierungsrichtlinie erstellt wurde: Stellen Sie eine GET-Anfrage an die Methode instances.get:

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

Dabei gilt:

  • PROJECT_ID: Die Projekt-ID für diese Abfrage.
  • ZONE: Die Zone für die Instanz, die Sie abfragen möchten
  • VM_NAME: Der Name der VM, die eine Platzierungsrichtlinie verwendet.

Der Antworttext enthält ein Snippet ähnlich dem folgenden:

{
  ...
  resourcePolicies:
  - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ZONE/resourcePolicies/POLICY_NAME
  resourceStatus:
      physical_host: /xxxxxxxx/xxxxxx/xxxxx
  ...
}

Der Wert für physical_host besteht aus drei Feldern, die Hashwerte enthalten, die den Cluster, den Server-Rack und den Hostcomputer darstellen, auf dem sich die VM befindet. Bei diesem Vergleich mit anderen VMs gilt: Je mehr Felder mit demselben String vorhanden sind, desto näher befinden sich die VMs. Beispielsweise haben zwei VMs, die zum selben Projekt gehören, Cluster sind und im selben Rack ausgeführt werden, für die ersten beiden Teile des Felds physicalHost denselben Wert.

Wenn die VM keine kompakte Platzierungsrichtlinie verwendet, wird der Wert des Attributs in der Ausgabe so angezeigt:

resourceStatus: {}

Platzierungsrichtlinie löschen

Sie können nicht benötigte Platzierungsrichtlinien löschen.

gcloud

Verwenden Sie die gcloud CLI, um die Richtlinie zu löschen.

gcloud compute resource-policies delete POLICY_NAME \
    --region REGION \
    --project PROJECT_ID

Dabei gilt:

  • POLICY_NAME: Der Name der neuen Richtlinie, die entfernt werden soll.
  • REGION: Die Region, in der Sie die VM-Instanzen erstellt haben, die diese Richtlinie verwenden.
  • PROJECT_ID: Ihre Projekt-ID.

API

Verwenden Sie zum Erstellen einer Richtlinie für Streuungsplatzierungen die Methode resourcePolicies.insert in den APIs und Diensten der Google Cloud Console:

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

Geben Sie im Anfragetext Details zur Platzierungsrichtlinie an:

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "availabilityDomainCount": DOMAIN_COUNT
  }
}

Dabei gilt:

  • PROJECT_ID ist Ihre Projekt-ID.
  • REGION ist die Region, in der Sie VM-Instanzen erstellen möchten, die diese Richtlinie verwenden.
  • POLICY_NAME ist der Name der neuen Richtlinie.
  • DOMAIN_COUNT ist die Anzahl unterschiedlicher Gruppen von Hosthardware und physischen Netzwerken, die von dieser Richtlinie zum Trennen von Instanzen verwendet werden.

Nächste Schritte