In diesem Dokument wird beschrieben, wie Sie die Zuverlässigkeit Ihrer VM-Instanzen (virtuellen Maschinen) verbessern, indem Sie Richtlinien für verteilte Platzierung erstellen und anwenden. Weitere Informationen zu Platzierungsrichtlinien, einschließlich ihrer Einschränkungen und Preise, finden Sie unter Platzierungsrichtlinien – Übersicht.
In einer Richtlinie für verteilte Platzierungen ist angegeben, dass Ihre VMs auf verschiedene Verfügbarkeitsdomains verteilt werden sollen. Diese Verteilung hilft, standortspezifische Störungen wie Hardwarefehler zu vermeiden und ist nützlich, wenn große, verteilte und replizierte Arbeitslasten wie das Hadoop Distributed File System (HDFS), Cassandra oder Kafka ausgeführt werden.
Hinweis
-
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Zur Erstellung von Platzierungsrichtlinien:
compute.resourcePolicies.create
für das Projekt -
Zur Anwendung einer Platzierungsrichtlinie auf vorhandene VMs an:
compute.instances.addResourcePolicies
für das Projekt -
Zum Erstellen von VMs:
compute.instances.create
für das Projekt- Zur Erstellung der VM mit einem benutzerdefinierten Image:
compute.images.useReadOnly
für das Image - Zur Erstellung der VM mithilfe eines Snapshots:
compute.snapshots.useReadOnly
für den Snapshot - Zur Erstellung der VM mithilfe einer Instanzvorlage:
compute.instanceTemplates.useReadOnly
für die Instanzvorlage - Um der VM ein Legacy-Netzwerk zuzuweisen:
compute.networks.use
für das Projekt - Zum Festlegen einer statische IP-Adresse für die VM:
compute.addresses.use
für das Projekt - Zur Zuweisung einer externen IP-Adresse zur VM bei Verwendung eines Legacy-Netzwerks:
compute.networks.useExternalIp
für das Projekt - Um ein Subnetz für die VM anzugeben:
compute.subnetworks.use
für das Projekt oder für das ausgewählte Subnetz - Um der VM eine externe IP-Adresse zuzuweisen, wenn Sie ein VPC-Netzwerk verwenden:
compute.subnetworks.useExternalIp
für das Projekt oder für das ausgewählte Subnetz - Um die Metadaten der VM-Instanz für die VM festzulegen:
compute.instances.setMetadata
für das Projekt - Um Tags für die VM festzulegen:
compute.instances.setTags
für die VM - Um Labels für die VM festzulegen:
compute.instances.setLabels
für die VM - Um ein Dienstkonto festzulegen, das die VM verwenden soll:
compute.instances.setServiceAccount
für die VM - Um ein neues Laufwerk für die VM zu erstellen:
compute.disks.create
für das Projekt - Um ein vorhandenes Laufwerk im Lese- oder Lese‑/Schreibmodus anzuhängen:
compute.disks.use
für das Laufwerk - Um ein vorhandenes Laufwerk im Lesemodus anzuhängen:
compute.disks.useReadOnly
für das Laufwerk
- Um eine Instanzvorlage zu erstellen:
compute.instanceTemplates.create
für das Projekt -
Um eine verwaltete Instanzgruppe (MIG) zu erstellen:
compute.instanceGroupManagers.create
für das Projekt POLICY_NAME
: der Name der Richtlinie für gestreute Platzierung.DOMAIN_COUNT
: die eindeutige Anzahl der Verfügbarkeitsdomains, in denen Sie VMs platzieren möchten. Der Wert muss zwischen1
und8
liegen.REGION
: die Region, in der die Platzierungsrichtlinie erstellt werden soll.PROJECT_ID
: die ID des Projekts, in dem die Platzierungsrichtlinie erstellt werden soll.REGION
: die Region, in der die Platzierungsrichtlinie erstellt werden soll.POLICY_NAME
: der Name der Richtlinie für gestreute Platzierung.DOMAIN_COUNT
: die eindeutige Anzahl der Verfügbarkeitsdomains, in denen Sie VMs platzieren möchten. Der Wert muss zwischen1
und8
liegen.- Richtlinie auf eine vorhandene VM anwenden
- Richtlinie beim Erstellen einer VM anwenden
- Richtlinie beim Erstellen von VMs im Bulk anwenden
- Richtlinie beim Erstellen einer Instanzvorlage anwenden
- Richtlinie auf VMs in einer verwalteten Instanzgruppe anwenden
Wenn Ihre Richtlinie für verteilte Platzierungen mehrere Verfügbarkeitsdomains angibt, können Sie die Richtlinie auf eine VM anwenden, ohne die VM zu beenden. Die VM muss jedoch möglicherweise in eine andere Verfügbarkeitsdomain verschoben werden. Während dieses Vorgangs wird die VM von Compute Engine gemäß der Hostwartungsrichtlinie beendet oder live migriert.
Die VM und die Richtlinie für verteilte Platzierung müssen sich in derselben Region befinden. Beispiel: Wenn sich die Platzierungsrichtlinie in der Region
us-central1
befindet, muss sich die VM in einer Zone inus-central1
befinden. Wenn Sie eine VM in eine andere Region migrieren müssen, finden Sie weitere Informationen in VM zwischen Zonen oder Regionen verschieben.VM_NAME
: Der Name einer vorhandenen VM.POLICY_NAME
: Name einer vorhandenen Richtlinie für gestreute platzierungen.ZONE
ist die Zone, in der sich die VM befindet.PROJECT_ID
: die ID des Projekts, in dem sich die Richtlinie für gestreute Platzierung und die VM befinden.ZONE
ist die Zone, in der sich die VM befindet.VM_NAME
: Der Name einer vorhandenen VM.REGION
: die Region, in der sich die Richtlinie für verteilte Platzierung befindet.POLICY_NAME
: Name einer vorhandenen Richtlinie für gestreute platzierungen.VM_NAME
: Name der zu erstellenden VM.MACHINE_TYPE
: Maschinentyp für die VM.POLICY_NAME
: Name einer vorhandenen Richtlinie für gestreute platzierungen.ZONE
: die Zone, in der die VM-Instanz erstellt werden soll.PROJECT_ID
: die ID des Projekts, in dem sich die Richtlinie für gestreute Platzierung befindet.ZONE
: die Zone, in der die VM erstellt werden soll und in der sich der Maschinentyp befindet. Sie können nur eine Zone innerhalb der Region der Richtlinie für verteilte Platzierung angeben.VM_NAME
: der Name der zu erstellenden VM.MACHINE_TYPE
: Maschinentyp für die VM.IMAGE_PROJECT
: das Image-Projekt, das das Image enthält, z. B.debian-cloud
. Weitere Informationen zu den unterstützten Image-Projekten finden Sie unter Öffentliche Images.IMAGE
: Wählen Sie eine der folgenden Optionen aus:Eine bestimmte Version des Betriebssystem-Images; Beispiel:
debian-12-bookworm-v20240617
.Eine Image-Familie, die als
family/IMAGE_FAMILY
formatiert sein muss. Diese gibt das neueste nicht verworfene Betriebssystem-Image an. Beispiel: Wenn Siefamily/debian-12
angeben, wird die aktuelle Version in der Debian 12-Image-Familie verwendet. Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.
REGION
: die Region, in der sich die Richtlinie für verteilte Platzierung befindet.POLICY_NAME
: Name einer vorhandenen Richtlinie für gestreute platzierungen.Sie können VMs im Bulk mit Richtlinien für verteilte Platzierungen nur in der Region erstellen, in der sich die Platzierungsrichtlinie befindet.
Wenn Sie VMs im Bulk mit einer Richtlinie für verteilte Platzierung erstellen, können Sie optional die Verfügbarkeitsdomain angeben, in der Ihre VMs erstellt werden sollen. Erstellen Sie nicht alle VMs in einer einzigen Domain. Andernfalls können Sie das Risiko nicht minimieren, dass ein einzelner Hardwarefehler sich auf alle Ihre VMs auswirkt.
COUNT
ist die Anzahl der zu erstellenden VMs.MACHINE_TYPE
ist der Maschinentyp für die VMs.NAME_PATTERN
ist das Namensmuster für die VMs. Verwenden Sie eine Abfolge von Hash-Zeichen (#
), um eine Zahlenfolge in einem VM-Namen zu ersetzen. Wenn Sie z. B.vm-#
für das Namensmuster verwenden, werden VMs mit den Namenvm-1
,vm-2
usw. bis zu der durchCOUNT
angegebenen Anzahl von VMs erzeugt.POLICY_NAME
: Name einer vorhandenen Richtlinie für gestreute platzierungen.ZONE
: Zone, in der die VMs im Bulk erstellt werden sollen.PROJECT_ID
: die ID des Projekts, in dem sich die Richtlinie für gestreute Platzierung befindet.ZONE
: Zone, in der die VMs im Bulk erstellt werden sollen.COUNT
ist die Anzahl der zu erstellenden VMs.NAME_PATTERN
ist das Namensmuster für die VMs. Verwenden Sie eine Abfolge von Hash-Zeichen (#
), um eine Zahlenfolge in einem VM-Namen zu ersetzen. Wenn Sie z. B.vm-#
für das Namensmuster verwenden, werden VMs mit den Namenvm-1
,vm-2
usw. bis zu der durchCOUNT
angegebenen Anzahl von VMs erzeugt.MACHINE_TYPE
ist der Maschinentyp für die VMs.IMAGE_PROJECT
: das Image-Projekt, das das Image enthält, z. B.debian-cloud
. Weitere Informationen zu den unterstützten Image-Projekten finden Sie unter Öffentliche Images.IMAGE
: Wählen Sie eine der folgenden Optionen aus:Eine bestimmte Version des Betriebssystem-Images; Beispiel:
debian-12-bookworm-v20240617
.Eine Image-Familie, die als
family/IMAGE_FAMILY
formatiert sein muss. Diese gibt das neueste nicht verworfene Betriebssystem-Image an. Beispiel: Wenn Siefamily/debian-12
angeben, wird die aktuelle Version in der Debian 12-Image-Familie verwendet. Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.
POLICY_NAME
: Name einer vorhandenen Richtlinie für gestreute platzierungen.Wenn Sie eine regionale Instanzvorlage erstellen möchten, müssen Sie die Vorlage in der Region erstellen, in der sich auch die Richtlinie für verteilte Platzierungen befindet. Andernfalls schlägt das Erstellen der Instanzvorlage fehl.
Wenn Sie eine Instanzvorlage erstellen, können Sie optional die Verfügbarkeitsdomain angeben, in der VMs erstellt werden sollen. Erstellen Sie nicht alle VMs in einer einzigen Domain. Andernfalls können Sie das Risiko nicht minimieren, dass ein einzelner Hardwarefehler sich auf alle Ihre VMs auswirkt.
INSTANCE_TEMPLATE_NAME
: Name der Instanzvorlage.MACHINE_TYPE
: Maschinentyp für die mithilfe der Instanzvorlage erstellten VMs.POLICY_NAME
: Name einer vorhandenen Richtlinie für gestreute platzierungen.Um eine globale Instanzvorlage zu erstellen:
instanceTemplates.insert
-Methode.Um eine regionale Instanzvorlage zu erstellen:
regionInstanceTemplates.insert
-Methode.PROJECT_ID
: die ID des Projekts, in dem sich die Richtlinie für gestreute Platzierung befindet.INSTANCE_TEMPLATE_NAME
ist der Name der Instanzvorlage.IMAGE_PROJECT
: das Image-Projekt, das das Image enthält, z. B.debian-cloud
. Weitere Informationen zu den unterstützten Image-Projekten finden Sie unter Öffentliche Images.IMAGE
: Wählen Sie eine der folgenden Optionen aus:Eine bestimmte Version des Betriebssystem-Images; Beispiel:
debian-12-bookworm-v20240617
.Eine Image-Familie, die als
family/IMAGE_FAMILY
formatiert sein muss. Diese gibt das neueste nicht verworfene Betriebssystem-Image an. Beispiel: Wenn Siefamily/debian-12
angeben, wird die aktuelle Version in der Debian 12-Image-Familie verwendet. Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.
MACHINE_TYPE
: Maschinentyp für die mithilfe der Instanzvorlage erstellten VMs.POLICY_NAME
: Name einer vorhandenen Richtlinie für gestreute platzierungen.Richtlinie beim Erstellen einer verwalteten Instanzgruppe anwenden
Richtlinie auf eine vorhandene verwaltete Instanzgruppe anwenden
INSTANCE_GROUP_NAME
: Name der verwalteten Instanzgruppe, die erstellt werden soll.SIZE
: die Größe der MIG.INSTANCE_TEMPLATE_NAME
: Name einer vorhandenen globalen Instanzvorlage, die eine Richtlinie für verteilte Platzierung angibt.ZONE
: die Zone, in der die verwaltete Instanzgruppe erstellt werden soll. Sie muss sich in der Region befinden, in der sich die Richtlinie für gestreute Platzierung befindet.Um eine zonale verwaltete Instanzgruppe zu erstellen:
instanceGroupManagers.insert
-Methode.Um eine regionale verwaltete Instanzgruppe zu erstellen:
regionInstanceGroupManagers.insert
-Methode.PROJECT_ID
: die ID des Projekts, in dem sich die Richtlinie für gestreute Platzierung und die Instanzvorlage befinden, die die Platzierungsrichtlinie angibt.ZONE
: die Zone, in der die verwaltete Instanzgruppe erstellt werden soll. Sie muss sich in der Region befinden, in der sich die Richtlinie für gestreute Platzierung befindet.INSTANCE_GROUP_NAME
: Name der MIG, die erstellt werden soll.SIZE
: die Größe der MIG.INSTANCE_TEMPLATE_NAME
: Name einer vorhandenen globalen Instanzvorlage, die eine Richtlinie für verteilte Platzierung angibt.INSTANCE_GROUP_NAME
: der Name einer vorhandenen verwalteten Instanzgruppe.INSTANCE_TEMPLATE_NAME
: Name einer vorhandenen globalen Instanzvorlage, die eine Richtlinie für verteilte Platzierung angibt.ZONE
: Die Zone, in der sich die MIG befindet. Sie können die Richtlinie für gestreute Platzierung nur auf eine verwaltete Instanzgruppe anwenden, die sich in derselben Region wie die Platzierungsrichtlinie befindet.Um eine zonale verwaltete Instanzgruppe zu aktualisieren:
instanceGroupManagers.insert
-Methode.Um eine regionale verwaltete Instanzgruppe zu aktualisieren
regionInstanceGroupManagers.insert
-Methode.PROJECT_ID
: die ID des Projekts, das Sie zum Erstellen einer vorhandenen MIG, der Richtlinie für gestreute Platzierung und der Instanzvorlage verwendet haben, die die Richtlinie für gestreute Platzierung angibt.ZONE
: Die Zone, in der sich die MIG befindet. Sie können die Richtlinie für gestreute Platzierung nur auf eine verwaltete Instanzgruppe anwenden, die sich in derselben Region wie die Platzierungsrichtlinie befindet.INSTANCE_GROUP_NAME
: der Name einer vorhandenen verwalteten Instanzgruppe.INSTANCE_TEMPLATE_NAME
: Name einer vorhandenen globalen Instanzvorlage, die eine Richtlinie für verteilte Platzierung angibt.Informationen zum Ersetzen, Entfernen oder Löschen von Platzierungsrichtlinien
Weitere Informationen dazu, wie Sie mit einer VM, die eine Platzierungsrichtlinie angibt:
Weitere Informationen zum Live-Migrationsprozess während Wartungsereignissen
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
Um die Berechtigungen zu erhalten, die Sie zum Erstellen und Anwenden einer Richtlinie für verteilte Platzierung auf VMs benötigen, bitten Sie Ihren Administrator, Ihnen die Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) IAM-Rolle für Ihr Projekt zuzuweisen. 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 Erstellen und Anwenden einer Richtlinie für gestreute Platzierung auf VMs erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um eine Richtlinie für verteilte Platzierung zu erstellen und auf VMs anzuwenden:
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Richtlinie für die Streuungsplatzierungen erstellen
Sofern Sie die Anwendung der Richtlinie für verteilte Platzierung auf Ihren VMs nicht testen möchten, empfiehlt Google Cloud , Richtlinien für verteilte Platzierung mit zwei oder mehr Verfügbarkeitsdomains zu erstellen. Dadurch wird das Risiko minimiert, dass alle VMs von einem einzelnen Hardwarefehler beeinträchtigt werden. Weitere Informationen finden Sie unter Richtlinien für gestreute Placements.
Wählen Sie eine der folgenden Optionen aus, um eine Richtlinie für verteilte Platzierung zu erstellen:
gcloud
Verwenden Sie zum Erstellen einer Richtlinie für gestreute platzierungen den Befehl
gcloud compute resource-policies create group-placement
mit dem Flag--availability-domain-count
.gcloud compute resource-policies create group-placement POLICY_NAME \ --availability-domain-count=DOMAIN_COUNT \ --region=REGION
Ersetzen Sie Folgendes:
REST
Senden Sie zum Erstellen einer Richtlinie für gestreute Platzierung eine
POST
-Anfrage an die MethoderesourcePolicies.insert
. Geben Sie im Anfragetext das FeldavailabilityDomainCount
an.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "availabilityDomainCount": DOMAIN_COUNT } }
Ersetzen Sie Folgendes:
Richtlinie für gestreute Platzierung anwenden
Sie können eine Richtlinie für gestreute Platzierungen auf eine vorhandene VM oder verwaltete Instanzgruppe anwenden, oder wenn Sie VMs, Instanzvorlagen oder verwaltete Instanzgruppen erstellen.
Wählen Sie eine der folgenden Methoden aus, um eine Richtlinie für verteilte Platzierung auf eine Compute Engine-Ressource anzuwenden:
Nachdem Sie eine Richtlinie für verteilte Platzierungen auf eine VM angewendet haben, können Sie die Verfügbarkeitsdomäne prüfen, in der sich die VM befindet. Prüfen Sie dazu die Details der VM und sehen Sie sich den Wert im Feld
availabilityDomain
an.Richtlinie auf eine vorhandene VM anwenden
Bevor Sie eine Richtlinie für verteilte Platzierungen auf eine vorhandene VM anwenden, sollten Sie Folgendes beachten:
Wenn Sie die Verfügbarkeitsdomain angeben möchten, in der Ihre VM platziert werden soll, wenden Sie die Platzierungsrichtlinie auf die VM an, indem Sie ihre Eigenschaften aktualisieren. Achten Sie beim Aktualisieren der VM-Attribute darauf, die Felder
resourcePolicies
undscheduling.availabilityDomain
anzugeben.Wählen Sie eine der folgenden Optionen aus, um eine Richtlinie für verteilte Platzierungen auf eine vorhandene VM anzuwenden:
gcloud
Verwenden Sie den Befehl
gcloud compute instances add-resource-policies
, um eine Richtlinie für gestreute Platzierung auf eine vorhandene VM anzuwenden.gcloud compute instances add-resource-policies VM_NAME \ --resource-policies=POLICY_NAME \ --zone=ZONE
Ersetzen Sie Folgendes:
REST
Senden Sie eine
POST
-Anfrage an die Methodeinstances.addResourcePolicies
, um eine Richtlinie für gestreute Platzierung auf eine vorhandene VM anzuwenden.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/addResourcePolicies { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }
Ersetzen Sie Folgendes:
Richtlinie beim Erstellen einer VM anwenden
Sie können eine VM, die eine Richtlinie für verteilte Platzierung angibt, nur in der Region erstellen, in der sich die Platzierungsrichtlinie befindet.
Wählen Sie eine der folgenden Optionen aus, um eine VM zu erstellen, die eine Richtlinie für verteilte Platzierungen angibt:
gcloud
Verwenden Sie zum Erstellen einer VM mit einer Richtlinie für verteilte Platzierung den Befehl
gcloud compute instances create
mit dem Flag--resource-policies
.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --resource-policies=POLICY_NAME \ --zone=ZONE
Ersetzen Sie Folgendes:
Optional können Sie das Flag
--availability-domain
angeben, um die Verfügbarkeitsdomain anzugeben, in der die VM erstellt werden soll.gcloud compute instances create VM_NAME \ --availability-domain=DOMAIN_NUMBER \ --machine-type=MACHINE_TYPE \ --resource-policies=POLICY_NAME \ --zone=ZONE
Ersetzen Sie
DOMAIN_NUMBER
durch die Nummer der Verfügbarkeitsdomäne, in der Sie Ihre VM platzieren möchten. Der Wert muss zwischen1
und der Anzahl der in der Richtlinie für die verteilte Platzierung angegebenen Domains liegen. Die Anzahl der Domains in einer Richtlinie für gestreute Placements finden Sie in den Details der Platzierungsrichtlinie.REST
Senden Sie zum Erstellen einer VM, die eine Richtlinie für gestreute Platzierung angibt, eine
POST
-Anfrage an die Methodeinstances.insert
. Geben Sie im Anfragetext das FeldresourcePolicies
an.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }
Ersetzen Sie Folgendes:
Optional können Sie die Verfügbarkeitsdomain, in der die VM erstellt werden soll, angeben, indem Sie das Feld
availabilityDomain
in den Anfragetext einfügen.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "availabilityDomain": DOMAIN_NUMBER } }
Ersetzen Sie
DOMAIN_NUMBER
durch die Nummer der Verfügbarkeitsdomäne, in der Sie Ihre VM platzieren möchten. Der Wert muss zwischen1
und der Anzahl der in der Richtlinie für die verteilte Platzierung angegebenen Domains liegen. Die Anzahl der Domains in einer Richtlinie für gestreute Placements finden Sie in den Details der Platzierungsrichtlinie.Weitere Informationen zu den Konfigurationsoptionen zum Erstellen einer VM finden Sie unter VM-Instanz erstellen und starten
Richtlinie beim Erstellen von VMs im Bulk anwenden
Bevor Sie VMs im Bulk erstellen, die eine Richtlinie für gestreute Platzierungen angeben, achten Sie auf Folgendes:
Wählen Sie eine der folgenden Optionen aus, um VMs im Bulk zu erstellen, die eine Richtlinie für verteilte Platzierung angeben:
gcloud
Wenn Sie VMs im Bulk erstellen möchten, die eine Richtlinie für verteilte Platzierung angeben, verwenden Sie den Befehl
gcloud compute instances bulk create
mit dem Flag--resource-policies
.Wenn Sie beispielsweise VMs im Bulk in einer einzelnen Zone erstellen und ein Namensmuster für die VMs angeben möchten, führen Sie den folgenden Befehl aus:
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --name-pattern=NAME_PATTERN \ --resource-policies=POLICY_NAME \ --zone=ZONE
Ersetzen Sie Folgendes:
Optional können Sie mit dem Flag
--availability-domain
die Verfügbarkeitsdomain angeben, in der die VMs im Bulk-Verfahren erstellt werden sollen.gcloud compute instances bulk create \ --availability-domain=DOMAIN_NUMBER \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --name-pattern=NAME_PATTERN \ --resource-policies=POLICY_NAME \ --zone=ZONE
Ersetzen Sie
DOMAIN_NUMBER
durch die Nummer der Verfügbarkeitsdomäne, in der Sie Ihre VM platzieren möchten. Der Wert muss zwischen1
und der Anzahl der in der Richtlinie für die verteilte Platzierung angegebenen Domains liegen. Die Anzahl der Domains in einer Richtlinie für gestreute Placements finden Sie in den Details der Platzierungsrichtlinie.REST
Wenn Sie VMs im Bulk erstellen möchten, die eine Richtlinie für gestreute Platzierung angeben, erstellen Sie einen
POST
an die Methodeinstances.bulkInsert
. Geben Sie im Anfragetext das FeldresourcePolicies
an.Wenn Sie beispielsweise VMs im Bulk in einer einzelnen Zone erstellen und ein Namensmuster für die VMs angeben möchten, stellen Sie eine
POST
-Anfrage wie hier beschrieben:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": "COUNT", "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "resourcePolicies": [ "POLICY_NAME" ] } }
Ersetzen Sie Folgendes:
Optional können Sie die Verfügbarkeitsdomain, in der die VMs im Bulk-Verfahren erstellt werden sollen, angeben, indem Sie das Feld
availabilityDomain
in den Anfragetext einfügen.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": "COUNT", "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "resourcePolicies": [ "POLICY_NAME" ], "scheduling": { "availabilityDomain": DOMAIN_NUMBER } } }
Ersetzen Sie
DOMAIN_NUMBER
durch die Nummer der Verfügbarkeitsdomäne, in der Sie Ihre VM platzieren möchten. Der Wert muss zwischen1
und der Anzahl der in der Richtlinie für die verteilte Platzierung angegebenen Domains liegen. Die Anzahl der Domains in einer Richtlinie für gestreute Placements finden Sie in den Details der Platzierungsrichtlinie.Weitere Informationen zu den Konfigurationsoptionen zum Erstellen von VMs im Bulk finden Sie unter VMs im Bulk erstellen
Richtlinie beim Erstellen einer Instanzvorlage anwenden
Bevor Sie eine Instanzvorlage erstellen, die eine Richtlinie für gestreute Platzierungen angibt, müssen folgende Voraussetzungen erfüllt sein:
Nachdem Sie eine Instanzvorlage erstellt haben, die eine Richtlinie für gestreute Platzierung angibt, können Sie mit der Vorlage Folgendes tun:
Wählen Sie eine der folgenden Optionen aus, um eine Instanzvorlage zu erstellen, die eine Richtlinie für verteilte Platzierung angibt:
gcloud
Verwenden Sie zum Erstellen einer Instanzvorlage, die eine Richtlinie für verteilte Platzierungen angibt, den Befehl
gcloud compute instance-templates create
mit dem Flag--resource-policies
.Beispiel: Führen Sie folgenden Befehl aus, um eine globale Instanzvorlage zu erstellen, die eine Richtlinie für verteilte Platzierungen angibt:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --resource-policies=POLICY_NAME
Ersetzen Sie Folgendes:
Optional können Sie das Flag
--availability-domain
angeben, um die Verfügbarkeitsdomain anzugeben, in der die VMs erstellt werden sollen.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --availability-domain=DOMAIN_NUMBER \ --machine-type=MACHINE_TYPE \ --resource-policies=POLICY_NAME
Ersetzen Sie
DOMAIN_NUMBER
durch die Nummer der Verfügbarkeitsdomäne, in der Sie Ihre VMs erstellen möchten. Der Wert muss zwischen1
und der in der Placement-Richtlinie angegebenen Anzahl von Domains liegen. Die Anzahl der Domains in einer Richtlinie für gestreute Placements finden Sie in den Details der Platzierungsrichtlinie.REST
Wenn Sie eine Instanzvorlage mit einer Richtlinie für verteilte Platzierungen erstellen möchten, senden Sie eine
POST
-Anfrage an eine der folgenden Methoden:Geben Sie im Anfragetext das Feld
resourcePolicies
an.Wenn Sie beispielsweise eine globale Instanzvorlage erstellen möchten, die eine Richtlinie für verteilte Platzierungen angibt, stellen Sie eine
POST
-Anfrage wie hier beschrieben:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "resourcePolicies": [ "POLICY_NAME" ] } }
Ersetzen Sie Folgendes:
Optional können Sie die Verfügbarkeitsdomain, in der die VMs erstellt werden sollen, angeben, indem Sie das Feld
availabilityDomain
in den Anfragetext einfügen.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "resourcePolicies": [ "POLICY_NAME" ], "scheduling": { "availabilityDomain": DOMAIN_NUMBER } } }
Ersetzen Sie
DOMAIN_NUMBER
durch die Nummer der Verfügbarkeitsdomäne, in der Sie Ihre VMs erstellen möchten. Der Wert muss zwischen1
und der in der Placement-Richtlinie angegebenen Anzahl von Domains liegen. Die Anzahl der Domains in einer Richtlinie für gestreute Placements finden Sie in den Details der Platzierungsrichtlinie.Weitere Informationen zu den Konfigurationsoptionen zum Erstellen einer Instanzvorlage finden Sie unter Instanzvorlagen erstellen.
Richtlinie auf VMs in einer verwalteten Instanzgruppe anwenden
Nachdem Sie eine Instanzvorlage erstellt haben, die eine richtlinie für verteilte Platzierung angibt, können Sie mit der Vorlage Folgendes tun:
Richtlinie beim Erstellen einer verwalteten Instanzgruppe anwenden
Sie können VMs, die eine Richtlinie für verteilte Platzierung angeben, nur erstellen, wenn sich die VMs in derselben Region wie die Platzierungsrichtlinie befinden.
Wählen Sie eine der folgenden Optionen aus, um eine verwaltete Instanzgruppe mit einer Instanzvorlage zu erstellen, die eine Richtlinie für die verteilte Platzierung angibt:
gcloud
Verwenden Sie den Befehl
gcloud compute instance-groups managed create
, um eine verwaltete Instanzgruppe mit einer Instanzvorlage zu erstellen, die eine Richtlinie für die verteilte Platzierung angibt.Beispiel: Führen Sie folgenden Befehl aus, um eine zonale verwaltete Instanzgruppe mit einer globalen Instanzvorlage zu erstellen, die eine Richtlinie für verteilte Platzierungen angibt:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE
Ersetzen Sie Folgendes:
REST
Wenn Sie eine verwaltete Instanzgruppe mit einer Instanzvorlage erstellen möchten, die eine Richtlinie für verteilte Platzierungen angibt, senden Sie eine
POST
-Anfrage an eine der folgenden Methoden:Wenn Sie beispielsweise eine zonale verwaltete Instanzgruppe mit einer globalen Instanzvorlage erstellen möchten, die eine Richtlinie für verteilte Platzierungen angibt, stellen Sie eine
POST
-Anfrage:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "versions": [ { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" } ] }
Ersetzen Sie Folgendes:
Weitere Informationen zu den Konfigurationsoptionen zum Erstellen von verwaltete Instanzgruppen finden Sie unter Grundlegende Szenarien zum Erstellen verwalteter Instanzgruppen.
Richtlinie auf eine vorhandene verwaltete Instanzgruppe anwenden
Sie können eine Richtlinie für gestreute Platzierung nur auf eine vorhandene verwaltete Instanzgruppe (MIG, Managed Instance Group) anwenden, wenn sich die verwaltete Instanzgruppe in derselben Region oder (bei zonalen verwalteten Instanzgruppen) in einer Zone innerhalb derselben Region wie die Platzierungsrichtlinie befindet.
Wählen Sie eine der folgenden Optionen aus, um eine MIG so zu aktualisieren, dass sie eine Instanzvorlage verwendet, die eine Richtlinie für verteilte Platzierung angibt:
gcloud
Verwenden Sie den Befehl
gcloud compute instance-groups managed rolling-action start-update
, um eine MIG so zu aktualisieren, dass sie eine Instanzvorlage nutzt, die eine Richtlinie für gestreute Platzierung angibt.Wenn Sie beispielsweise eine zonale verwaltete Instanzgruppe so aktualisieren möchten, dass sie eine Instanzvorlage verwendet, die eine Richtlinie für gestreute Platzierung angibt, und die vorhandenen VMs aus der verwalteten Instanzgruppe durch neue VMs ersetzen möchten, die die Attribute der Vorlage angeben, führen Sie den folgenden Befehl aus:
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \ --version=template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE
Ersetzen Sie Folgendes:
REST
Wenn Sie eine verwaltete Instanzgruppe so aktualisieren möchten, dass eine Instanzvorlage verwendet wird, die eine Richtlinie für gestreute Platzierung angibt, und Sie die Attribute der Vorlage und der Platzierungsrichtlinie automatisch auf vorhandene VMs in der verwalteten Instanzgruppe anwenden möchten, senden Sie eine
PATCH
-Anfrage an die folgende Methode.Wenn Sie beispielsweise eine zonale verwaltete Instanzgruppe so aktualisieren möchten, dass sie eine globale Instanzvorlage verwendet, die eine Richtlinie für gestreute Platzierung angibt, und die vorhandenen VMs aus der verwalteten Instanzgruppe durch neue VMs ersetzen möchten, die die Attribute der Vorlage angeben, stellen Sie die folgende Anfrage
PATCH
:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" }
Ersetzen Sie Folgendes:
Weitere Informationen zu den Konfigurationsoptionen zum Aktualisieren der VMs in einer verwalteten Instanzgruppe finden Sie unter Neue Konfigurationen auf VMs in einer verwalteten Instanzgruppe aktualisieren und anwenden.
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-02-05 (UTC).
-