Instanzen mit mehreren Netzwerkschnittstellen erstellen

Diese Seite beschreibt die Konfiguration einer virtuellen Maschine (VM) mit mehreren Netzwerkschnittstellen.

Standardmäßig hat jede Instanz in einem VPC-Netzwerk eine einzige Netzwerkschnittstelle. Gehen Sie nach dieser Anleitung vor, um zusätzliche Netzwerkschnittstellen zu erstellen. Jede Schnittstelle ist mit einem anderen VPC-Netzwerk verknüpft, wodurch dieser Instanz Zugriff auf verschiedene VPC-Netzwerke in Google Cloud gewährt wird. Es ist nicht möglich, mehrere Netzwerkschnittstellen an dasselbe VPC-Netzwerk anzubinden.

Wenn Sie keine zusätzlichen Netzwerkschnittstellen benötigen, befolgen Sie die Anweisungen unter Eine Instanz erstellen und starten.

Weitere Informationen zu mehreren Netzwerkschnittstellen und ihrer Funktionsweise finden Sie unter Mehrere Netzwerkschnittstellen.

Spezifikationen

Voraussetzungen

  • Eine Netzwerkschnittstelle kann nur beim Erstellen einer Instanz konfiguriert werden.

  • Jede in einer einzelnen Instanz konfigurierte Netzwerkschnittstelle muss mit einem anderen VPC-Netzwerk verbunden sein. Jede Schnittstelle muss außerdem zu einem Subnetz gehören, dessen IP-Bereich sich nicht mit den Subnetzen anderer Schnittstellen überschneidet. Das angehängte Netzwerk kann ein eigenständiges VPC-Netzwerk oder ein freigegebenes VPC-Netzwerk sein.

  • Die zusätzlichen VPC-Netzwerke, mit denen die verschiedenen Schnittstellen verbunden werden, müssen bereits vorhanden sein, wenn Sie die Instanz erstellen. Eine Anleitung zum Erstellen zusätzlicher VPC-Netzwerke finden Sie unter VPC-Netzwerke verwenden.

  • Sie können eine Netzwerkschnittstelle nicht löschen, ohne die Instanz zu löschen.

  • Jede Instanz muss mindestens eine Netzwerkschnittstelle haben. Die maximale Anzahl der Netzwerkschnittstellen pro Instanz ist acht, wobei diese vom Maschinentyp der Instanz abhängt.

    • nic0 ist erforderlich und muss beim Erstellen der Instanz konfiguriert werden.
    • nic1 bis nic7 sind optional und müssen auch beim Erstellen der Instanz konfiguriert werden.
    • Weitere Informationen finden Sie unter Maximale Anzahl von Schnittstellen.
  • Jede Schnittstelle kann optional eine externe IP-Adresse haben.

  • Der DHCP-Server von Google Cloud sendet nur an die Standard-NIC nic0 eine Standardroute (RFC 3442, „classless static route“). Wenn eine Standardroute auf einer anderen NIC benötigt wird, müssen Sie diese in der Instanz konfigurieren. Verwenden Sie beim Ändern der Standardroute in der Instanz die serielle Konsole, um die Verbindung zur VM nicht zu unterbrechen.

  • Alle VM-Schnittstellen müssen eine Verbindung zu Netzwerken im selben Projekt wie die VM oder zu einer für das Projekt freigegebenen VPC herstellen.

Beschränkungen

  • Sie können keine Netzwerkschnittstellen zu einer vorhandenen VM hinzufügen oder entfernen.
  • Die IP-Weiterleitung ist auf VM-Ebene aktiviert und kann nicht auf einzelne Schnittstellen angewendet werden.

Berechtigungen, IAM und Instanzen mit mehreren Netzwerkschnittstellen

Wenn Sie eine Instanz mit mehreren Netzwerkschnittstellen erstellen möchten, benötigen Sie eine der folgenden Rollen:

  • Rolle "Projektinhaber" oder "Projektbearbeiter"
  • Rolle compute.instanceAdmin.v1

