Proaktive Umverteilung von VMs in einer regionalen MIG deaktivieren und wieder aktivieren

Nutzen Sie in einer regional verwalteten Instanzgruppe (Managed Instance Group, MIG) die proaktive Umverteilung von Instanzen, um eine gleichmäßige Anzahl von VM-Instanzen in den ausgewählten Zonen in der Region beizubehalten: Mit dieser Konfigurationsoption bleiben Anwendungen im Falle eines Ausfalls auf Zonenebene maximal verfügbar.

Die proaktive Umverteilung von Instanzen ist für regionale MIGs standardmäßig aktiviert. Für regionale MIGs ohne Autoscaling können Sie dieses Feature allerdings deaktivieren. Wenn die proaktive Umverteilung von Instanzen deaktiviert ist, versucht die Gruppe nicht, VMs proaktiv über Zonen zu verteilen. Dies ist in folgenden Fällen nützlich:

  • Löschen oder Verwerfen von VMs aus der Gruppe, ohne andere laufende VMs zu beeinträchtigen. Sie können z. B. eine Batch-Worker-VM nach Abschluss eines Jobs löschen, ohne andere Worker zu beeinträchtigen.
  • VMs mit zustandsorientierten Arbeitslasten vor einer proaktiven Umverteilung vor unerwünschtem automatischem Löschen schützen.
  • Legen Sie für die Zielverteilungsform der MIG BALANCED fest.

Sie können die proaktive Umverteilung von Instanzen deaktivieren, wenn Sie eine regionale MIG erstellen. Sie können sie auch für eine vorhandene regionale MIG aktivieren oder deaktivieren.

Hinweis

Gruppe mit deaktivierter proaktiver Umverteilung von Instanzen erstellen

Sie können eine regionale MIG mit deaktivierter proaktiver Umverteilung von Instanzen mit der Console, der gcloud CLI oder der Compute Engine API erstellen.

Console

  1. Rufen Sie in der Console die Seite Instanzgruppen auf.

    Zur Seite Instanzgruppen

  2. Klicken Sie auf Instanzgruppe erstellen, um eine neue Instanzgruppe zu erstellen.
  3. Weisen Sie Ihrer Instanzgruppe einen Namen und optional eine Beschreibung zu.
  4. Wählen Sie eine Instanzvorlage für die Instanzgruppe aus oder erstellen Sie eine neue Vorlage.
  5. Geben Sie die Anzahl der VMs für diese Gruppe an. Denken Sie bei hochverfügbaren Arbeitslasten daran, genügend VMs bereitzustellen, um Ihre Anwendung bei einem Zonenausfall zu unterstützen.
  6. Wählen Sie unter Standort die Option Mehrere Zonen aus.
  7. Wählen Sie eine Region und die zu verwendenden Zonen aus.
  8. So deaktivieren Sie die proaktive Umverteilung von Instanzen:
    1. Achten Sie darauf, dass Autoscaling-Modus auf Aus: Nicht automatisch skalieren eingestellt ist.
    2. Deaktivieren Sie unter Umverteilung von Instanzen das Kästchen Weiterverteilung von Instanzen aktivieren.
  9. Fahren Sie nun mit dem Erstellen der MIG fort.

gcloud

Wenn Sie eine neue regionale MIG ohne proaktive Umverteilung von Instanzen erstellen möchten, verwenden Sie den Befehl gcloud compute instance-groups managed create. Das Flag --instance-redistribution-type muss dabei auf NONE gesetzt werden.

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template INSTANCE_TEMPLATE_NAME \
    --size TARGET_SIZE \
    --zones ZONES \
    --instance-redistribution-type NONE

Ersetzen Sie Folgendes:

  • INSTANCE_GROUP_NAME: Name der MIG.
  • INSTANCE_TEMPLATE_NAME: Name der Instanzvorlage, die für die Gruppe verwendet werden soll.
  • TARGET_SIZE: angestrebte Größe der Gruppe.
  • ZONES: Liste der Zonen in einer einzelnen Region, in der Sie VMs bereitstellen möchten.

Beispiel:

gcloud compute instance-groups managed create example-rmig \
    --template example-template \
    --size 30 \
    --zones us-east1-b,us-east1-c \
    --instance-redistribution-type NONE

API

Wenn Sie eine regionale MIG ohne Autoscaling und ohne proaktive Umverteilung von Instanzen erstellen möchten, stellen Sie eine POST-Anfrage an die Methode regionInstanceGroupManagers.insert. Fügen Sie dabei im Anfragetext das Attribut updatePolicy ein und legen Sie das Feld instanceRedistributionType auf NONE fest.

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

