MIG mit zustandsorientierten Laufwerken erstellen


In diesem Dokument wird beschrieben, wie Sie eine verwaltete Instanzgruppe (MIG) erstellen, die die Daten auf Laufwerken mit einem bestimmten Gerätenamen für alle VMs der MIG speichert, auch in den Ereignis der VM-Neuerstellung, z. B. wenn eine VM in der MIG automatisch repariert, aktualisiert oder neu erstellt wird. Das Speichern von Laufwerken ist für bestimmte Arbeitslasten nützlich, z. B. für Datenbanken oder Legacy-Anwendungen.

Neben dem Speichern von Laufwerken für alle VMs in der Gruppe können Sie auch eine zustandsorientierte MIG für Folgendes konfigurieren:

  • Sie können instanzspezifische Laufwerke hinzufügen und beibehalten.
  • Sie können instanzspezifische Metadaten hinzufügen und beibehalten.
  • Sie können IP-Adressen hinzufügen und beibehalten.

Weitere Informationen finden Sie in der Übersicht zustandsorientierter MIGs.

Weitere Informationen zu anderen grundlegenden Szenarien zum Erstellen einer MIG

Hinweise

  • Erstellen Sie eine Instanzvorlage. Dies ist zum Erstellen einer verwalteten Instanzgruppe erforderlich.
  • 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.

    Terraform

    Wenn Sie die Terraform-Beispiele auf dieser Seite aus einer lokalen Entwicklungsumgebung heraus verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

    1. Installieren Sie die Google Cloud CLI.
    2. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

      gcloud init
    3. Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:

      gcloud auth application-default login

    Weitere Informationen: Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

    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

Beschränkungen

Für eine MIG mit einer zustandsorientierten Konfiguration – einer zustandsorientierten MIG – gelten folgende Einschränkungen:

  • Sie können Autoscaling nicht verwenden, wenn Ihre MIG eine zustandsorientierte Konfiguration hat.
  • Wenn Sie automatische Rolling Updates verwenden möchten, müssen Sie die Ersetzungsmethode auf RECREATE setzen.
  • Bei zustandsorientierten regionalen MIGs müssen Sie die proaktive Umverteilung deaktivieren. Setzen Sie dafür den Typ für die Umverteilung auf NONE. Damit wird verhindert, dass zustandsorientierte Instanzen durch die automatische zonenübergreifende Umverteilung gelöscht werden.
  • Wenn Sie eine instanzübergreifende Konfiguration zum Überschreiben der Attribute der Instanzvorlage verwenden, können Sie diese Attribute nicht in einer instanzspezifischen Konfiguration und gleichzeitig in der instanzübergreifenden Konfiguration der Gruppe konfigurieren.

Eine vollständige Liste der MIG-Einschränkungen, die je nach verwendeter Konfiguration variieren, finden Sie unter MIG-Einschränkungen.

MIG mit zustandsorientierten Laufwerken erstellen

Verwenden Sie die Google Cloud Console, die gcloud CLI, Terraform oder REST.

Console

  1. Rufen Sie die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

    Die verbleibenden Schritte werden automatisch in der Google Cloud Console angezeigt.

  2. Klicken Sie auf Instanzgruppe erstellen.
  3. Wählen Sie die Option Neue verwaltete Instanzgruppe (zustandsorientiert) aus.
  4. Weisen Sie der Instanzgruppe einen Namen und optional eine Beschreibung zu.
  5. Wählen Sie eine Instanzvorlage für die Instanzgruppe aus oder erstellen Sie eine neue Vorlage.
  6. Geben Sie im Feld Anzahl der Instanzen die anfängliche Anzahl von VMs an, die Sie in dieser Gruppe benötigen.
  7. Klicken Sie im Abschnitt Zustandsorientierte Konfiguration unter Gruppenkonfiguration auf das Laufwerk, das zustandsorientiert werden soll, und führen Sie dann die folgenden Schritte aus.
    1. Wählen Sie im Abschnitt Zustandsorientiert die Option Ja aus.
    2. Wählen Sie in der Liste Bei dauerhafter Instanzlöschung aus, ob Sie das Laufwerk trennen oder löschen möchten, wenn Sie die VM dauerhaft löschen.
    3. Klicken Sie auf Fertig, um die Einstellungen zu speichern.
  8. Klicken Sie zum Erstellen der MIG auf Erstellen.

gcloud

Geben Sie mit dem Befehl gcloud compute instance-groups managed create und dem Flag --stateful-disk an, welche Laufwerke aus der Instanzvorlage beim Erstellen der MIG zustandsorientiert sein sollen:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template INSTANCE_TEMPLATE \
    --size SIZE \
    --stateful-disk device-name=DEVICE_NAME[,auto-delete=DELETE_RULE]

