In diesem Dokument wird erläutert, wie Sie die Netzwerklatenz zwischen Ihren VM-Instanzen reduzieren, indem Sie Richtlinien für kompakte Platzierung erstellen und darauf anwenden.
Eine Richtlinie für kompakte Platzierung gibt an, dass Ihre VMs näher beieinander platziert werden sollen. Dies kann dazu beitragen, die Leistung zu verbessern und die Netzwerklatenz zwischen Ihren VMs zu verringern, wenn Sie beispielsweise Hochleistungs-Computing (HPC), maschinelles Lernen (ML) oder Datenbankserver-Arbeitslasten ausführen.
So können Sie eine Richtlinie für kompakte Platzierung anwenden:
- VMs erstellen oder aktualisieren
- Reservierung für ein einzelnes Projekt erstellen
- VMs im Bulk erstellen
- eine Instanzvorlage erstellen Die Instanzvorlage wendet dann die Richtlinie für kompakte Platzierung an, wenn Sie sie für Folgendes verwenden:
- Erstellen Sie eine VM.
- Eine verwaltete Instanzgruppe (MIG) erstellen oder aktualisieren
- Reservierung für ein einzelnes Projekt erstellen
Hinweise
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Zum erstellen von Platzierungsrichtlinien:
compute.resourcePolicies.create
für das Projekt -
Um eine Platzierungsrichtlinie auf eine vorhandene VM anzuwenden:
compute.instances.addResourcePolicies
für das Projekt -
So rufen Sie die Details einer VM auf:
compute.instances.get
im Projekt Bei Richtlinie für kompakte Platzierung können Sie
max-distance
(Vorschau) verwenden, um besser zu steuern, wie weit entfernt Ihre VMs platziert werden sollen. In der folgenden Tabelle sind die unterstützte Anzahl von VMs und die Hostwartungsrichtlinie für jedenmax-distance
-Wert aufgeführt:max-distance
WertBeschreibung Maximale Anzahl von VMs Unterstützte Hostwartungsrichtlinie Ohne Angabe Je nach Verfügbarkeit werden die VMs so nahe wie möglich beieinander platziert. 1.500 Migrieren oder beenden 3
Die VMs werden für eine niedrige Latenz in angrenzenden Clustern platziert. 1.500 Migrieren oder beenden 2
Die VMs werden in angrenzenden Racks platziert und haben eine geringere Netzwerklatenz als VMs in benachbarten Clustern. 150 Beenden 1
Die VMs werden im selben Rack platziert und minimieren die Netzwerklatenz so weit wie möglich. 22 Beenden Sie können eine Richtlinie für kompakte Platzierung nur auf die Maschinenserien A2, A3, C2, C3, C2D, C3D, G2, H3, N2, und N2D anwenden. Wenn Sie beim Erstellen einer Richtlinie für kompakte Platzierung
max-distance
verwenden, können Sie die Richtlinie nicht auf die Maschinenserie A3, G2, N2 und N2D anwenden.Sie können keine Richtlinien für kompakte Platzierung auf VMs anwenden, die Knoten für einzelne Mandanten angeben.
Wenn Sie eine Richtlinie für kompakte Platzierung für eine Reservierung erstellen möchten, finden Sie weitere Informationen unter Zusätzliche Anforderungen für Reservierungen.
Empfohlen: Ohne feste Anzahl.
Sie können eine Richtlinie für kompakte Platzierung, die keine feste Anzahl von VMs vorgibt, auf eine unbestimmte Anzahl von VMs anwenden. So wird die Richtlinie für die kompakte Platzierung unabhängig von der Anzahl der VMs, auf die Sie sie anwenden, wirksam.
Mit fester Anzahl
Sie können eine Richtlinie für kompakte Platzierung, die eine feste Anzahl von VMs angibt, nur auf eine genaue Anzahl von VMs anwenden. Dadurch wird die Richtlinie für kompakte Platzierung nur wirksam, wenn sie auf die angegebene Anzahl von VMs angewendet wird.
POLICY_NAME
: Name der zu erstellenden Richtlinie.REGION
: Die Region, in der die Policy erstellt werden soll. Wenn Sie die Richtlinie für kompakte Platzierung auf vorhandene VMs anwenden möchten, erstellen Sie die Richtlinie in einer Region, die die Zone enthält, in der sich die VMs befinden.Wenn eine Zone freie Kapazität hat, kann eine Richtlinie für kompakte Platzierung mit einem höheren
maxDistance
-Wert (z. B.3
) dazu führen, dass Ihre VMs näher beieinander platziert werden.Wenn eine Zone nicht über ausreichende Kapazitäten verfügt, ist es wahrscheinlicher, dass eine Richtlinie für kompakte Platzierung mit einem niedrigeren
maxDistance
-Wert (z. B.1
) dazu führt, dass die Anwendung der Richtlinie auf eine oder mehrere Ihrer VMs fehlschlägt.PROJECT_ID
: Die ID des Projekts, in dem Sie die Platzierungsrichtlinie erstellen möchten.REGION
: Die Region, in der die Platzierungsrichtlinie erstellt werden soll. Wenn Sie die Richtlinie für kompakte Platzierung auf vorhandene VMs anwenden möchten, erstellen Sie die Richtlinie in einer Region, die die Zone enthält, in der sich die VMs befinden.POLICY_NAME
: Der Name der zu erstellenden Richtlinie für kompakte Platzierung.Wenn eine Zone freie Kapazität hat, kann eine Richtlinie für kompakte Platzierung mit einem höheren
maxDistance
-Wert (z. B.3
) dazu führen, dass Ihre VMs näher beieinander platziert werden.Wenn eine Zone nicht über ausreichende Kapazitäten verfügt, ist es wahrscheinlicher, dass eine Richtlinie für kompakte Platzierung mit einem niedrigeren
maxDistance
-Wert (z. B.1
) dazu führt, dass die Anwendung der Richtlinie auf eine oder mehrere Ihrer VMs fehlschlägt.POLICY_NAME
: Name der zu erstellenden Richtlinie.REGION
: Die Region, in der die Policy erstellt werden soll. Wenn Sie die Richtlinie für kompakte Platzierung auf vorhandene VMs anwenden möchten, erstellen Sie die Richtlinie in einer Region, die die Zone enthält, in der sich die VMs befinden.VM_COUNT
: Die genaue Anzahl der VMs, auf die Sie die Richtlinie für kompakte Platzierung anwenden können. Der Wert muss zwischen1
und der maximalen Anzahl von VMs liegen, auf die Sie die Richtlinie für kompakte Platzierung anwenden können.Wenn eine Zone freie Kapazität hat, kann eine Richtlinie für kompakte Platzierung mit einem höheren
maxDistance
-Wert (z. B.3
) dazu führen, dass Ihre VMs näher beieinander platziert werden.Wenn eine Zone nicht über ausreichende Kapazitäten verfügt, ist es wahrscheinlicher, dass eine Richtlinie für kompakte Platzierung mit einem niedrigeren
maxDistance
-Wert (z. B.1
) dazu führt, dass die Anwendung der Richtlinie auf eine oder mehrere Ihrer VMs fehlschlägt.PROJECT_ID
: Die ID des Projekts, in dem Sie die Platzierungsrichtlinie erstellen möchten.REGION
: Die Region, in der die Platzierungsrichtlinie erstellt werden soll. Wenn Sie die Richtlinie für kompakte Platzierung auf vorhandene VMs anwenden möchten, erstellen Sie die Richtlinie in einer Region, die die Zone enthält, in der sich die VMs befinden.POLICY_NAME
: Der Name der zu erstellenden Richtlinie für kompakte Platzierung.VM_COUNT
: Die genaue Anzahl der VMs, auf die Sie die Richtlinie für kompakte Platzierung anwenden können. Der Wert muss zwischen1
und der maximalen Anzahl von VMs liegen, auf die Sie die Richtlinie für kompakte Platzierung anwenden können.Wenn eine Zone freie Kapazität hat, kann eine Richtlinie für kompakte Platzierung mit einem höheren
maxDistance
-Wert (z. B.3
) dazu führen, dass Ihre VMs näher beieinander platziert werden.Wenn eine Zone nicht über ausreichende Kapazitäten verfügt, ist es wahrscheinlicher, dass eine Richtlinie für kompakte Platzierung mit einem niedrigeren
maxDistance
-Wert (z. B.1
) dazu führt, dass die Anwendung der Richtlinie auf eine oder mehrere Ihrer VMs fehlschlägt.- Richtlinie für kompakte Platzierung auf eine bestehende VM anwenden
- VM erstellen, die eine Richtlinie für kompakte Platzierung angibt
- VMs im Bulk erstellen, die eine Richtlinie für kompakte Platzierung angeben
- Instanzvorlage erstellen, die eine Richtlinie für kompakte Platzierungen angibt
- Richtlinie für kompakte Platzierungen auf die VMs in einer verwaltete Instanzgruppe anwenden
Die VM und die Richtlinie für kompakte Platzierung befinden sich im selben Projekt.
Die VM befindet sich in der Region, in der sich die Richtlinie für kompakte Platzierung befindet.
Die VM gibt eine unterstützte Maschinenserie und Hostwartungsrichtlinie an.
VM_NAME
: Der Name einer vorhandenen VM.POLICY_NAME
: Der Name einer vorhandenen Richtlinie für kompakte Platzierung.ZONE
: die Zone, in der sich die VM befindet.PROJECT_ID
: Die ID des Projekts, in dem sich die Richtlinie für kompakte Platzierung und die VM befinden.ZONE
: Zone, in der sich die VM befindet. Sie muss sich in der Region befinden, in der sich die Richtlinie für kompakte Platzierung befindet.VM_NAME
: Der Name einer vorhandenen VM.REGION
: Die Region, in der sich die Richtlinie für kompakte Platzierungen befindet.POLICY_NAME
: Der Name einer vorhandenen Richtlinie für kompakte Platzierung.VM_NAME
: der Name der zu erstellenden VM.MAINTENANCE_POLICY
: Die Hostwartungsrichtlinie der VM. Wenn die von Ihnen angegebene Richtlinie für kompakte Platzierung denmax-distance
-Wert1
oder2
verwendet, können Sie nurTERMINATE
angeben. Andernfalls können Sie entwederMIGRATE
oderTERMINATE
angeben.POLICY_NAME
: Der Name einer vorhandenen Richtlinie für kompakte Platzierung.ZONE
: Die Zone, in der die VM erstellt werden soll. Sie können eine VM nur in einer Zone erstellen, die sich innerhalb der Region der von Ihnen angegebenen Richtlinie für kompakte Platzierung befindet.PROJECT_ID
: Die ID des Projekts, in dem sich die Richtlinie für kompakte Platzierung befindet.ZONE
: Die Zone, in der die VM erstellt werden soll und in der sich der Maschinentyp befindet. Sie können eine VM nur in einer Zone erstellen, die sich innerhalb der Region der von Ihnen angegebenen Richtlinie für kompakte Platzierung befindet.VM_NAME
: der Name der zu erstellenden VM.REGION
: Die Region, in der sich die Richtlinie für kompakte Platzierungen befindet.POLICY_NAME
: Der Name einer vorhandenen Richtlinie für kompakte Platzierung.MAINTENANCE_POLICY
: Die Hostwartungsrichtlinie der VM. Wenn die von Ihnen angegebene Richtlinie für kompakte Platzierung denmax-distance
-Wert1
oder2
verwendet, können Sie nurTERMINATE
angeben. Andernfalls können Sie entwederMIGRATE
oderTERMINATE
angeben.COUNT
ist die Anzahl der zu erstellenden VMs.MAINTENANCE_POLICY
: Die Hostwartungsrichtlinie der VM. Wenn die von Ihnen angegebene Richtlinie für kompakte Platzierung denmax-distance
-Wert1
oder2
verwendet, können Sie nurTERMINATE
angeben. Andernfalls können Sie entwederMIGRATE
oderTERMINATE
angeben.NAME_PATTERN
: Das Namensmuster für die zu erstellenden VMs. Verwenden Sie das Rautezeichen (#
), um es durch eine Zahlenfolge zu ersetzen. Wenn Sie hier beispielsweisevm-#
angeben, werden VMs mit den Namenvm-1
,vm-2
usw. erstellt, bis die Anzahl der inCOUNT
angegebenen VMs erreicht ist.POLICY_NAME
: Der Name einer vorhandenen Richtlinie für kompakte Platzierung.ZONE
: Die Zone, in der die VMs im Bulk erstellt werden sollen. Sie können VMs nur in Zonen erstellen, die sich innerhalb der Region der von Ihnen angegebenen Richtlinie für kompakte Platzierungen befinden.PROJECT_ID
: Die ID des Projekts, in dem sich die Richtlinie für kompakte Platzierung befindet.ZONE
: Die Zone, in der die VMs im Bulk erstellt werden sollen und wo sich der Maschinentyp befindet. Sie können VMs nur in Zonen erstellen, die sich innerhalb der Region der von Ihnen angegebenen Richtlinie für kompakte Platzierungen befinden.COUNT
ist die Anzahl der zu erstellenden VMs.NAME_PATTERN
: Das Namensmuster für die zu erstellenden VMs. Verwenden Sie das Rautezeichen (#
), um es durch eine Zahlenfolge zu ersetzen. Wenn Sie hier beispielsweisevm-#
angeben, werden VMs mit den Namenvm-1
,vm-2
usw. erstellt, bis die Anzahl der inCOUNT
angegebenen VMs erreicht ist.REGION
: Die Region, in der sich die Richtlinie für kompakte Platzierungen befindet.POLICY_NAME
: Der Name einer vorhandenen Richtlinie für kompakte Platzierung.MAINTENANCE_POLICY
: Die Hostwartungsrichtlinie der VM. Wenn die von Ihnen angegebene Richtlinie für kompakte Platzierung denmax-distance
-Wert1
oder2
verwendet, können Sie nurTERMINATE
angeben. Andernfalls können Sie entwederMIGRATE
oderTERMINATE
angeben.INSTANCE_TEMPLATE_NAME
: der Name der Instanzvorlage.MAINTENANCE_POLICY
: Die Hostwartungsrichtlinie der VM. Wenn die von Ihnen angegebene Richtlinie für kompakte Platzierung denmax-distance
-Wert1
oder2
verwendet, können Sie nurTERMINATE
angeben. Andernfalls können Sie entwederMIGRATE
oderTERMINATE
angeben.POLICY_NAME
: Der Name einer vorhandenen Richtlinie für kompakte Platzierung.PROJECT_ID
: Projekt-ID des Projekts, in dem sich die Richtlinie für kompakte Platzierungen befindet, die Sie auf die Instanzvorlage anwenden möchten.ZONE
: die Zone, in der sich der Maschinentyp befindet.INSTANCE_TEMPLATE_NAME
: der Name der Instanzvorlage.POLICY_NAME
: Der Name einer vorhandenen Richtlinie für kompakte Platzierung.MAINTENANCE_POLICY
: Die Hostwartungsrichtlinie der VM. Wenn die von Ihnen angegebene Richtlinie für kompakte Platzierung denmax-distance
-Wert1
oder2
verwendet, können Sie nurTERMINATE
angeben. Andernfalls können Sie entwederMIGRATE
oderTERMINATE
angeben.Erstellen Sie eine MIG, die dieselbe Richtlinie für kompakte Platzierungen angibt.
Richtlinie für kompakte Platzierungen auf eine vorhandene MIG anwenden.
MIG_NAME
: Name der MIG, die erstellt werden soll.REGION
: Region, in der die MIG erstellt werden soll. Diese muss mit der Region übereinstimmen, in der sich die Richtlinie für kompakte Platzierungen befindet.SIZE
: Die Größe der MIG.INSTANCE_TEMPLATE_NAME
: Name einer vorhandenen Instanzvorlage, die eine Richtlinie für kompakte Platzierungen angibt.PROJECT_ID
: Die Projekt-ID des Projekts, in dem sich die Richtlinie für kompakte Platzierungen und die Instanzvorlage, die die Platzierungsrichtlinie angibt, befinden.REGION
: Region, in der die MIG erstellt werden soll. Diese muss mit der Region übereinstimmen, in der sich die Richtlinie für kompakte Platzierungen befindet.MIG_NAME
: Name der MIG, die erstellt werden soll.INSTANCE_TEMPLATE_NAME
: Name einer vorhandenen Instanzvorlage, die eine Richtlinie für kompakte Platzierungen angibt.SIZE
: Die Größe der MIG.MIG_NAME
: Name einer vorhandenen MIG.REGION
: Die Region, in der sich die MIG befindet. Sie können die Richtlinie für kompakte Platzierung nur auf eine MIG in derselben Region anwenden.INSTANCE_TEMPLATE_NAME
: Name einer vorhandenen Instanzvorlage, die eine Richtlinie für kompakte Platzierungen angibt.PROJECT_ID
: Die ID des Projekts, in dem sich die MIG, die Richtlinie für kompakte Platzierungen und die Instanzvorlage, die die Platzierungsrichtlinie angibt, befinden.REGION
: Die Region, in der sich die MIG befindet. Sie können die Richtlinie für kompakte Platzierung nur auf eine MIG in derselben Region anwenden.MIG_NAME
: Name einer vorhandenen MIG.INSTANCE_TEMPLATE_NAME
: Name einer vorhandenen Instanzvorlage, die eine Richtlinie für kompakte Platzierungen angibt.VM_NAME
: Der Name einer vorhandenen VM.ZONE
: die Zone, in der sich die VM befindet./CCCCCCC/xxxxxx/xxxx
: Die beiden VMs werden im selben Cluster platziert. Dies entspricht einemmax-distance
-Wert von2
. VMs, die im selben Cluster platziert sind, haben eine niedrige Netzwerklatenz./CCCCCCC/BBBBBB/xxxx
: Die beiden VMs werden im selben Rack platziert, was demmax-distance
-Wert1
entspricht. VMs, die im selben Rack platziert sind, haben eine geringere Netzwerklatenz als VMs, die im selben Cluster platziert sind./CCCCCCC/BBBBBB/AAAA
: Die beiden VMs teilen sich denselben Host. VMs, die im selben Host platziert sind, minimieren die Netzwerklatenz so weit wie möglich.PROJECT_ID
: die Projekt-ID des Projekts, in dem sich die VM befindet.ZONE
: die Zone, in der sich die VM befindet.VM_NAME
: Der Name einer vorhandenen VM, die eine Platzierungsrichtlinie angibt./CCCCCCC/xxxxxx/xxxx
: Die beiden VMs werden im selben Cluster platziert. Dies entspricht einemmax-distance
-Wert von2
. VMs, die im selben Cluster platziert sind, haben eine niedrige Netzwerklatenz./CCCCCCC/BBBBBB/xxxx
: Die beiden VMs werden im selben Rack platziert, was demmax-distance
-Wert1
entspricht. VMs, die im selben Rack platziert sind, haben eine geringere Netzwerklatenz als VMs, die im selben Cluster platziert sind./CCCCCCC/BBBBBB/AAAA
: Die beiden VMs teilen sich denselben Host. VMs, die im selben Host platziert sind, minimieren die Netzwerklatenz so weit wie möglich.Informationen zum Ersetzen, Entfernen oder Löschen von Platzierungsrichtlinien
Weitere Informationen dazu, wie Sie mit einer VM, die eine Platzierungsrichtlinie angibt:
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 die IAM-Rolle Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) für die VM oder das Projekt zu gewähren, um die Berechtigungen zu erhalten, die sie zum Erstellen und Anwenden einer Richtlinie für kompakte Platzierung auf VMs brauchen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen und Anwenden einer Richtlinie für kompakte 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 kompakte Platzierung zu erstellen und auf VMs anzuwenden:
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Einschränkungen
Zusätzlich zu den allgemeinen Beschränkungen für Platzierungsrichtlinien gelten für Richtlinien für kompakte Platzierung auch die folgenden Einschränkungen:
Kompakte Platzierungsrichtlinie erstellen
Verwenden Sie eine der folgenden Methoden, um eine Richtlinie für kompakte Platzierung zu erstellen:
Ohne feste Anzahl
Sie können eine Richtlinie für kompakte Platzierung mit der gcloud CLI und REST erstellen.
gcloud
Verwenden Sie zum Erstellen einer Richtlinie für kompakte Platzierung den Befehl
gcloud compute resource-policies create group-placement
mit dem Flag--collocation=collocated
.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGION
Ersetzen Sie Folgendes:
Optional können Sie eine Richtlinie für kompakte Platzierung erstellen, um bei strengen Anforderungen an die Netzwerklatenz den Abstand zwischen den VMs besser steuern zu können, indem Sie den Befehl
gcloud beta compute resource-policies create group-placement
mit den Flags--collocation=collocated
und--max-distance
verwenden.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGION
Ersetzen Sie
MAX_DISTANCE
durch die Konfiguration des maximalen Abstands für Ihre VMs. Der Wert muss zwischen1
, was bedeutet, dass die VMs für eine möglichst geringe Netzwerklatenz im selben Rack platziert werden, und3
liegen, was bedeutet, dass die VMs in benachbarten Clustern platziert werden sollen. Abhängig von dem Maschinentyp und der Zone, die in den VMs angegeben sind, auf die Sie eine Richtlinie für kompakte Platzierung anwenden, gelten die folgenden Bedingungen:REST
Senden Sie zum Erstellen einer Richtlinie für kompakte Platzierung eine
POST
-Anfrage an die MethoderesourcePolicies.insert
. Fügen Sie im Anfragetext das Feldcollocation
ein und setzen Sie es aufCOLLOCATED
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED" } }
Ersetzen Sie Folgendes:
Optional können Sie eine Richtlinie für kompakte Platzierung erstellen, um bei strengen Anforderungen an die Netzwerklatenz den Abstand zwischen den VMs besser steuern zu können, indem Sie eine
POST
-Anfrage an diebeta.resourcePolicies.insert
-Methode senden. Fügen Sie im Anfragetext das Feldcollocation
, das aufCOLLOCATED
festgelegt ist, und das FeldmaxDistance
ein.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": "MAX_DISTANCE" } }
Ersetzen Sie
MAX_DISTANCE
durch die Konfiguration des maximalen Abstands für Ihre VMs. Der Wert muss zwischen1
, was bedeutet, dass die VMs für eine möglichst geringe Netzwerklatenz im selben Rack platziert werden, und3
liegen, was bedeutet, dass die VMs in benachbarten Clustern platziert werden sollen. Abhängig von dem Maschinentyp und der Zone, die in den VMs angegeben sind, auf die Sie eine Richtlinie für kompakte Platzierung anwenden, gelten die folgenden Bedingungen:Mit fester Anzahl
Sie können eine Richtlinie für kompakte Platzierung, die eine feste Anzahl von VMs angibt, mit der gcloud CLI und REST erstellen.
gcloud
Verwenden Sie zum Erstellen einer Richtlinie für kompakte Platzierung, die eine feste Anzahl von VMs angibt, den Befehl
gcloud compute resource-policies create group-placement
mit den Flags--collocation=collocated
und--vm-count
.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGION \ --vm-count=VM_COUNT
Ersetzen Sie Folgendes:
Optional können Sie eine Richtlinie für kompakte Platzierung erstellen, um bei strengen Anforderungen an die Netzwerklatenz den Abstand zwischen den VMs besser steuern zu können, indem Sie den Befehl
gcloud beta compute resource-policies create group-placement
mit den Flags--collocation=collocated
,--max-distance
und--vm-count
verwenden.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGION \ --vm-count=VM_COUNT
Ersetzen Sie
MAX_DISTANCE
durch die Konfiguration des maximalen Abstands für Ihre VMs. Der Wert muss zwischen1
, was bedeutet, dass die VMs für eine möglichst geringe Netzwerklatenz im selben Rack platziert werden, und3
liegen, was bedeutet, dass die VMs in benachbarten Clustern platziert werden sollen. Abhängig von dem Maschinentyp und der Zone, die in den VMs angegeben sind, auf die Sie eine Richtlinie für kompakte Platzierung anwenden, gelten die folgenden Bedingungen:REST
Senden Sie zum Erstellen einer Richtlinie für kompakte Platzierung, die eine feste Anzahl von VMs angibt, eine
POST
-Anfrage an die MethoderesourcePolicies.insert
. Fügen Sie im Anfragetext das Feldcollocation
, das aufCOLLOCATED
festgelegt ist, und das FeldvmCount
ein.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "vmCount": "VM_COUNT" } }
Ersetzen Sie Folgendes:
Optional können Sie eine Richtlinie für kompakte Platzierung erstellen, um bei strengen Anforderungen an die Netzwerklatenz den Abstand zwischen den VMs besser steuern zu können, indem Sie eine
POST
-Anfrage an diebeta.resourcePolicies.insert
-Methode senden. Fügen Sie dabei im Anfragetext das Feldcollocation
, das aufCOLLOCATED
festgelegt ist, das FeldmaxDistance
und das FeldvmCount
ein.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": "MAX_DISTANCE", "vmCount": "VM_COUNT" } }
Ersetzen Sie
MAX_DISTANCE
durch die Konfiguration des maximalen Abstands für Ihre VMs. Der Wert muss zwischen1
, was bedeutet, dass die VMs für eine möglichst geringe Netzwerklatenz im selben Rack platziert werden, und3
liegen, was bedeutet, dass die VMs in benachbarten Clustern platziert werden sollen. Abhängig von dem Maschinentyp und der Zone, die in den VMs angegeben sind, auf die Sie eine Richtlinie für kompakte Platzierung anwenden, gelten die folgenden Bedingungen:Richtlinien für kompakte Platzierung anwenden
Sie können eine Richtlinie für kompakte Platzierung auf eine vorhandene VM anwenden, oder wenn Sie VMs, Instanzvorlagen, MIGs oder Reservierungen von VMs erstellen.
Wählen Sie eine der folgenden Methoden aus, um eine Compute Engine-Ressource zu erstellen, die eine Richtlinie für kompakte Platzierung angibt:
Wenn Sie beim Erstellen einer Reservierung für ein einzelnes Projekt eine Richtlinie für kompakte Platzierungen angeben möchten, indem Sie Attribute direkt angeben, lesen Sie stattdessen die Informationen unter Reservierung für ein einzelnes Projekt erstellen.
Nachdem eine Richtlinie für kompakte Platzierung auf eine VM angewendet wurde, können Sie den physischen Standort einer VM in Bezug auf andere VMs prüfen, die dieselbe Richtlinie angeben.
Richtlinie für kompakte Platzierung auf eine bestehende VM anwenden
Sie können mit der gcloud CLI und REST eine Richtlinie für kompakte Platzierung auf eine vorhandene VM anwenden.
Bevor Sie eine Richtlinie für kompakte Platzierung auf eine vorhandene VM anwenden, achten Sie auf Folgendes:
Andernfalls schlägt das Anwenden der Richtlinie für kompakte Platzierung auf eine vorhandene VM fehl.
gcloud
Verwenden Sie den Befehl
gcloud compute instances add-resource-policies
mit dem Flag--resource-policies
, um eine Richtlinie für kompakte 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
mit dem FeldresourcePolicies
, um eine Richtlinie für kompakte 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:
VM erstellen, die eine Richtlinie für kompakte Platzierung angibt
Sie können eine VM, die eine vorhandene Richtlinie für kompakte Platzierung angibt, mit der gcloud CLI und REST erstellen.
gcloud
Verwenden Sie zum Erstellen einer VM mit einer Richtlinie für kompakte Platzierung den Befehl
gcloud compute instances create
mit dem Flag--resource-policies
.Führen Sie beispielsweise den folgenden Befehl aus, um eine VM zu erstellen, die einen
c2d-standard-2
-Maschinentyp angibt:gcloud compute instances create VM_NAME \ --machine-type=c2d-standard-2 \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME \ --zone=ZONE
Ersetzen Sie Folgendes:
REST
Senden Sie zum Erstellen einer VM mit einer Richtlinie für kompakte Platzierung eine
POST
-Anfrage an die Methodeinstances.insert
mit dem FeldresourcePolicies
.Stellen Sie beispielsweise die folgende
POST
-Anfrage, um eine VM zu erstellen, die den Maschinentypc2d-standard-2
angibt:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/ZONE/machineTypes/c2d-standard-2", "name": "VM_NAME", "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } }
Ersetzen Sie Folgendes:
Weitere Informationen zu den Konfigurationsoptionen und den IAM-Rollen zum Erstellen einer VM finden Sie unter VM-Instanz erstellen und starten.
VMs im Bulk erstellen, die eine Richtlinie für kompakte Platzierung angeben
Sie können mit der gcloud CLI und REST VMs im Bulk erstellen, die eine vorhandene Richtlinie für kompakte Platzierung angeben.
gcloud
Wenn Sie VMs im Bulk erstellen möchten, die eine Richtlinie für kompakte Platzierung angeben, verwenden Sie den Befehl
gcloud compute instances bulk create
mit dem Flag--resource-policies
.Wenn Sie beispielsweise VMs im Bulk erstellen möchten, die alle einen
c2d-standard-2
-Maschinentyp und dieselbe Richtlinie für kompakte Platzierung angeben, führen Sie den folgenden Befehl aus:gcloud compute instances bulk create \ --async \ --count=COUNT \ --machine-type=c2d-standard-2 \ --maintenance-policy=MAINTENANCE_POLICY \ --name-pattern=NAME_PATTERN \ --resource-policies=POLICY_NAME \ --zone=ZONE
Ersetzen Sie Folgendes:
REST
Wenn Sie VMs im Bulk erstellen möchten, die eine Richtlinie für kompakte Platzierungen angeben, erstellen Sie eine
POST
-Anfrage an die Methodeinstances.bulkInsert
mit dem FeldresourcePolicies
.Wenn Sie beispielsweise VMs im Bulk erstellen möchten, die alle einen
c2d-standard-2
-Maschinentyp und dieselbe Richtlinie für kompakte Platzierung angeben, stellen Sie folgendePOST
-Anfrage:POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": "COUNT", "machineType": "zones/ZONE/machineTypes/c2d-standard-2", "namePattern": "NAME_PATTERN", "instanceProperties": { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Ersetzen Sie Folgendes:
Weitere Informationen zu den Konfigurationsoptionen oder den IAM-Rollen für das Erstellen von VMs im Bulk finden Sie unter VMs im Bulk erstellen.
Instanzvorlage erstellen, die eine Richtlinie für kompakte Platzierungen angibt
Sie können mit der gcloud CLI und REST eine Instanzvorlage erstellen, die eine vorhandene Richtlinie für kompakte Platzierung angibt.
Nachdem Sie eine Instanzvorlage erstellt haben, können Sie sie für Folgendes verwenden:
gcloud
Verwenden Sie zum Erstellen einer Instanzvorlage, die eine Richtlinie für kompakte Platzierungen angibt, den Befehl
gcloud compute instance-templates create
mit dem Flag--resource-policies
.Führen Sie beispielsweise den folgenden Befehl aus, um eine globale Instanzvorlage zu erstellen, die einen
c2d-standard-2
-Maschinentyp und eine vorhandene Richtlinie für kompakte Platzierung angibt:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=c2d-standard-2 \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME
Ersetzen Sie Folgendes:
REST
Senden Sie zum Erstellen einer Instanzvorlage mit einer Richtlinie für kompakte Platzierungen eine
POST
-Anfrage an die MethodeinstanceTemplates.insert
. Geben Sie im Anfragetext dasresourcePolicies
-Feld an:Wenn Sie beispielsweise eine globale Instanzvorlage erstellen möchten, die einen
c2d-standard-2
-Maschinentyp und eine vorhandene Richtlinie für kompakte Platzierung angibt, stellen Sie folgendePOST
-Anfrage:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "machineType": "zones/ZONE/machineTypes/c2d-standard-2", "properties": { "resourcePolicies": { "POLICY_NAME" }, "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Ersetzen Sie Folgendes:
Weitere Informationen zu den Konfigurationsoptionen zum Erstellen einer Instanzvorlage finden Sie unter Instanzvorlagen erstellen.
Richtlinie für kompakte Platzierungen auf die VMs in einer verwaltete Instanzgruppe anwenden
Nachdem Sie eine Instanzvorlage erstellt haben, die eine Richtlinie für kompakte Platzierung angibt, können Sie mit der Vorlage Folgendes tun:
Wenn Sie eine Richtlinie für kompakte Platzierungen auf eine MIG anwenden möchten, sollten Sie die Richtlinie erstellen und sie auf eine regionale MIG mit einer beliebigen Zone als Verteilungsform anwenden. Wenn dann eine regionale MIG durch das Erstellen von VMs horizontal skaliert werden muss, wird die Zone, in der die VMs erstellt werden sollen, basierend auf Ihren Reservierungen, Kontingenten und Hardwareanforderungen ausgewählt.
Verwaltete Instanzgruppe erstellen, die eine Richtlinie für kompakte Platzierungen angibt
Sie können mit der gcloud CLI und REST eine MIG mit einer Instanzvorlage erstellen, die eine Richtlinie für kompakte Platzierungen angibt.
gcloud
Verwenden Sie zum Erstellen einer MIG mit einer Instanzvorlage, die eine Richtlinie für kompakte Platzierungen angibt, den Befehl
gcloud compute instance-groups managed create
mit dem Flag--template
.Führen Sie beispielsweise den folgenden Befehl aus, um eine regionale MIG mit der Verteilungsform Beliebige einzelne Zone zu erstellen:
gcloud compute instance-groups managed create MIG_NAME \ --region=REGION \ --size=SIZE \ --target-distribution-shape=any-single-zone \ --template=INSTANCE_TEMPLATE_NAME
Ersetzen Sie Folgendes:
REST
Wenn Sie eine MIG mit einer Instanzvorlage erstellen möchten, die eine Richtlinie für kompakte Platzierungen angibt, stellen Sie eine
POST
-Anfrage an die MethodeninstanceGroupManagers.insert
oderregionInstanceGroupManagers.insert
, wobei das FeldinstanceTemplate
auf den Namen der vorhandenen Vorlage gesetzt ist.Wenn Sie beispielsweise eine regionale MIG mit Standard-VM-Attributen und der Verteilungsform Beliebige einzelne Zone erstellen möchten, stellen Sie folgende
POST
-Anfrage:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "MIG_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE" }, "targetSize": SIZE }
Ersetzen Sie Folgendes:
Weitere Informationen zu den Konfigurationsoptionen und den IAM-Rollen zum Erstellen von MIGs finden Sie unter Grundlegende Szenarien zum Erstellen von MIGs.
Richtlinie für kompakte Platzierungen auf eine vorhandene verwaltete Instanzgruppe anwenden
Sie können mit der gcloud CLI und REST eine Richtlinie für kompakte Platzierungen auf eine vorhandene MIG anwenden, indem Sie eine Instanzvorlage verwenden, die dieselbe Platzierungsrichtlinie angibt.
gcloud
Verwenden Sie den Befehl
gcloud compute instance-groups managed rolling-action start-update
mit dem Flag--version=template
, um eine verwaltete Instanzgruppe so zu aktualisieren, dass sie eine Instanzvorlage verwendet, die eine Richtlinie für kompakte Platzierungen festlegt.Wenn Sie beispielsweise eine regionale MIG so aktualisieren möchten, dass sie eine Instanzvorlage verwendet, die eine Richtlinie für kompakte Platzierungen angibt, und die vorhandenen VMs aus der MIG 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 MIG_NAME \ --region=REGION \ --type=proactive \ --version=template=INSTANCE_TEMPLATE_NAME
Ersetzen Sie Folgendes:
REST
Wenn Sie eine MIG so aktualisieren möchten, dass eine Instanzvorlage verwendet wird, die eine Richtlinie für kompakte Platzierungen angibt, und Sie die Attribute der Vorlage und der Platzierungsrichtlinie automatisch auf vorhandene VMs in der MIG anwenden möchten, senden Sie eine
PATCH
-Anfrage aninstanceGroupManagers.insert
oderregionInstanceGroupManagers.insert
mit dem FeldinstanceTemplate
.Wenn Sie beispielsweise eine regionale MIG so aktualisieren möchten, dass sie eine Instanzvorlage verwendet, die eine Richtlinie für kompakte Platzierungen angibt, und die vorhandenen VMs aus der MIG 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/regions/REGION/instanceGroupManagers/MIG_NAME { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "updatePolicy": { "type": "PROACTIVE" } }
Ersetzen Sie Folgendes:
Weitere Informationen zu den Konfigurationsoptionen und den IAM-Rollen zum Aktualisieren der VMs in einer MIG finden Sie unter Neue Konfigurationen auf VMs in einer MIG aktualisieren und anwenden.
Physische VM-Standorte prüfen
Nachdem Sie eine Richtlinie für kompakte Platzierung auf eine VM angewendet haben, können Sie sehen, wie sich die Richtlinie für kompakte Platzierung auf ihren physischen Standort im Vergleich zu anderen VMs auswirkt, die dieselbe Richtlinie angeben. So können Sie feststellen, ob die Richtlinie für kompakte Platzierung korrekt auf eine VM angewendet wurde und abbilden, welche VMs am nächsten beieinander liegen.
Sie können den physischen Standort einer VM, die eine Platzierungsrichtlinie angibt, mit der gcloud CLI und REST prüfen.
gcloud
Verwenden Sie den Befehl
gcloud compute instances describe
mit dem Flag--format
, um den physischen Standort einer VM aufzurufen, die eine Richtlinie für kompakte Platzierung angibt.gcloud compute instances describe VM_NAME \ --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \ --zone=ZONE
Ersetzen Sie Folgendes:
Die Ausgabe sieht in etwa so aus:
VM-Position RESOURCE_POLICIES: us-central1/resourcePolicies/example-policy'] PHYSICAL_HOST: /CCCCCCC/BBBBBB/AAAA
Der Wert für das Feld
PHYSICAL_HOST
besteht aus drei Teilen. Diese Teile stellen jeweils den Cluster, Rack und Host dar, auf dem sich die VM befindet.Beim Vergleich der Position von zwei VMs, die dieselbe Richtlinie für kompakte Platzierungen angeben, gilt: Je mehr Teile im Feld
PHYSICAL_HOST
die VMs teilen, desto näher befinden sie sich. Wenn beispielsweise zwei VMs beide einen der folgenden Beispielwerte für das FeldPHYSICAL_HOST
angeben:REST
Führen Sie eine
GET
-Anfrage an die Methodeinstances.get
aus, um den physischen Standort einer VM aufzurufen, die eine Richtlinie für kompakte Platzierungen angibt.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Ersetzen Sie Folgendes:
Die Ausgabe sieht in etwa so aus:
{ ... "resourcePolicies": [ "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/example-policy" ], "resourceStatus": { "physicalHost": "/xxxxxxxx/xxxxxx/xxxxx" }, ... }
Der Wert für das Feld
physicalHost
besteht aus drei Teilen. Diese Teile stellen jeweils den Cluster, Rack und Host dar, auf dem sich die VM befindet.Beim Vergleich der Position von zwei VMs, die dieselbe Richtlinie für kompakte Platzierungen angeben, gilt: Je mehr Teile im Feld
physicalHost
die VMs teilen, desto näher befinden sie sich. Wenn beispielsweise zwei VMs beide einen der folgenden Beispielwerte für das FeldphysicalHost
angeben: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: 2024-09-03 (UTC).
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problem mit der Übersetzung" },{ "type": "thumb-down", "id": "otherDown", "label":"Sonstiges" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Leicht verständlich" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Mein Problem wurde gelöst" },{ "type": "thumb-up", "id": "otherUp", "label":"Sonstiges" }] -