Nicht verwaltete Instanzgruppen erstellen

Eine nicht verwaltete Instanzgruppe ist eine Sammlung virtueller Maschinen (VMs), die sich in einer einzelnen Zone, einem VPC-Netzwerk und einem Subnetz befinden. Eine nicht verwaltete Instanzgruppe ist nützlich zum Gruppieren von VMs, die individuelle Konfigurationseinstellungen oder eine Feinabstimmung erfordern.

Für VMs, die konsistente Konfigurationseinstellungen erfordern, können Sie eine verwaltete Instanzgruppe (Managed Instance Group, MIG) mit einer Instanzvorlage verwenden. Verwenden Sie nach Möglichkeit verwaltete Instanzgruppen statt nicht verwalteter. Informationen zum Erstellen einer verwalteten Instanzgruppe finden Sie unter Verwaltete Instanzgruppen erstellen.

Sie können jeden der Instanzgruppentypen als Back-End zu einem Google Cloud-Load-Balancer hinzufügen. Weitere Informationen finden Sie unter Cloud Load Balancing. Weitere Informationen zur Anzahl der von Google Cloud pro Instanzgruppe unterstützten VMs finden Sie unter VMs pro Instanzgruppe.

Unter Instanzgruppen finden Sie weitere Informationen dazu.

Vorbereitung

Mit nicht verwalteten Instanzgruppen arbeiten

Gruppen erstellen

Im Unterschied zu verwalteten Instanzgruppen sind nicht verwaltete Instanzgruppen nur Sammlungen einzelner VMs, für die keine gemeinsame Instanzvorlage verwendet wird. Sie erstellen einfach eine Gruppe und fügen dieser einzelne VMs hinzu.

Console

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

    Zur Seite "Instanzgruppen"

  2. Klicken Sie auf Instanzgruppe erstellen.
  3. Klicken Sie auf Neue nicht verwaltete Instanzgruppe.
  4. Geben Sie einen Namen für die nicht verwaltete Instanzgruppe ein.
  5. Wählen Sie unter Standort eine Region und eine Zone aus.
  6. Wählen Sie ein Netzwerk und ein Subnetzwerk aus.
  7. Wählen Sie unter VM-Instanzen die VMs aus, die dieser Gruppe hinzugefügt werden sollen.
  8. Klicken Sie auf Erstellen.

gcloud

Erstellen Sie eine neue nicht verwaltete Instanzgruppe mit dem Befehl instance-groups unmanaged create:

gcloud compute instance-groups unmanaged create instance-group-name \
    --zone=zone

Ersetzen Sie Folgendes:

  • instance-group-name: der Name der Gruppe, die Sie erstellen möchten.
  • zone: die Zone, in der Sie die Gruppe erstellen möchten.

API

Damit Sie mit der API eine nicht verwaltete Instanzgruppe erstellen können, senden Sie eine POST-Anfrage mit der Methode instanceGroups.insert:

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups

{
   "name": "instance-group-name"
}

Ersetzen Sie Folgendes:

  • instance-group-name: der Name der Gruppe, die Sie erstellen möchten.
  • zone: die Zone, in der Sie die Gruppe erstellen möchten.
  • project-id: die Projekt-ID für das Projekt mit der Gruppe.

Wenn Sie eine neue nicht verwaltete Instanzgruppe mit dem gcloud-Befehlszeilentool oder der API erstellen, werden der Gruppe keine VMs automatisch hinzugefügt. Sie können VMs manuell zur nicht verwalteten Instanzgruppe hinzufügen.

Gruppen auflisten und beschreiben

Rufen Sie eine Liste vorhandener nicht verwalteter Instanzgruppen ab.

Console

In der Cloud Console werden auf der Seite Instanzgruppen vorhandene nicht verwaltete und verwaltete Instanzgruppen aufgeführt.

Zur Seite "Instanzgruppen"

gcloud

Listen Sie alle nicht verwalteten Instanzgruppen in Ihrem Projekt im gcloud-Befehlszeilentool mit instance-groups unmanaged list auf:

gcloud compute instance-groups unmanaged list

Weitere Informationen zu einer bestimmten nicht verwalteten Instanzgruppe erhalten Sie mit dem Befehl instance-groups unmanaged describe:

gcloud compute instance-groups unmanaged describe instance-group-name \
   --zone=zone

Ersetzen Sie Folgendes:

  • instance-group-name: der Name der zu beschreibenden Gruppe.
  • zone: die Zone der Gruppe.

API