{
    "name": "INSTANCE_GROUP_NAME",
    "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME",
    "targetSize": "TARGET_SIZE",
    "distributionPolicy": {
        "zones": [
            {"zone": "zones/ZONE"},
            {"zone": "zones/ZONE"}
        ]
    },
    "updatePolicy": {
        "instanceRedistributionType": "NONE"
    }
}

Dabei gilt:

  • PROJECT_ID: Projekt-ID für diese Anfrage.
  • REGION: Region für die Instanzgruppe.
  • INSTANCE_GROUP_NAME: Name der MIG.
  • INSTANCE_TEMPLATE_NAME: Name der Instanzvorlage, die für die Gruppe verwendet werden soll.
  • TARGET_SIZE: angestrebte Größe der Gruppe.
  • ZONE: Name einer Zone in der einzelnen Region, in der Sie VMs bereitstellen möchten

Proaktive Umverteilung von Instanzen deaktivieren

Bevor Sie die proaktive Umverteilung von Instanzen deaktivieren können, müssen Sie den Autoscaling-Modus so einstellen, dass Autoscaling deaktiviert wird oder dass nur horizontal skaliert wird.

Mit dem folgenden Befehl können Sie die proaktive Verteilung von Instanzen deaktivieren oder wieder aktivieren: die Console, die gcloud CLI oder die Compute Engine API.

Console

  1. Rufen Sie in der Console die Seite Instanzgruppen auf.

    Zur Seite Instanzgruppen

  2. Klicken Sie in der Spalte Name der Liste auf den Namen der Instanzgruppe, die Sie ändern möchten.
  3. Klicken Sie auf Bearbeiten, um die verwaltete Instanzgruppe zu bearbeiten.
  4. Wenn eine Autoscaling-Konfiguration vorhanden ist, achten Sie darauf, dass der Autoscaling-Modus auf Aus: Nicht automatisch skalieren eingestellt ist.
  5. Deaktivieren Sie unter Umverteilung von Instanzen das Kästchen Umverteilung von Instanzen aktivieren.
  6. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den Befehl compute instance-groups managed update und setzen Sie das Flag --instance-redistribution-type auf NONE, um die proaktive Umverteilung von Instanzen für eine regionale MIG ohne Autoscaling zu deaktivieren.

gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
    --instance-redistribution-type NONE \
    --region REGION

Ersetzen Sie Folgendes:

  • INSTANCE_GROUP_NAME: Name der MIG.
  • REGION: Region der Instanzgruppe.

API

Wenn Sie die proaktive Umverteilung von Instanzen für eine regionale MIG ohne Autoscaling deaktivieren möchten, stellen Sie eine PATCH-Anfrage an die Methode regionInstanceGroupManagers.patch. Fügen Sie dabei im Anfragetext das Attribut updatePolicy ein und legen Sie das Feld instanceRedistributionType auf NONE fest.

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

{
    "updatePolicy": {
         "instanceRedistributionType": "NONE"
    }
}

Dabei gilt:

  • PROJECT_ID: Projekt-ID für diese Anfrage.
  • REGION: Region für die Instanzgruppe.
  • INSTANCE_GROUP_NAME: Name einer MIG ohne Autoscaling.

Proaktive Instanzverteilung aktivieren

Wenn Sie die proaktive Instanzverteilung aktivieren möchten, können Sie einen ähnlichen Befehl wie zum Deaktivieren der proaktiven Umverteilung von Instanzen verwenden. Setzen Sie den Typ für die Umverteilung von Instanzen hierbei aber auf PROACTIVE.

Wenn Sie einige verwalteten Instanzen manuell gelöscht oder verworfen haben und die verbleibenden VMs in der Region jetzt ungleichmäßig verteilt sind, müssen Sie die Gruppe manuell neu ausgleichen, bevor Sie die proaktive Umverteilung von Instanzen wieder aktivieren können. Die Anzahl der VMs zwischen zwei Zonen sollte sich um nicht mehr als eine VM unterscheiden.

In einer regionalen MIG ist es nicht möglich, die proaktive Umverteilung von Instanzen zu aktivieren, wenn VMs ungleichmäßig auf Zonen verteilt sind, d. h., wenn sich die Anzahl der VMs in zwei Zonen um mindestens zwei VMs unterscheidet. Dies soll ein unbeabsichtigtes automatisches Löschen von VMs aus Zonen mit mehr VMs verhindern, das ausgelöst werden würde, um eine gleichmäßige Verteilung zu erreichen.

Nächste Schritte