Ersetzen Sie Folgendes:

  • INSTANCE_GROUP_NAME: Name der verwalteten Instanzgruppe, die erstellt werden soll.
  • INSTANCE_TEMPLATE: Name der Instanzvorlage, die beim Erstellen von Instanzen verwendet werden soll. Bei einer regionalen Instanzvorlage müssen Sie die URL der Vorlage vollständig oder teilweise angeben. Ein Beispiel für eine vollständige URL ist https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template und eine Teil-URL ist projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template.
  • SIZE: anfängliche Anzahl von VMs, die Sie in dieser Gruppe benötigen.
  • DEVICE_NAME: Gerätename eines Laufwerks, das in der Instanzvorlage angegeben ist.
  • DELETE_RULE: Wert, der vorgibt, was mit einem zustandsorientierten Laufwerk geschehen soll, wenn eine VM gelöscht wird. Folgende Optionen sind verfügbar:

    • never: (Standardeinstellung) Das Laufwerk wird beim Löschen der zugehörigen VM nie gelöscht, sondern stattdessen getrennt.
    • on-permanent-instance-deletion: Das Laufwerk wird gelöscht, wenn die zugehörige VM-Instanz dauerhaft aus der Instanzgruppe gelöscht wird, beispielsweise beim manuellen Löschen der verwalteten Instanz oder Verringern der Gruppengröße.

    Unabhängig vom Wert der Löschregel bleiben zustandsorientierte Laufwerke bei automatischen Reparaturen, Aktualisierungen und Neuerstellungen von VMs immer erhalten.

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

Wenn Sie angeben möchten, welche Laufwerke aus der Instanzvorlage beim Erstellen von MIGs zustandsorientiert sein sollen, fügen Sie den Block stateful_disk ein. Im folgenden Beispiel wird eine zonale MIG mit zustandsorientierten Laufwerken erstellt. Weitere Informationen zu der im Beispiel verwendeten Ressource finden Sie unter Ressource google_compute_instance_group_manager.

resource "google_compute_instance_group_manager" "default" {
  name               = "igm-stateful-disk-basic"
  zone               = "us-central1-f"
  base_instance_name = "instance"
  target_size        = 1

  version {
    instance_template = google_compute_instance_template.default.id
  }

  stateful_disk {
    device_name = "example-disk"
    delete_rule = "NEVER"
  }

}

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

REST

Wenn Sie festlegen möchten, welche Laufwerke aus der Instanzvorlage beim Erstellen von MIGs zustandsorientiert sein sollen, fügen Sie diese im Anfragetext in das Feld statefulPolicy ein. Verwenden Sie für eine zonale MIG die Methode instanceGroupManagers.insert oder für eine regionale MIG die Methode regionInstanceGroupManagers.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers

{
  "name": "NAME",
  "versions": [
    {
      "instanceTemplate": "global/instanceTemplates/TEMPLATE"
    }
  ],
  "targetSize": SIZE,
  "statefulPolicy": {
    "preservedState": {
      "disks": {
        "DEVICE_NAME": {"autoDelete": "DELETE_RULE" },
        "DEVICE_NAME": {"autoDelete": "DELETE_RULE" }
      }
    }
  }
}

Dabei gilt:

  • PROJECT: Projekt-ID für die Anfrage.
  • ZONE: Die Zone, in der sich die MIG befindet (gilt für eine zonale MIG).
    • Ersetzen Sie bei einer regionalen MIG zones/ZONE durch regions/REGION und geben Sie die Region der MIG an.
  • NAME: Name der MIG, die erstellt werden soll.
  • TEMPLATE: Name der Instanzvorlage, die beim Erstellen von Instanzen verwendet werden soll.
  • SIZE: anfängliche Anzahl von Instanzen, die Sie in dieser Gruppe benötigen.
  • DEVICE_NAME: Gerätename eines Laufwerks, das in der Instanzvorlage angegeben ist.
  • DELETE_RULE: Wert, der vorgibt, was mit dem zustandsorientierten Laufwerk beim Löschen der VM-Instanz geschieht. Folgende Optionen sind verfügbar:

    • never: (Standardeinstellung) Das Laufwerk wird beim Löschen der zugehörigen VM nie gelöscht, sondern stattdessen getrennt.
    • on_permanent_instance_deletion: Das zustandsorientierte Laufwerk wird gelöscht, wenn die zugehörige VM-Instanz dauerhaft aus der Instanzgruppe gelöscht wird, beispielsweise beim manuellen Löschen der verwalteten Instanz oder Verringern der Gruppengröße.

    Unabhängig vom Wert der Löschregel bleiben zustandsorientierte Laufwerke bei automatischen Reparaturen, Aktualisierungen und Neuerstellungen von Instanzen immer erhalten.

Nächste Schritte