Damit Sie Instanzgruppen mit der API auflisten können, senden Sie eine GET-Anfrage mit der Methode instanceGroups.list:

GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups

Damit Sie über die API Informationen zu einer bestimmten nicht verwalteten Instanzgruppe abrufen können, senden Sie eine GET-Anfrage mit der Methode instanceGroups.get:

GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name

Ersetzen Sie Folgendes:

  • instance-group-name: der Name der zu beschreibenden Gruppe.
  • zone: die Zone der Gruppe.
  • project-id: die Projekt-ID für das Projekt mit der Gruppe.

Gruppen löschen

Im Unterschied zu einer verwalteten Instanzgruppe werden beim Löschen einer nicht verwalteten Instanzgruppe keine der VMs gelöscht, die sich in der Gruppe befinden. Durch das Löschen einer nicht verwalteten Instanzgruppe wird nur die logische Gruppierung von VMs aufgehoben.

Sie können eine Instanzgruppe nicht löschen, wenn sie das Back-End eines Google Cloud-Load-Balancers ist. Sie müssen zuerst das Back-End aus dem Back-End-Dienst entfernen.

Console

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

    Zur Seite "Instanzgruppen"

  2. Wählen Sie eine oder mehrere nicht verwaltete Instanzgruppen aus der Liste aus.
  3. Klicken Sie auf Löschen, um die Gruppen zu entfernen. Die Gruppen werden entfernt, aber die VMs in den Gruppen werden nicht gelöscht.

gcloud

Löschen Sie eine nicht verwaltete Instanzgruppe mit dem Befehl instance-groups unmanaged delete:

gcloud compute instance-groups unmanaged delete instance-group-name \
    --zone=zone

Ersetzen Sie Folgendes:

  • instance-group-name: der Name der Gruppe, die Sie löschen möchten.
  • zone: die Zone der Gruppe.

API

Senden Sie zum Löschen einer nicht verwalteten Instanzgruppe mit der API eine DELETE-Anfrage mit der Methode instanceGroups.delete:

DELETE https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name

Ersetzen Sie Folgendes:

  • instance-group-name: der Name der Gruppe, die Sie löschen möchten.
  • zone: die Zone der Gruppe.
  • project-id: die Projekt-ID für das Projekt mit der Gruppe.

Gruppenmitgliedschaft

VMs hinzufügen

Nachdem Sie eine nicht verwaltete Instanzgruppe erstellt haben, können Sie der Gruppe VMs hinzufügen.

Console

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

    Zur Seite "Instanzgruppen"

  2. Klicken Sie in der Spalte Name der Liste auf den Namen der Instanzgruppe, der Sie die VMs hinzufügen möchten. Es wird eine Seite mit den Eigenschaften der Instanzgruppe und einer Liste der VMs geöffnet, die bereits in der Gruppe enthalten sind.
  3. Klicken Sie auf Gruppe bearbeiten, um die nicht verwaltete Instanzgruppe zu bearbeiten.
  4. Wählen Sie unter VM-Instanzen eine oder mehrere vorhandene VMs aus, die der Gruppe hinzugefügt werden sollen. Sie können nur VMs, die sich in derselben Zone, demselben VPC-Netzwerk und demselben Subnetz befinden, als vorhandene VMs auswählen.
  5. Klicken Sie auf Speichern, um die neuen VMs zur Gruppe hinzuzufügen.

gcloud

Fügen Sie Instanzen zu einer nicht verwalteten Instanzgruppe mit dem Befehl instance-groups unmanaged add-instances hinzu:

gcloud compute instance-groups unmanaged add-instances instance-group-name \
    --zone=zone \
    --instances=list-of-VM-names

Ersetzen Sie Folgendes:

  • instance-group-name: der Name der Gruppe, der Sie VMs hinzufügen möchten.
  • zone: die Zone der Gruppe.
  • list-of-VM-names: eine durch Kommas getrennte Liste von VMs in derselben Zone, demselben VPC-Netzwerk und demselben Subnetz.

API

Damit Sie mit der API VMs zu einer nicht verwalteten Instanzgruppe hinzufügen können, senden Sie eine POST-Anfrage mit der Methode instanceGroups.addInstances:

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/addInstances

   {
      "instances": [
         {
         "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-1-name",
         "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-2-name",
         ....
         }
      ]
   }

Ersetzen Sie Folgendes:

  • instance-group-name: der Name der Gruppe, der Sie VMs hinzufügen möchten.
  • zone: die Zone der Gruppe.
  • project-id: die Projekt-ID für das Projekt mit der Gruppe.
  • instance-1-name und instance-2-name: die Namen der VMs in derselben Zone, demselben VPC-Netzwerk und demselben Subnetz, die Sie der Gruppe hinzufügen möchten.