Erstellen und Löschen von Instanzen und Instanzvorlagen mit mehreren Schnittstellen in einem Projekt, in dem keine freigegebene VPC verwendet wird: Ein Nutzer mit der Rolle INHABER, BEARBEITER oder compute.instanceAdmin.v1 auf Projektebene kann eine Instanz mit mehreren Schnittstellen erstellen, die VPC-Netzwerken und Subnetzen aus demselben Projekt zugewiesen sind.

Erstellen und Löschen von Instanzen und Instanzvorlagen mit mehreren Schnittstellen in Umgebungen mit freigegebener VPC: Ein Nutzer mit der Rolle INHABER, BEARBEITER oder compute.instanceAdmin.v1 auf Projektebene kann eine Instanz mit mehreren Schnittstellen erstellen. Wenn eine dieser Schnittstellen einem Subnetz in einem Hostprojekt mit freigegebener VPC zugeordnet ist, benötigen Sie auch die Rolle compute.networkUser auf Ebene des Hostprojekts mit freigegebener VPC oder auf Ebene des Subnetzes der freigegebenen VPC.

Weitere Informationen zu Berechtigungen finden Sie in der Compute Engine IAM-Dokumentation.

Mehrere Netzwerkschnittstellen mit unterschiedlichen VPC-Netzwerktypen verwenden

  • Mehrere Netzwerkschnittstellen werden in Legacy-Netzwerken nicht unterstützt.
  • Wenn Sie mehrere Netzwerkschnittstellen konfigurieren, verbinden Sie jede Schnittstelle mit einem VPC-Netzwerk im automatischen Modus oder mit einem VPC-Netzwerk im benutzerdefinierten Modus.

Zuweisung von IP-Adressen für Netzwerkschnittstellen

  • Sie müssen jede Netzwerkschnittstelle mit einer primären internen IP-Adresse konfigurieren, die dem primären IP-Adressbereich eines Subnetzes zugewiesen ist.
    • Die primären internen Adressen, die den Schnittstellen in den einzelnen Instanzen zugewiesen sind, müssen unterschiedlich sein.
  • Sie können jede virtuelle Schnittstelle (NIC) mit einer eindeutigen externen IP-Adresse konfigurieren. Externe Adressen können sitzungsspezifisch oder reserviert sein.

Maximale Anzahl an Netzwerkschnittstellen

  • Die maximale Anzahl an virtuellen Schnittstellen pro Instanz ist 8.
  • Die Anzahl der in einer Instanz zulässigen Schnittstellen ist abhängig vom Maschinentyp der Instanz und der Anzahl der vCPUs.

Im Allgemeinen gelten für n1-Standard-x, n1-highmem-x, n1-highcpu-x, f1-micro, g1-small und benutzerdefinierte VMs die folgenden Regeln:

  • 2 Netzwerkschnittstellen für VM <= 2vCPU
  • 1 Netzwerkschnittstelle pro vCPU für VM > 2vCPUs mit einer Obergrenze von maximal 8 Netzwerkschnittstellen pro VM

Mithilfe der folgenden Tabelle können Sie ermitteln, wie viele Netzwerkschnittstellen an eine Instanz angehängt werden können:

Art der Instanz Anzahl von vCPUs Anzahl von virtuellen NICs
n1-standard-x, n1-highmem-x, n1-highcpu-x, n1-highmem-x, n1-highcpu-x Gemäß dem Wert von "x". 1 NIC pro Wert von "x", mit mindestens 2 NICs und maximal 8 NICs
f1-micro 0,2 vCPU 2 NICs
g1-small 0,5 vCPU 2 NICs
Benutzerdefinierte Instanzen Konfigurierbar von 1 vCPU bis 64 vCPUs 1 NIC pro vCPU, mit mindestens 2 und maximal 8 NICs

VM-Instanzen mit mehreren Netzwerkschnittstellen erstellen

Das Erstellen einer Instanz mit einer einzigen Schnittstelle bleibt unverändert. Allgemeine Anweisungen zum Erstellen von Instanzen finden Sie unter Instanz erstellen und starten .

