Latenzen durch die Verwendung von Richtlinien für kompakte Platzierung reduzieren


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.

    Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:

    gcloud

    1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init
    2. Legen Sie eine Standardregion und -zone fest.

    REST

    Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

      Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init

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:

  • 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

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:

  • 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 jeden max-distance-Wert aufgeführt:

    max-distance Wert Beschreibung 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.

Kompakte Platzierungsrichtlinie erstellen

Verwenden Sie eine der folgenden Methoden, um eine Richtlinie für kompakte Platzierung zu erstellen:

  • 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.

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:

  • 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.

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 zwischen 1, was bedeutet, dass die VMs für eine möglichst geringe Netzwerklatenz im selben Rack platziert werden, und 3 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:

  • 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.

REST

Senden Sie zum Erstellen einer Richtlinie für kompakte Platzierung eine POST-Anfrage an die Methode resourcePolicies.insert. Fügen Sie im Anfragetext das Feld collocation ein und setzen Sie es auf COLLOCATED.

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

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

Ersetzen Sie Folgendes:

  • 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.

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 die beta.resourcePolicies.insert-Methode senden. Fügen Sie im Anfragetext das Feld collocation, das auf COLLOCATED festgelegt ist, und das Feld maxDistance 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 zwischen 1, was bedeutet, dass die VMs für eine möglichst geringe Netzwerklatenz im selben Rack platziert werden, und 3 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:

  • 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.

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:

  • 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 zwischen 1 und der maximalen Anzahl von VMs liegen, auf die Sie die Richtlinie für kompakte Platzierung anwenden können.

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 zwischen 1, was bedeutet, dass die VMs für eine möglichst geringe Netzwerklatenz im selben Rack platziert werden, und 3 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:

  • 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.

REST

Senden Sie zum Erstellen einer Richtlinie für kompakte Platzierung, die eine feste Anzahl von VMs angibt, eine POST-Anfrage an die Methode resourcePolicies.insert. Fügen Sie im Anfragetext das Feld collocation, das auf COLLOCATED festgelegt ist, und das Feld vmCount 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:

  • 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 zwischen 1 und der maximalen Anzahl von VMs liegen, auf die Sie die Richtlinie für kompakte Platzierung anwenden können.

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 die beta.resourcePolicies.insert-Methode senden. Fügen Sie dabei im Anfragetext das Feld collocation, das auf COLLOCATED festgelegt ist, das Feld maxDistance und das Feld vmCount 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 zwischen 1, was bedeutet, dass die VMs für eine möglichst geringe Netzwerklatenz im selben Rack platziert werden, und 3 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:

  • 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.

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:

  • 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.

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:

  • 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.

REST

Senden Sie eine POST-Anfrage an die Methode instances.addResourcePolicies mit dem Feld resourcePolicies, 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:

  • 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 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:

  • VM_NAME: der Name der zu erstellenden VM.

  • MAINTENANCE_POLICY: Die Hostwartungsrichtlinie der VM. Wenn die von Ihnen angegebene Richtlinie für kompakte Platzierung den max-distance-Wert 1 oder 2 verwendet, können Sie nur TERMINATE angeben. Andernfalls können Sie entweder MIGRATE oder TERMINATE 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.

REST

Senden Sie zum Erstellen einer VM mit einer Richtlinie für kompakte Platzierung eine POST-Anfrage an die Methode instances.insert mit dem Feld resourcePolicies.

Stellen Sie beispielsweise die folgende POST-Anfrage, um eine VM zu erstellen, die den Maschinentyp c2d-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:

  • 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 den max-distance-Wert 1 oder 2 verwendet, können Sie nur TERMINATE angeben. Andernfalls können Sie entweder MIGRATE oder TERMINATE angeben.

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:

  • COUNT ist die Anzahl der zu erstellenden VMs.

  • MAINTENANCE_POLICY: Die Hostwartungsrichtlinie der VM. Wenn die von Ihnen angegebene Richtlinie für kompakte Platzierung den max-distance-Wert 1 oder 2 verwendet, können Sie nur TERMINATE angeben. Andernfalls können Sie entweder MIGRATE oder TERMINATE 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 beispielsweise vm-# angeben, werden VMs mit den Namen vm-1, vm-2 usw. erstellt, bis die Anzahl der in COUNT 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.

REST

Wenn Sie VMs im Bulk erstellen möchten, die eine Richtlinie für kompakte Platzierungen angeben, erstellen Sie eine POST-Anfrage an die Methode instances.bulkInsert mit dem Feld resourcePolicies.

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 folgende POST-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:

  • 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 beispielsweise vm-# angeben, werden VMs mit den Namen vm-1, vm-2 usw. erstellt, bis die Anzahl der in COUNT 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 den max-distance-Wert 1 oder 2 verwendet, können Sie nur TERMINATE angeben. Andernfalls können Sie entweder MIGRATE oder TERMINATE angeben.

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:

  • INSTANCE_TEMPLATE_NAME: der Name der Instanzvorlage.

  • MAINTENANCE_POLICY: Die Hostwartungsrichtlinie der VM. Wenn die von Ihnen angegebene Richtlinie für kompakte Platzierung den max-distance-Wert 1 oder 2 verwendet, können Sie nur TERMINATE angeben. Andernfalls können Sie entweder MIGRATE oder TERMINATE angeben.

  • POLICY_NAME: Der Name einer vorhandenen Richtlinie für kompakte Platzierung.

REST

Senden Sie zum Erstellen einer Instanzvorlage mit einer Richtlinie für kompakte Platzierungen eine POST-Anfrage an die Methode instanceTemplates.insert. Geben Sie im Anfragetext das resourcePolicies-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 folgende POST-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:

  • 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 den max-distance-Wert 1 oder 2 verwendet, können Sie nur TERMINATE angeben. Andernfalls können Sie entweder MIGRATE oder TERMINATE angeben.

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:

  • 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.

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 Methoden instanceGroupManagers.insert oder regionInstanceGroupManagers.insert, wobei das Feld instanceTemplate 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:

  • 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.

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:

  • 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.

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 an instanceGroupManagers.insert oder regionInstanceGroupManagers.insert mit dem Feld instanceTemplate.

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:

  • 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.

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:

  • VM_NAME: Der Name einer vorhandenen VM.

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

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 Feld PHYSICAL_HOST angeben:

  • /CCCCCCC/xxxxxx/xxxx: Die beiden VMs werden im selben Cluster platziert. Dies entspricht einem max-distance-Wert von 2. VMs, die im selben Cluster platziert sind, haben eine niedrige Netzwerklatenz.

  • /CCCCCCC/BBBBBB/xxxx: Die beiden VMs werden im selben Rack platziert, was dem max-distance-Wert 1 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.

REST

Führen Sie eine GET-Anfrage an die Methode instances.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:

  • 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.

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 Feld physicalHost angeben:

  • /CCCCCCC/xxxxxx/xxxx: Die beiden VMs werden im selben Cluster platziert. Dies entspricht einem max-distance-Wert von 2. VMs, die im selben Cluster platziert sind, haben eine niedrige Netzwerklatenz.

  • /CCCCCCC/BBBBBB/xxxx: Die beiden VMs werden im selben Rack platziert, was dem max-distance-Wert 1 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.

Nächste Schritte