VMs auflisten

Sie können eine Liste der Mitglieds-VMs in einer nicht verwalteten Instanzgruppe abrufen.

Console

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

    Zur Seite "Instanzgruppen"

  2. Klicken Sie in der Liste in der Spalte Name auf den Namen der nicht verwalteten Instanzgruppe, die Sie aufrufen möchten. Es wird eine Seite mit der Liste der in der Gruppe enthaltenen Instanzen geöffnet.

gcloud

Listen Sie die VMs in einer nicht verwalteten Instanzgruppe mit dem Befehl instance-groups unmanaged list-instances auf:

gcloud compute instance-groups unmanaged list-instances instance-group-name \
   --zone=zone

Ersetzen Sie Folgendes:

  • instance-group-name: der Name der Gruppe, deren Mitglieder Sie auflisten möchten.
  • zone: die Zone der Gruppe.

API

Damit Sie mit der API VMs in einer nicht verwalteten Instanzgruppe auflisten können, senden Sie eine POST-Anfrage mit der Methode instanceGroups.listInstances:

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/listInstances

Ersetzen Sie Folgendes:

  • instance-group-name: der Name der Gruppe, deren Mitglieder Sie auflisten möchten.
  • zone: die Zone der Gruppe.
  • project-id: die Projekt-ID für das Projekt mit der Gruppe.

VMs entfernen

Sie können VMs aus einer nicht verwalteten Instanzgruppe entfernen. Beim Entfernen einer VM aus der Instanzgruppe wird die VM nicht gelöscht.

Console

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

    Zur Seite "Instanzgruppen"

  2. Klicken Sie in der Liste in der Spalte Name auf den Namen der Instanzgruppe, aus der Sie VMs entfernen möchten. Es wird eine Seite mit den Eigenschaften der Instanzgruppe und einer Liste der in der Gruppe enthaltenen VMs geöffnet.
  3. Wählen Sie in der Liste eine oder mehrere VMs aus, die Sie aus der Gruppe entfernen möchten.
  4. Klicken Sie auf Aus Gruppe entfernen. VMs, die Sie aus einer nicht verwalteten Instanzgruppe entfernen, bleiben erhalten und werden weiterhin ausgeführt, bis Sie sie beenden oder löschen.

gcloud

Entfernen Sie mit dem Befehl instance-groups unmanaged remove-instances VMs aus einer nicht verwalteten Instanzgruppe:

gcloud compute instance-groups unmanaged remove-instances instance-group-name \
    --zone=zone \
    --instances=list-of-VM-names

Ersetzen Sie Folgendes:

  • instance-group-name: der Name der Gruppe mit den zu entfernenden Instanzen.
  • zone: die Zone der Gruppe.
  • list-of-VM-names: eine durch Kommas getrennte Liste der VMs, die Sie aus der Gruppe entfernen möchten.

API

Damit Sie mit der API VMs aus einer nicht verwalteten Instanzgruppe entfernen können, senden Sie eine POST-Anfrage mit der Methode instanceGroups.removeInstances. So können Sie mehrere VMs gleichzeitig entfernen:

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/removeInstances
{
    "instances": [
        {
        "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-1-name",
        "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-2-name",
        ....
        }
    ]
}

Ersetzen Sie Folgendes:

  • instance-group-name: der Name der Gruppe mit den zu entfernenden Instanzen.
  • zone: die Zone der Gruppe.
  • project-id: die Projekt-ID für das Projekt mit der Gruppe.
  • instance-1-name und instance-2-name: die Namen der VMs, deren Verknüpfung mit der Gruppe aufgehoben werden soll.

Mit benannten Ports arbeiten

Benannte Ports sind Schlüssel/Wert-Paare, die den Namen und die Nummer eines Ports repräsentieren. Sie werden in Verbindung mit Google Cloud-Load-Balancern verwendet. Load-Balancer, die als Proxys fungieren, abonnieren in ihrer Back-End-Dienst-Konfiguration einen einzelnen benannten Port. Der Name des Ports wird basierend auf der Zuordnung benannter Ports für jedes Instanzgruppen-Back-End in eine Portnummer übersetzt.