Sie können beim Erstellen einer Instanz mehrere Netzwerkschnittstellen hinzufügen:

  • In der Konsole fügen Sie Netzwerkschnittstellen auf der Seite "Instanz erstellen" im Bereich "Netzwerk -> Netzwerkschnittstellen" hinzu.
  • Mit dem gcloud-Befehlszeilentool verwenden Sie den Befehl instances create. Geben Sie dabei für jede Schnittstelle das Flag --network-interface, gefolgt von allen geeigneten Netzwerkschlüsseln, z. B. ([network | subnet], private-network-ip, address), an.

Die erste Schnittstelle wird immer als nic0 erstellt und ist immer die Standardschnittstelle. Dies ist wichtig für einige andere Aspekte des Google Cloud-Netzwerks. Beispielsweise verteilen Google Cloud-Load-Balancer (außer internem TCP/UDP-Load-Balancing) den Traffic nur auf nic0.

Console


  1. Rufen Sie in der Google Cloud Console die Seite „VM-Instanzen“ auf.
    Zur Seite „Instanz erstellen“
  2. Füllen Sie die Abschnitte für den Instanznamen, die Zone, den Maschinentyp und andere grundlegende Aspekte der Instanz aus.
  3. Füllen Sie die Felder auf den Tabs Verwaltung und Datenträger aus.
  4. Auf dem Tab Netzwerk klicken Sie auf Netzwerkschnittstelle hinzufügen.
  5. Wählen Sie ein Netzwerk.
  6. Wenn im VPC-Netzwerk mehrere Subnetze vorhanden sind, wählen Sie ein Subnetz.
  7. Wählen Sie zum Zuweisen einer benutzerdefinierten internen IP-Adresse zur Schnittstelle im Drop-down-Menü Interne IP die Option Benutzerdefiniert aus und geben Sie dann die IP-Adresse ein.
  8. Geben Sie an, dass keine externe IP-Adresse gewünscht wird. Wählen Sie dazu im Drop-down-Menü Externe IP die Option Keine aus.
  9. Wählen Sie zum Zuweisen einer statischen externen IP-Adresse im Drop-down-Menü Externe IP die Option Neue statische IP aus, geben Sie den Namen und die Beschreibung ein und klicken Sie dann auf Reservieren.
  10. Um die IP-Weiterleitung zu aktivieren, wählen Sie im Drop-down-Menü IP-Weiterleitung die Option Ein aus.
  11. Klicken Sie zum Hinzufügen weiterer Netzwerkschnittstellen auf Netzwerkschnittstelle hinzufügen und folgen Sie den Schritten 5 bis 10 oben.

gcloud

Mit dem Befehl instances create können Sie Netzwerkschnittstellen auf einer neuen Instanz erstellen. Geben Sie dabei für jede Schnittstelle das Flag --network-interface, gefolgt von allen geeigneten Netzwerkschlüsseln, z. B. [network,subnet],private-network-ip,address), an.

Dieses Snippet zeigt nur das Flag --network-interface, einen von vielen möglichen Parametern, die Sie beim Erstellen einer Instanz angeben können. Informationen zu anderen Flags finden Sie in der Referenz zu gcloud unter dem Befehl instances create. In der Tabelle Maximale Anzahl an Netzwerkschnittstellen sehen Sie, welche Maschinentypen die Anzahl der von Ihnen benötigten Netzwerkschnittstellen unterstützen.

gcloud compute instances create INSTANCE_NAME \
    --zone [ZONE] \
    [--network-interface
        [network=NETWORK,subnet=SUBNET],
        [address=EXT_IP_NAME | no-address],
        [private-network-ip=INT_NETWORK_IP]
    ...]

