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
- Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, gehen Sie so vor:
- Installieren Sie die Google Cloud CLI oder aktualisieren Sie sie auf die neueste Version.
- Legen Sie eine Standardregion und -zone fest.
- Wenn Sie die API-Beispiele aus dieser Anleitung verwenden möchten, richten Sie den API-Zugang ein.
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:
- Unterstützung von bis zu 150 VMs in jeder Richtlinie.
- Unterstützung nur für die Maschinentypen A2, C2, G2, C2D, N2 und N2D.
- Keine Unterstützung für Live-Migration.
- Kann für Hostwartungsereignisse nur mit VMs verwendet werden, die auf
TERMINATE
konfiguriert sind. - Kann nur für Reservierungen von VMs für ein einzelnes Projekt verwendet werden. Reservierungen, die projektübergreifend freigegeben werden, oder Reservierungen, die mit Rabatten für zugesicherte Nutzung verbunden sind, werden nicht unterstützt.
- Kann nicht mit Knoten für einzelne Mandanten verwendet werden.
- Können nicht auf vorhandene VMs angewendet werden.
Platzierungsrichtlinie erstellen
So legen Sie fest, wo sich die VMs relativ zueinander befinden:
- 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.
- 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.
- VM aus einer Instanzvorlage erstellen Überprüfen Sie die Einschränkungen.
- Wenn Ihre Instanzvorlage eine kompakte Platzierungsrichtlinie angibt, können Sie diese zum Erstellen einer Reservierung für ein einzelnes Projekt verwenden.
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 InstanzgruppeTEMPLATE_NAME
: der Name der Instanzvorlage, die für diese Gruppe verwendet werden sollSIZE
: die Größe der Instanzgruppe.REGION
: die Region für diese InstanzgruppeZONES
(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 GruppeINSTANCE_GROUP_NAME
: Name der MIG.TEMPLATE_NAME
: Instanzvorlage, die verwendet werden sollSIZE
: angestrebte Anzahl von VMs in der GruppeZONES
: 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.
- Wenn Sie möchten, dass Ihre MIG alle Zonen in der Region nutzen kann, geben Sie alle verfügbaren Zonen an. Mit der Methode
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öchtenVM_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
- Status der Instanz prüfen, um festzustellen, wann sie einsatzbereit ist
- Stellen Sie eine Verbindung zur Instanz her.
- Tipps zum Konzipieren eines robusten Systems, das Dienstunterbrechungen bewältigen kann