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. Wenn die proaktive Umverteilung von Instanzen deaktiviert ist, versucht die Gruppe nicht, VMs proaktiv über Zonen zu verteilen. Das Deaktivieren der proaktiven Umverteilung von Instanzen 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 auf BALANCED oder ANY_SINGLE_ZONE 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.

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 wie folgt bei Compute Engine authentifizieren.

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

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud-Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    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

Gruppe mit deaktivierter proaktiver Umverteilung von Instanzen erstellen

Sie können eine regionale MIG mit deaktivierter proaktiver Umverteilung von Instanzen mit der Google Cloud Console, der gcloud CLI, Terraform oder REST erstellen.

Console

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

    Zur Seite der 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. Um die proaktive Umverteilung von Instanzen zu deaktivieren, deaktivieren Sie unter Umverteilung von Instanzen das Kästchen Umverteilung von Instanzen zulassen.
  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

Dabei gilt:

  • 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

Terraform

Wenn Sie noch keine Instanzvorlage erstellt haben, die den Maschinentyp, das Bootlaufwerk-Image, das Netzwerk und andere VM-Attribute angibt, die Sie für jede VM in Ihrer MIG verwenden möchten, erstellen Sie eine Instanzvorlage

Verwenden Sie zum Erstellen einer regionalen MIG die Ressource google_compute_region_instance_group_manager.

Fügen Sie den Block update_policy ein und setzen Sie das Feld instance_redistribution_type auf NONE, um die proaktive Umverteilung von Instanzen in einer regionalen MIG zu deaktivieren.

resource "google_compute_region_instance_group_manager" "default" {
  name                      = "example-rmig"
  region                    = "us-east1"
  distribution_policy_zones = ["us-east1-b", "us-east1-c"]
  update_policy {
    type                         = "PROACTIVE"
    minimal_action               = "REFRESH"
    instance_redistribution_type = "NONE"
    max_unavailable_fixed        = 3
  }
  target_size        = 30
  base_instance_name = "instance"
  version {
    instance_template = google_compute_instance_template.default.id
  }
}

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

REST

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

Mit einer der folgenden Methoden können Sie die proaktive Verteilung von Instanzen deaktivieren oder wieder aktivieren: Google Cloud Console, gcloud CLI oder REST.

Console

  1. Rufen Sie in der Google Cloud 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. Deaktivieren Sie unter Umverteilung von Instanzen das Kästchen Umverteilung von Instanzen zulassen.
  5. Klicken Sie auf Speichern.

gcloud

Um die proaktive Umverteilung von Instanzen zu deaktivieren, setzen Sie das Flag --instance-redistribution-type mit einem Befehl auf NONE:

  • Für eine nicht automatisch skalierte regionale MIG oder eine automatisch skalierte regionale MIG, deren Modus auf OFF oder ONLY_SCALE_OUT eingestellt ist, verwenden Sie den Befehl compute instance-groups managed update.

    Beispiel:

    gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
    --instance-redistribution-type NONE \
    --region REGION
  • Verwenden Sie für eine automatisch skalierte regionale MIG mit dem Modus ON die Betaversion von compute instance-groups managed update.

    Beispiel:

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

Dabei gilt:

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

REST

Wenn Sie die proaktive Umverteilung von Instanzen deaktivieren möchten, legen Sie das Feld instanceRedistributionType mithilfe einer Methode wie folgt auf NONE fest:

  • Für eine nicht automatisch skalierte regionale MIG oder eine automatisch skalierte regionale MIG, deren Modus auf OFF oder ONLY_SCALE_OUT eingestellt ist, verwenden Sie den Befehl regionInstanceGroupManagers.patch.

    Beispiel:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
    
    {
     "updatePolicy": {
        "instanceRedistributionType": "NONE"
     }
    }
    
  • Verwenden Sie für eine automatisch skalierte regionale MIG mit dem Modus ON die Betamethode regionInstanceGroupManagers.patch.

    Beispiel:

    PATCH https://compute.googleapis.com/compute/beta/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 der MIG.

Proaktive Umverteilung von Instanzen aktivieren

Wenn Sie die proaktive Umverteilung von Instanzen 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