Ersetzen Sie die Platzhalter durch gültige Werte:

  • ZONE: Die Zone, in der die Instanz erstellt wird.
  • NETWORK: Das Netzwerk, an das die Schnittstelle angehängt wird.
  • SUBNET: Das Subnetz, an das die Schnittstelle angehängt wird.
  • EXT_IP_NAME: Die zugewiesene externe IP-Adresse wird der Schnittstelle zugewiesen. Sie müssen zuvor eine externe Adresse reserviert haben. Wenn die Schnittstelle keine externe IP-Adresse haben soll, geben Sie anstelle von address=EXT_IP_NAME „no-address” an. Geben Sie address='' an, wenn die Schnittstelle eine sitzungsspezifische externe IP-Adresse erhalten soll.
  • INT_NETWORK_IP: Die interne IP-Adresse, die die Schnittstelle im Zielsubnetz haben soll. Lassen Sie diese aus, wenn Sie nur eine beliebige gültige Adresse zuweisen möchten.

API

Erstellen Sie eine VM-Instanz mit mehreren Netzwerkschnittstellen.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "networkInterfaces": [
    {
      "subnetwork": "SUBNET_URL"
    },
      for each interface, specify a network...
  ],
  other instance settings...
}

Ersetzen Sie die Platzhalter durch gültige Werte:

  • SUBNET_URL ist die URL des Subnetzes, in dem sich die Netzwerkschnittstelle befindet.
  • PROJECT_ID ist die ID des Projekts, das die Instanz enthalten wird.
  • ZONE ist die Zone, die die Instanz enthalten wird.

Weitere Informationen finden Sie in der Methode instances.insert.

Terraform

Sie können eine Terraform-Ressource verwenden, um eine VM-Instanz mit mehreren Netzwerkschnittstellen zu erstellen.

Die Terraform-Argumente haben Beispielwerte, die Sie ändern können.

resource "google_compute_instance" "default" {
  project      = var.project_id # Replace with your project ID in quotes
  zone         = "us-central1-b"
  name         = "backend-instance"
  machine_type = "e2-medium"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }
  network_interface {
    subnetwork = var.subnet_1 # Replace with self link to a subnetwork in quotes
    network_ip = "10.0.0.14"
  }
  network_interface {
    subnetwork = var.subnet_2 # Replace with self link to a subnetwork in quotes
    network_ip = "10.10.20.14"
  }
}

Beispiel

Im Folgenden finden Sie ein Beispiel zum Erstellen einer Instanz mit drei Netzwerkschnittstellen:

 gcloud compute instances create vm1 --machine-type=n1-standard-4 \
    --network-interface '' \
    --network-interface subnet=net1-subnet-a,private-network-ip=10.128.0.2,address=my-external-address \
    --network-interface subnet=net2-subnet-b,private-network-ip=10.129.0.2,no-address

Die Schnittstellen werden wie folgt erstellt:

  • nic0 mit allen Standardeinstellungen. Wird dem VPC-Standardnetzwerk mit einer automatisch zugewiesenen internen IP-Adresse und einer sitzungsspezifischen externen IP-Adresse zugeordnet.
  • nic1 gehört zu net1-subnet-a mit der internen IP-Adresse 10.128.0.2 und einer statischen externen IP-Adresse.
  • nic2 gehört zu net2-subnet-b mit der internen IP-Adresse 10.129.0.2, ohne öffentliche IP-Adresse.

Eine vollständige Beschreibung des Befehls gcloud compute instances create und des Flags --network-interface finden Sie in der Dokumentation zum Befehl.

Sie können die IP-Adresse der NIC verwenden, die Sie hinzugefügt haben, um die DNS-Weiterleitung einzurichten. Weitere Informationen zum Konfigurieren von Cloud DNS-Weiterleitungszonen finden Sie unter Weiterleitungszonen.

Mehrere Netzwerkschnittstellen für Instanzgruppen konfigurieren

Alle Instanzen innerhalb einer verwalteten Instanzgruppe sind auf ein einzelnes Subnetz beschränkt. Alle Instanzen innerhalb einer nicht verwalteten Instanzgruppe sind auf ein einzelnes Subnetz beschränkt, wenn sie für den Lastenausgleich verwendet wurden. Weitere Informationen finden Sie in der Dokumentation zu VPC-Netzwerken und zum Load-Balancing.