Ein Back-End-Dienst kann beispielsweise einen Port mit dem Namen http-port abonnieren. Die Back-End-Instanzgruppe kann einen Port namens http-port:80 haben. Die Back-End-Instanzgruppe weist den Load-Balancer an, Traffic über ein Protokoll wie TCP an eine VM in der Gruppe an Port 80 zu senden. Das Protokoll wird im Back-End-Dienst des Load-Balancers definiert.

Sie können in einer Instanzgruppe mehrere benannte Ports definieren. Der Back-End-Dienst eines Load-Balancers abonniert jedoch nur einen einzelnen benannten Port. Back-End-Instanzgruppen desselben Back-End-Dienstes können unterschiedliche Zuordnungen benannter Ports verwenden. Nehmen Sie zur Veranschaulichung einmal an, Sie hätten einen Back-End-Dienst, der den benannten Port http-port abonniert und zwei Back-End-Instanzgruppen hat:

  • instance-group-a mit dem benannten Port http-port:80
  • instance-group-b mit dem benannten Port http-port:79

Dieser Back-End-Dienst sendet Traffic für VMs in instance-group-a an Port 80 und für VMs in instance-group-b an Port 79.

Console

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

    Zur Seite "Instanzgruppen"

  2. Klicken Sie in der Liste in der Spalte Name auf den Namen der Instanzgruppe, in der Sie benannte Ports festlegen möchten. Ihnen wird eine Seite mit den Attributen der Instanzgruppe angezeigt.
  3. Klicken Sie auf Gruppe bearbeiten, um die nicht verwaltete Instanzgruppe zu bearbeiten.
  4. Klicken Sie im Abschnitt Portnamenzuordnung (optional) auf Element hinzufügen. Geben Sie einen Portnamen und die zugehörige Nummer ein. Fügen Sie bei Bedarf andere benannte Ports hinzu oder entfernen Sie welche.
  5. Klicken Sie auf Speichern, um die Liste der benannten Ports für die nicht verwaltete Instanzgruppe zu aktualisieren.

gcloud

Fügen Sie einer nicht verwalteten Instanzgruppe benannte Ports mit dem Befehl instance-groups unmanaged set-named-ports hinzu:

gcloud compute instance-groups unmanaged set-named-ports instance-group-name \
    --zone=zone \
    --named-ports=port-name:port-number,...

Um die benannten Ports in einer nicht verwalteten Instanzgruppe aufzulisten, verwenden Sie instance-groups unmanaged get-named-ports:

gcloud compute instance-groups unmanaged get-named-ports instance-group-name \
    --zone=zone

Wenn Sie mit dem gcloud-Befehlszeilentool alle benannten Ports aus einer nicht verwalteten Instanzgruppe entfernen möchten, verwenden Sie instance-groups unmanaged set-named-ports mit einer leeren Liste benannter Ports:

gcloud compute instance-groups unmanaged set-named-ports instance-group-name \
    --zone=zone \
    --named-ports=""

Ersetzen Sie in allen obigen Beispielen Folgendes, sofern vorhanden:

  • instance-group-name: der Name der Instanzgruppe.
  • zone: die Zone der Gruppe.
  • port-name und port-number: Der Portname und die Portnummer stellen eine Zuordnung von einem ausgewählten Namen zu einer Portnummer dar. Sie können mehrere durch Kommas getrennte Zuordnungen angeben. Zum Beispiel ist port-one:80,port-two:8080 eine gültige Liste benannter Ports.

API

  1. Beschreiben Sie die Instanzgruppe und notieren Sie sich den fingerprint (Fingerabdruck).

  2. Damit Sie mit der API benannte Ports hinzufügen können, senden Sie eine POST-Anfrage mit der Methode instanceGroups.setNamedPorts. Wenn Sie alle benannten Ports entfernen möchten, geben Sie für namedPorts eine leere Liste an.

    POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/setNamedPorts
    
    {
        "fingerprint": "fingerprint",
        "namedPorts": [
            {
            "name": "port-name",
            "port": port-number
            },
            {
            "name": "port-name",
            "port": port-number
            },
            ....
        ]
    }
    

    Ersetzen Sie Folgendes:

    • instance-group-name: der Name der Instanzgruppe.
    • zone: die Zone der Gruppe.
    • project-id: die Projekt-ID für das Projekt mit der Gruppe.
    • port-name und port-number: Der Portname und die Portnummer stellen eine Zuordnung von einem ausgewählten Namen zu einer Portnummer dar.
    • fingerprint: Dies ist der Fingerabdruck aus dem vorherigen Schritt.
  3. Beschreiben Sie die Instanzgruppe noch einmal und notieren Sie sich die konfigurierten benannten Ports.

Weitere Informationen