In diesem Dokument wird beschrieben, wie Sie eine verwaltete Instanzgruppe (MIG) erstellen, deren VMs auf mehrere Zonen in einer Region verteilt sind. Durch das Verteilen der Anwendungslast auf mehrere Zonen wird Ihre Arbeitslast vor Zonenausfällen geschützt. Wenn ein Zonenausfall auftritt, ist Ihre Anwendung weiterhin über Instanzen verfügbar, die in den verbleibenden verfügbaren Zonen in derselben Region ausgeführt werden.
Diese Art von MIG wird auch als regionale MIG bezeichnet. Weitere Informationen finden Sie unter Regionale MIGs.
Weitere Informationen zu anderen grundlegenden Szenarien zum Erstellen einer MIG
Vorbereitung
- 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. Wenn Sie
Code oder Beispiele aus einer lokalen Entwicklungsumgebung ausführen möchten, können Sie sich bei
Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:
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
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
- Legen Sie eine Standardregion und -zone fest.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzer konto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, ist dies nicht erforderlich.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
Terraform
Wenn Sie die Terraform-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Weitere Informationen finden Sie in der Google Cloud Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.
Beschränkungen
Eine vollständige Liste der MIG-Einschränkungen, die je nach verwendeter Konfiguration variieren, finden Sie unter MIG-Einschränkungen.
MIG mit VMs in mehreren Zonen in einer Region erstellen
Verwenden Sie die Google Cloud console, die gcloud CLI, Terraform oder REST.
Console
-
Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.
Die verbleibenden Schritte werden in der Google Cloud Console angezeigt.
-
Klicken Sie auf
Instanzgruppe erstellen , um eine neue Instanzgruppe zu erstellen. -
Wählen Sie eine der Optionen für neue verwaltete Instanzgruppen aus:
- Zustandslos (Standard)
- Zustandsorientiert
- Weisen Sie der Instanzgruppe einen Namen und optional eine Beschreibung zu.
- Wählen Sie eine Instanzvorlage für die Instanzgruppe aus oder erstellen Sie eine neue Vorlage.
- Geben Sie unter Anzahl der Instanzen oder Autoscaling die Anzahl der Instanzen für diese Gruppe an. Denken Sie daran, genügend VMs bereitzustellen, um den Anwendungsbetrieb bei einem Zonenfehler aufrechtzuerhalten.
-
Wählen Sie für
Standort die Option Mehrere Zonen aus. - Wählen Sie eine Region und die zu verwendenden Zonen aus. Wenn Sie eine regionale Instanzvorlage ausgewählt haben, wird die Region automatisch anhand der Region der Vorlage ausgewählt.
- Wählen Sie unter Form der Zielverteilung die Option Gleichmäßig aus. Informationen zum Auswählen einer anderen Form finden Sie unter Zielverteilungsform für VMs in einer regionalen MIG festlegen.
- Wenn Sie proaktive Umverteilung von Instanzen deaktivieren möchten, entfernen Sie unter Umverteilung von Instanzen das Häkchen bei Umverteilung von Instanzen zulassen.
- Fahren Sie nun mit dem Erstellen der MIG fort.
- Klicken Sie zum Erstellen der MIG auf
Erstellen .
gcloud
Für alle MIGs muss eine Instanzvorlage vorhanden sein. Wenn Sie keine haben,
erstellen Sie eine Instanzvorlage.
Mit dem folgenden Befehl wird beispielsweise eine Instanzvorlage in der Region us-east1 mit Standardinstanzattributen erstellt:
gcloud compute instance-templates create example-template --instance-template-region us-east1
Wenn Sie die MIG erstellen, können Sie entweder die ID oder den Namen einer Instanzvorlage angeben. Google empfiehlt, die ID anzugeben, da Instanzvorlagen-IDs im Gegensatz zu Namen nicht wiederverwendet werden können. Verwenden Sie den
describe Befehl, um die eindeutige ID von
der erstellten Instanzvorlage aufzurufen:
gcloud compute instance-templates describe example-template --region us-east1 --format="value(id)"
Verwenden Sie als Nächstes den
instance-groups managed create Befehl
mit dem --region Flag. Mit dem folgenden Befehl wird beispielsweise eine regionale MIG in drei Zonen der Region us-east1 erstellt:
gcloud compute instance-groups managed create example-rmig \
--template projects/my-project/regions/us-east1/instanceTemplates/1234567890 \
--size 30 \
--region us-east1Wenn Sie bestimmte Zonen
auswählen möchten, die von der Gruppe verwendet werden sollen, geben Sie das Flag --zones an:
gcloud compute instance-groups managed create example-rmig \
--template projects/my-project/regions/us-east1/instanceTemplates/1234567890 \
--size 30 \
--zones us-east1-b,us-east1-cWenn Sie keine bestimmten Zonen verwenden müssen, können Sie alle Zonen angeben und eine ausgeglichene Verteilungsform verwenden. Weitere Informationen finden Sie unter Verteilung von VMs auf Zonen.
Informationen zum Deaktivieren der proaktiven Umverteilung von Instanzen finden Sie unter Proaktive Umverteilung von Instanzen.
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
Zum Erstellen einer regionalen MIG können Sie die google_compute_region_instance_group_manager
Ressource verwenden.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
REST
Für alle MIGs muss eine Instanzvorlage vorhanden sein. Wenn Sie keine haben, erstellen Sie eine Instanzvorlage.
Wenn Sie die MIG erstellen, können Sie entweder die ID oder den Namen einer Instanzvorlage angeben. Google empfiehlt, die ID anzugeben, da Instanzvorlagen-IDs im Gegensatz zu Namen nicht wiederverwendet werden können. Verwenden Sie die
get Methode für die
regionale oder
globale Instanzvorlage
, die Sie erstellt haben, um die eindeutige ID der
Instanzvorlage aufzurufen, die Sie erstellt haben.
Erstellen Sie als Nächstes eine POST Anfrage an die
regionInstanceGroupManagers.insert Methode.
Geben Sie im Anfragetext den Gruppennamen, die Gruppengröße und die URL zur Instanzvorlage an. Geben Sie optional andere Felder an, z. B. den Basisnamen für Instanzen in der Gruppe.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
{
"baseInstanceName": "BASE_INSTANCE_NAME",
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"name": "INSTANCE_GROUP_NAME",
"targetSize": "TARGET_SIZE"
}
Ersetzen Sie dabei Folgendes:
PROJECT_ID: Projekt-ID für diese Anfrage.REGION: Region für die Gruppe.BASE_INSTANCE_NAME: (optional) Instanzname für jede VM-Instanz, die als Teil der Gruppe erstellt wird. Durch einen Basisinstanznamen vonexample-instancewürden z. B. Instanzen mit Namen wieexample-instance-[RANDOM_STRING]erstellt werden, wobei[RANDOM_STRING]vom Server generiert wird.INSTANCE_TEMPLATE_URL: Die URL der Instanzvorlage, die Sie zum Erstellen von Instanzen in der MIG verwenden möchten. Die URL kann entweder die ID oder den Namen der Instanzvorlage enthalten. Geben Sie einen der folgenden Werte an:- Für eine regionale Instanzvorlage:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Für eine globale Instanzvorlage:
INSTANCE_TEMPLATE_ID
- Für eine regionale Instanzvorlage:
TARGET_SIZE: angestrebte Anzahl von VMs in der Gruppe.
Wenn Sie bestimmte Zonen auswählen möchten oder VMs in einer Region mit weniger oder mehr als drei Zonen erstellen, fügen Sie der Anfrage das Attribut distributionPolicy hinzu und geben Sie eine Liste mit Zonen an. Ersetzen Sie ZONE durch den Namen einer Zone, in der VMs erstellt werden sollen.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
{
"baseInstanceName": "BASE_INSTANCE_NAME",
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"name": "INSTANCE_GROUP_NAME",
"targetSize": "TARGET_SIZE",
"distributionPolicy": {
"zones": [
{"zone": "zones/ZONE"},
{"zone": "zones/ZONE"}
]
}
}Mit der folgenden Anfrage wird beispielsweise eine regionale MIG namens example-rmig erstellt, wobei zehn verwaltete Instanzen auf die Zonen us-east1-b und us-east1-c verteilt werden:
POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-east1/instanceGroupManagers
{
"instanceTemplate": "projects/my-project/regions/us-east1/instanceTemplates/1234567890",
"name": "example-rmig",
"targetSize": 10,
"distributionPolicy": {
"zones": [
{"zone": "zones/us-east1-b"},
{"zone": "zones/us-east1-c"}
]
}
}Je nachdem, wie Sie eine MIG konfigurieren und darauf reagieren, können sich verschiedene Richtlinien und Aktionen auf die Instanzen in der Gruppe auswirken. Informationen darüber, welche verwalteten Instanzen aktiv sind, finden Sie unter Status von verwalteten Instanzen prüfen.
Wenn in keiner Zone genügend Kapazität zur Unterstützung der VMs in der Gruppe vorhanden ist, erstellt Compute Engine so viele VMs wie möglich und versucht, die restlichen VMs zu erstellen, wenn zusätzliche Kapazität verfügbar wird.
Wenn Sie in Ihrer Anfrage nicht explizit einzelne Zonen angeben, wählt Compute Engine automatisch drei Zonen aus, in denen VMs erstellt werden sollen. Wenn Sie VMs in mehr oder weniger als drei Zonen erstellen müssen oder Sie die zu verwendenden Zonen auswählen möchten, können Sie eine Liste der Zonen in Ihrer Anfrage bereitstellen. Weitere Informationen finden Sie unter Zonenauswahl.
Verteilung von VMs auf Zonen
Standardmäßig verteilt eine regionale MIG VMs gleichmäßig auf ausgewählte Zonen. Beachten Sie beim Erstellen einer regionalen MIG, dass bestimmte Ressourcen zonal sind, z. B. GPUs und vorhandene nichtflüchtige Speicher. Wenn die Instanzvorlage Ihrer MIG zonale Ressourcen angibt, müssen alle Ressourcen in allen ausgewählten Zonen vorhanden sein, damit sie an die von der regionalen MIG erstellten VMs angehängt werden können. Wenn Sie mit der Gruppe prüfen möchten, ob zonale Ressourcen vorhanden sind, können Sie die Zielverteilungsform der MIG so festlegen, dass Instanzen nur in Zonen erstellt werden, die diese Ressourcen enthalten.
Weitere Informationen finden Sie in folgenden Dokumenten:
Proaktive Umverteilung von Instanzen
Die proaktive Umverteilung von Instanzen ist standardmäßig aktiviert. Wenn Sie die Anzahl der VMs in jeder Zone manuell verwalten oder die Zielverteilungsform der MIG auf BALANCED oder ANY_SINGLE_ZONE festlegen müssen, ist die proaktive Umverteilung von Instanzen zu deaktivieren.
Weitere Informationen finden Sie in folgenden Dokumenten:
- Proaktive Umverteilung von VMs deaktivieren und wieder aktivieren
- Regionale MIG manuell ausbalancieren
Nächste Schritte
- Richten Sie die anwendungsbasierte automatische Reparatur ein. Damit wird regelmäßig überprüft, ob Ihre Anwendung auf jeder VM der MIG wie erwartet reagiert und nicht reagierende VMs automatisch neu erstellt.
- Aktivieren Sie das Autoscaling, um VMs bei zunehmender oder abnehmender Last automatisch zu Ihrer MIG hinzuzufügen oder daraus zu löschen.
- Neue Konfiguration auf alle oder einen Teil der VMs in einer MIG anwenden – durch Festlegen und Anwenden einer neuen Instanzvorlage, instanzübergreifenden Konfiguration oder instanzspezifischen Konfiguration.
- Durch das Hinzufügen einer zustandsorientierten Konfiguration können Sie Laufwerke, Metadaten und IP-Adressen bei Unterbrechungen durch Ereignisse wie VM-Neuerstellung, automatische Reparaturen und Aktualisierungen beibehalten.
- Mit verwalteten Instanzen arbeiten, z. B. um VMs in einer MIG zu löschen, zu verwerfen und neu zu erstellen.
- Informationen zu MIGs und ihren VMs ansehen
- Ausfall einer Zone für eine regionale MIG simulieren
- Externes HTTP(S)-Load-Balancer-Frontend zu Ihrer Instanzgruppe hinzufügen Informationen zu anderen Arten von Load-Balancern finden Sie in der Übersicht über das Load-Balancing.