Aufgrund dieser Einschränkungen ist pro Instanz nur eine Schnittstelle möglich. Google Cloud führt Validierungen anhand des Subnetzes durch, das der einzigen Schnittstelle in der Instanz zugeordnet ist.

Wenn Sie mehrere Schnittstellen für Instanzen in einer verwalteten oder nicht verwalteten Instanzgruppe konfigurieren, validiert Google Cloud diese Bedingungen weiterhin für die standardmäßige Schnittstelle nic0.

Instanzvorlagen mit mehreren Schnittstellen erstellen

Der Vorgang zum Erstellen einer Instanzvorlage mit einer einzigen Schnittstelle pro Instanz bleibt unverändert und wird in der gcloud-Referenz für den Befehl instance-templates create erläutert.

Um mehrere Netzwerkschnittstellen für eine Instanzvorlage zu konfigurieren, geben Sie das Flag --network-interface für jede zu erstellende Netzwerkschnittstelle an:


gcloud compute instance-templates create NAME [--description DESCRIPTION] \
    [--network-interface [network NETWORK; default="default" | subnet SUBNET][address ADDRESS| no-address] \
    [--network-interface [network NETWORK; default="default" | subnet SUBNET][address ADDRESS | no-address] \
    .....

Sie können jeder Schnittstelle die folgenden Netzwerkschlüssel zuweisen: network, subnet, address.

Wenn Sie beispielsweise den folgenden Befehl ausführen, erhält jede Instanz drei Netzwerkschnittstellen:

gcloud compute instance-templates create template-1 \
    --network-interface subnet=net0-subnet-a \
    --network-interface subnet=net1-subnet-b,no-address \
    --network-interface subnet=net2-subnet-c,no-address \
    --region us-central1`

Die Schnittstellen sind:

  • nic0 gehört zu net0-subnet-a und hat eine automatisch zugewiesene externe IP-Adresse.
  • nic1 gehört zu net1-subnet-b und hat keine externe IP-Adresse.
  • nic2 gehört zu net2-subnet-c und hat keine externe IP-Adresse.

Ausführliche Informationen zu Flags und Syntax finden Sie im Artikel zum Befehl instance-templates create.

Richtlinienrouting konfigurieren

Wenn es bei einem von Google unterstützten Image erforderlich ist, dass eine sekundäre Netzwerkschnittstelle (eine andere Schnittstelle als nic0) mit einer IP-Adresse außerhalb des primären Subnetzbereichs des verknüpften Subnetzes dieser sekundären Schnittstelle kommunizieren muss, müssen Sie das Richtlinienrouting konfigurieren, damit Pakete über die richtige Schnittstelle ausgehen. In solchen Fällen müssen Sie eine separate Routingtabelle für jede Netzwerkschnittstelle konfigurieren, die Richtlinienrouting verwendet.

Linux

Gehen Sie folgendermaßen vor, um das Richtlinienrouting für eine Linux-basierte Instanz mit mehreren Schnittstellen zu konfigurieren:

  1. Stellen Sie eine Verbindung zu einer Instanz her, die mit mehreren Netzwerkschnittstellen konfiguriert ist:

    gcloud compute ssh multinic-vm
    
  2. Konfigurieren Sie das Richtlinienrouting mit ifconfig für nic1. Im folgenden Beispiel wird davon ausgegangen, dass Google Cloud die interne IP-Adresse 192.168.0.2 nic1 zugewiesen hat und das Standardgateway des Subnetzes 192.168.0.1 ist.

    sudo ifconfig eth1 192.168.0.2 netmask 255.255.255.255 broadcast 192.168.0.2 mtu 1430
    echo "1 rt1" | sudo tee -a /etc/iproute2/rt_tables
    sudo ip route add 192.168.0.1 src 192.168.0.2 dev eth1 table rt1
    sudo ip route add default via 192.168.0.1 dev eth1 table rt1
    sudo ip rule add from 192.168.0.2/32 table rt1
    sudo ip rule add to 192.168.0.2/32 table rt1
    
  3. Wiederholen Sie die Befehle in Schritt 2 für weitere Schnittstellen auf der Instanz (nic2, nic3 ... nic7).

Ubuntu 18.04 oder höher

Seit dem Wechsel von ifupdown zu Netplan als Standard-Netzwerkkonfigurationsprogramm ab Ubuntu 18.04 LTS ist das ifconfig-Paket nicht mehr vorinstalliert. Darüber hinaus gehen Änderungen, die Sie an den Netzwerkkonfigurationsdateien von Netplan vornehmen, bei Neustarts von Compute Engine-VMs verloren.

Es gibt zwei Problemumgehungen, mit denen Sie Routingtabellen für jede Netzwerkschnittstelle in Ubuntu 18.04 oder höher konfigurieren können:

  1. Erstellen Sie ein Startskript, das eine Routingtabelle für jede Netzwerkschnittstelle beim Starten der VM festlegt. Weitere Informationen zum Erstellen von Startskripts.

    Die Verwendung eines Startskripts funktioniert nicht, wenn Sie eine Dateifreigabe in Ihrer VM bereitstellen, da sie nur ausgeführt werden, nachdem Partitionen bereitgestellt wurden. Dies würde dazu führen, dass Ihre Dateifreigabe immer auf der Standardschnittstelle bereitgestellt wird, bevor Ihr Startskript die Routingtabelle erstellt hat.

  2. Für die Bereitstellung einer Dateifreigabe auf einer VM über ein sekundäres Netzwerk, also eine andere Schnittstelle als nic0, müssen Sie die Routingrichtlinie der Client-VM so konfigurieren, dass die Dateifreigabe über die richtige Netzwerkschnittstelle bereitgestellt wird. Ändern Sie dazu die folgenden Dateien:

    • Setzen Sie in /etc/default/instance_configs.cfg das setup-Flag für NetworkInterfaces auf false:
      [NetworkInterfaces]
      dhclient_script = /sbin/google-dhclient-script
      dhcp_command =
      ip_forwarding = true
          setup = false
      
    • Fügen Sie in /etc/network/interfaces die folgenden Zeilen zur entsprechenden Schnittstelle hinzu:

      auto eth1
      iface eth1 inet dhcp
          up ip route add filestore-reserved-address-range via default-gateway-of-nic-to-filestore
      

    wobei

    • filestore-reserved-address-range ist der reservierte Adressbereich, der von der VPC-Instanz verwendet wird.
    • default-gateway-of-nic-to-filestore ist die Standard-Gateway-IP-Adresse der NIC, die mit dem VPC-Netzwerk verbunden ist und mit der VPC-Instanz geteilt wird.

    Weitere Informationen zum Bereitstellen einer Dateifreigabe auf einer VM-Instanz finden Sie unter Dateifreigaben in Compute Engine bereitstellen.

Fehlerbehebung

Ich kann keine VM mit mehreren Schnittstellen erstellen

Möglicherweise wird eine der folgenden Fehlermeldungen angezeigt:

  • Invalid value for field 'resource': ''. Too many network interfaces. The maximum number of network interfaces allowed for this machine type is.

    Wenn Sie diese Fehlermeldung erhalten, versuchen Sie, mehr Schnittstellen als die vom Instanzmaschinentyp unterstützten maximalen Schnittstellen zu erstellen. Siehe die Tabelle zur maximalen Anzahl von Schnittstellen.

  • Networks must be distinct for NICs attached to a VM.

    Wenn Sie diese Nachricht erhalten, versuchen Sie, mehr als eine Schittstelle in demselben Netzwerk zu erstellen. Jede Netzwerkschnittstelle muss an ein anderes VPC-Netzwerk angeschlossen sein.

  • Subnetwork CIDR ranges must be non-overlapping for NICs attached to a VM.

    Wenn Sie diese Meldung erhalten, überschneiden sich die CIDR-Bereiche Ihrer VMs. Diese CIDR-Bereiche umfassen alle primären Bereiche von Subnetzen, die mit VM-Schnittstellen verknüpft sind, sowie sekundäre Bereiche, die für Alias-IP-Bereiche verwendet werden. Jede Schnittstelle gehört zu einem Subnetz in jeweils einem anderen VPC-Netzwerk, das sich nicht mit Subnetzen anderer Schnittstellen überschneiden darf. Wenn Sie beispielsweise versuchen, Ihre Instanz in der Region us-west1 zu erstellen, können Sie mit dem folgenden Befehl oder der Google Cloud Console primäre Subnetz-CIDR-Bereiche prüfen.

    gcloud compute networks subnets list --regions us-west1
    NAME                REGION    NETWORK          RANGE
    default             us-west1  default          10.138.0.0/20
    overlapping-subnet  us-west1  test-network     10.138.8.0/24
    

    Verwenden Sie den folgenden Befehl oder die Google Cloud Console, um sekundäre Subnetz-CIDR-Bereiche zu prüfen.

    gcloud compute networks subnets describe overlapping-subnet --region us-west1
    
    ...
    ipCidrRange: 10.128.8.0/24
    ...
    secondaryIpRanges:
    - ipCidrRange: 10.138.8.0/24
      rangeName: conflicting-range
    
  • Multiple network interfaces are not supported on legacy networks.

    Wenn Sie diese Meldung erhalten, versuchen Sie, Ihre Instanz in einem älteren (Legacy-)Netzwerk zu erstellen. Instanzen mit mehreren Schnittstellen werden von älteren Netzwerken nicht unterstützt. Mit dem folgenden Befehl oder der Google Cloud Console können Sie prüfen, ob es sich bei einem Netzwerk um ein Legacy-Netzwerk handelt. Das Feld Modus gibt die Art des Netzwerks an.

    gcloud compute networks list
    NAME             MODE    IPV4_RANGE     GATEWAY_IPV4
    default          auto
    legacy-network   legacy  10.240.0.0/16  10.240.0.1
    test-network     custom
    

  • Required 'compute.instances.create' permission for 'projects/PROJECT_ID/zones/ZONE/instances/test-inst'

    Wenn Sie diese Meldung erhalten, hat das Konto, mit dem Sie angemeldet sind, keine zum Erstellen einer Instanz nötigen IAM-Berechtigungen. Detaillierte Informationen zu den für das Erstellen von Instanzen erforderlichen Rollen finden Sie unter IAM-Berechtigungen. Sie können prüfen, ob Ihnen die IAM-Richtlinie für Ihr Projekt eine der folgenden Rollen gewährt: OWNER, EDITOR oder compute.instanceAdmin.v1. Zum Erstellen von Instanzen mit freigegebenen VPC benötigen Sie zusätzlich die Rolle compute.networkUser. Im folgenden Beispiel verfügt das Konto email2@gmail.com nicht über ausreichende IAM-Berechtigungen zum Erstellen einer Instanz. Eine ausführlichere Anleitung finden Sie in der IAM-Dokumentation unter Zugriff auf Ressourcen erteilen, ändern und entziehen.

    gcloud projects get-iam-policy PROJECT_ID
    bindings:
    - members:
      - user:email1@gmail.com
        role: roles/owner
    - members:
      - serviceAccount:our-project-123@appspot.gserviceaccount.com
      - serviceAccount:123456789012-compute@developer.gserviceaccount.com
        role: roles/editor
    - members:
      - user:email2@gmail.com
        role: roles/viewer
    etag: BwUjMhXbSPU=
    version: 1
    

    Sie können den Inhaber oder Bearbeiter Ihres Projekts bitten, Ihnen eine der Rollen OWNER, EDITOR oder compute.instanceAdmin.v1 zu erteilen. Wenn Sie eine Schnittstelle mit einem zu freigegebenen VPC gehörenden Subnetz verbinden, benötigen Sie auch die Rolle compute.networkUser.

    gcloud projects set-iam_policy --member user:email2@gmail.com --role roles/editor
    

Ich kann keine Verbindung zur internen IP-Adresse der sekundären Schnittstelle herstellen

  • Prüfen Sie die Firewallregeln, um zu bestätigen, dass sie Verbindungen zur sekundären VM-Schnittstelle zulassen. Sehen Sie sich dazu die Firewallregeln für das mit der sekundären Schnittstelle verbundene Netzwerk an. Sie können hierfür entweder die Google Cloud Console aufrufen und auf das entsprechende VPC-Netzwerk klicken oder folgenden gcloud-Befehl verwenden.

    gcloud compute firewall-rules list --filter='network:NETWORK_NAME'
    
  • Überprüfen Sie, ob Sie versuchen, eine Verbindung zu einer sekundären Schnittstelle von einer Internetadresse oder von außerhalb des Netzwerks der sekundären Schnittstelle herzustellen. Eine Verbindung zur internen IP-Adresse einer Schnittstelle ist nur innerhalb ihres Netzwerks möglich. Wenn Sie diese Schnittstelle von außerhalb des Netzwerks erreichen müssen, können Sie Ihrer sekundären Schnittstelle eine externe IP-Adresse zuweisen.

  • Überprüfen Sie, ob Sie versuchen, entweder von einem anderen Subnetz desselben Netzwerks oder von einem Peering-Netzwerk eine Verbindung zur internen IP-Adresse der sekundären Schnittstelle von außerhalb des Subnetzes herzustellen, mit dem die sekundäre Schnittstelle verbunden ist. In Mehrere Netzwerkschnittstellen pro Instanz wird das Zusammenspiel zwischen VPC-Peering und VM-Instanzen mit mehreren Schnittstellen beschrieben. Um sekundäre Schnittstellen außerhalb des Subnetzes der Schnittstelle zu erreichen, müssen Sie möglicherweise Routen auf der VM konfigurieren. Unter DHCP-Verhalten mit mehreren Netzwerkschnittstellen finden Sie weitere Informationen dazu, wie DHCP Standardrouten in der VM programmiert.

Ich kann über eine externe IP-Adresse keine Verbindung zur sekundären Schnittstelle herstellen

Der DHCP-Server programmiert nur auf der primären Netzwerkschnittstelle der VM eine Standardroute. Wenn Sie eine Verbindung über eine externe IP-Adresse zur sekundären Schnittstelle herstellen möchten, gibt es zwei Möglichkeiten. Wenn Sie über die sekundäre Netzwerkschnittstelle nur Verbindungen aus dem Netzwerk heraus herstellen müssen, können Sie auf dieser Netzwerkschnittstelle eine Standardroute einrichten. Andernfalls können Sie gemäß Richtlinienrouting konfigurieren eine separate Routingtabelle zur Verwendung von quellbasiertem Richtlinienrouting in der VM konfigurieren.

Ich habe Verbindungsprobleme bei der Verwendung einer anderen Netzmaske als /32

Standardmäßig antwortet der Metadatenserver der Instanz nur auf ARP-Anfragen für das Standardgateway.

Für die Konfiguration von Schnittstellen mit einer anderen Netzmaske als /32 müssen Sie ein Image mit dem Flag --guest-os-features MULTI_IP_SUBNET und damit Ihre Instanz erstellen. Wenn Sie beispielsweise ein debian-9-basiertes Image verwenden, können Sie ein Image mit dem folgenden Befehl erstellen:

gcloud compute images create debian-9-multi-ip-subnet \
     --source-disk debian-9-disk \
     --source-disk-zone us-west1-a \
     --guest-os-features MULTI_IP_SUBNET

Um die auf dem Image konfigurierten Gastfeatures aufzurufen, führen Sie den Befehl gcloud compute images describe für das Gast-Image aus.

gcloud compute images describe debian-9-multi-ip-subnet

Weitere Informationen zum Erstellen benutzerdefinierter Images finden Sie unter Benutzerdefinierte Images erstellen, löschen und verwerfen.

Fehlerbehebung mit serieller Konsole

Oft ist es ratsam, auf der VM die serielle Konsole zu aktivieren, um eine Fehlerbehebung für Konfigurationsprobleme durchzuführen. Sie können die serielle Konsole für das interaktive Debugging auswählen. Dazu befolgen Sie die Schritte unter Mit der seriellen Konsole interagieren.