Creazione di istanze con interfacce di rete multiple

Per impostazione predefinita, ogni istanza di macchina virtuale (VM) in una rete VPC ha una singola interfaccia di rete. Tuttavia, puoi configurare un'istanza con più interfacce di rete. Quando utilizzi più interfacce da un'istanza, ognuna deve essere collegata a una rete VPC diversa, non è possibile collegare più interfacce di rete alla stessa rete VPC.

Puoi configurare le interfacce VM solo con indirizzi IPv4 (stack singolo) o indirizzi IPv4 e IPv6 (stack doppio).

Se non hai bisogno di interfacce di rete multiple, segui la procedura per creare e avviare un'istanza per creare istanze con la configurazione di rete predefinita.

Per scoprire di più sulle interfacce di rete multiple e su come funzionano, consulta la pagina relativa a più interfacce di rete.

Specifiche

  • Puoi configurare un'interfaccia di rete solo quando crei un'istanza.

  • Ogni interfaccia di rete configurata in una singola istanza deve:

    • Collega a una rete VPC diversa, una rete autonomaVPC o una rete VPC condivisa.
    • Appartiene a una subnet il cui intervallo IP non si sovrappone alle subnet di qualsiasi altra interfaccia.
  • Se vuoi creare una VM collegata a più reti VPC, tutte le reti devono esistere prima di creare l'istanza. Per scoprire di più sulla creazione di reti, consulta Creare e modificare le reti Virtual Private Cloud (VPC).

  • Non puoi eliminare un'interfaccia di rete senza eliminare l'istanza.

  • Ogni istanza deve avere almeno un'interfaccia di rete e un massimo di otto, a seconda del tipo di macchina dell'istanza.

    • nic0 è obbligatorio e deve essere configurato al momento della creazione dell'istanza.
    • nic1 per nic7 sono facoltativi, ma devono essere configurati anche al momento della creazione dell'istanza.
    • Per scoprire di più, consulta il numero massimo di interfacce.
  • Ogni interfaccia può avere facoltativamente un indirizzo IPv4 esterno.

  • Se colleghi una VM a una subnet che ha un intervallo di subnet IPv6 interno o esterno, puoi configurare un indirizzo IPv6 interno o esterno.

  • Il server DHCP di Google Cloud invia una route predefinita (RFC 3442, "route statica senza classe") solo al NIC predefinito, nic0. Se è necessaria una route predefinita su un altro NIC, devi configurare il routing dei criteri per l'istanza.

  • Tutte le interfacce delle VM devono connettersi alle reti nello stesso progetto della VM o a un VPC condiviso condiviso con il progetto.

Limitazioni

  • Non puoi aggiungere o rimuovere le interfacce di rete da una VM esistente.

  • L'IP forwarding è abilitato a livello di VM e non può essere applicato alle singole interfacce.

Autorizzazioni, IAM e istanze con più interfacce di rete

Per creare un'istanza con più interfacce di rete, devi disporre di uno dei seguenti ruoli:

  • Ruolo Proprietario o Editor del progetto
  • Ruolo compute.instanceAdmin.v1

Creazione ed eliminazione di istanze e modelli di istanza con più interfacce in un progetto che non utilizza l'ambiente VPC condiviso: un utente con il ruolo PROPRIETARIO, EDITOR o compute.instanceAdmin.v1 a livello di progetto può creare un'istanza con più interfacce associate a reti VPC e subnet che fanno parte dello stesso progetto.

Creazione ed eliminazione di istanze e modelli di istanza con più interfacce nelle ambienti VPC condivisi: un utente con il ruolo PROPRIETARIO, EDITOR o compute.instanceAdmin.v1 a livello di progetto può creare un'istanza con più interfacce. Se una delle interfacce è associata a una subnet in un progetto host del VPC condiviso, devi avere anche il ruolo compute.networkUser a livello di progetto host del VPC condiviso o a livello di subnet VPC condiviso.

Per saperne di più sulle autorizzazioni, consulta la documentazione IAM di Compute Engine.

Utilizzo di più interfacce di rete con diversi tipi di rete VPC

  • Le interfacce legacy non supportano più interfacce di rete.
  • Quando configuri più interfacce di rete, collega ogni interfaccia a una rete VPC in modalità automatica o a una rete VPC in modalità personalizzata.

Allocazione degli indirizzi IP dell'interfaccia di rete

  • Devi configurare ogni interfaccia di rete con un indirizzo IP interno principale assegnato dall'intervallo di indirizzi IP principali di una subnet.
    • L'indirizzo interno principale assegnato a ciascuna delle interfacce in una singola istanza deve essere diverso.
  • Puoi scegliere di configurare ciascuna interfaccia virtuale (NIC) con un indirizzo IP esterno univoco. Gli indirizzi esterni possono essere temporanei o riservati.

Numero massimo di interfacce di rete

Il numero di interfacce di rete virtuale scala con il numero di vCPU con un minimo di 2 e un massimo di 8.

Utilizza la seguente tabella per determinare quante interfacce di rete possono essere collegate a un'istanza:

Numero di vCPU Numero di vNIC
2 o meno 2
2 - 8 2 - 8
8 o più 8

Prima di iniziare

  • Verifica che tutte le reti richieste siano create prima di creare l'istanza. Se devi creare reti, consulta Creare e modificare le reti Virtual Private Cloud (VPC).

  • Verifica che ogni rete disponga di regole firewall appropriate per consentire il traffico da una e più VM consentito con diverse interfacce. Se devi creare regole firewall, consulta Utilizzare le regole firewall.

  • Se connetti una VM a più reti tramite indirizzi IPv6, la VM necessita di una delle seguenti configurazioni. In caso contrario, le interfacce con indirizzi IPv6 non sono configurate con una route di subnet IPv6.

    • La VM ha la versione google-guest-agent 20220412.00 o successive. Per ulteriori informazioni sulla gestione delle versioni google-guest-agent, consulta la sezione Ambiente guest.

    • La VM ha uno script di avvio configurato per apportare la seguente modifica alla configurazione per ogni interfaccia secondaria.

      sudo sysctl -w net.ipv6.conf.INTERFACE_NAME.accept_ra_rt_info_max_plen=128
      

      Sostituisci INTERFACE_NAME con il nome dell'interfaccia, ad esempio eth1 o ens5.

Creare istanze di macchine virtuali con più interfacce di rete

La creazione di un'istanza con una singola interfaccia non è modificata. Per istruzioni generali sulla creazione di istanze, consulta Creazione e avvio di un'istanza.

Puoi aggiungere più interfacce di rete quando crei un'istanza:

  • Nella console, puoi aggiungere le interfacce di rete nella pagina Crea un'istanza, nella sezione Networking -> Interfacce di rete.
  • Nello strumento a riga di comando gcloud, utilizza il comando instances create. Includi il flag --network-interface per ogni interfaccia, seguito da eventuali chiavi di networking appropriate, come ([network | subnet], private-network-ip, address).

La prima interfaccia viene sempre creata come nic0 ed è sempre l'interfaccia predefinita. Ciò è importante per alcuni altri aspetti del networking di Google Cloud. Ad esempio, i bilanciatori del carico Google Cloud (tranne Bilanciamento del carico TCP/UDP interno) distribuiscono solo il traffico su nic0.

Console

  1. Vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Inserisci un Nome per l'istanza.

  3. Seleziona un'area geografica.

  4. Seleziona una Zona.

  5. Espandi la sezione Networking, dischi, sicurezza, gestione, single tenancy.

  6. Espandi Networking ed esegui le seguenti operazioni:

    1. Nella sezione Interfacce di rete, espandi l'interfaccia di rete per modificarla.

    2. Per Rete e Subnet, seleziona la rete e la subnet che vuoi utilizzare.

      Se vuoi configurare indirizzi IPv6 nell'interfaccia, seleziona una subnet con un intervallo di indirizzi IPv6 configurato. Il tipo di accesso IPv6 della subnet determina se la VM riceve un indirizzo IPv6 interno o un indirizzo IPv6 esterno.

    3. Seleziona un tipo di stack IP: IPv4 (singolo stack) oppure IPv4 e IPv6 (stack doppio)

    4. Per IP interno principale, seleziona una delle seguenti opzioni:

      • Temporaneo per assegnare un nuovo indirizzo IPv4 temporaneo
      • Un indirizzo IPv4 riservato dall'elenco
      • Statico per assegnare un nuovo indirizzo IPv4 statico
    5. Per Indirizzo IPv4 esterno, seleziona una delle seguenti opzioni:

      • Temporaneo per assegnare un nuovo indirizzo IPv4 temporaneo
      • Nessuno per non assegnare un indirizzo IPv4 esterno.
      • Un indirizzo IPv4 riservato dall'elenco
      • Crea un nuovo indirizzo IP per assegnare un nuovo indirizzo IPv4 statico
    6. Per completare la modifica dell'interfaccia di rete, fai clic su Fine.

  7. Fai clic su Aggiungi interfaccia di rete per aggiungere un'altra interfaccia.

  8. Continua con il processo di creazione della VM.

  9. Fai clic su Crea.

gcloud

Crea interfacce di rete su una nuova istanza utilizzando il comando instances create. Includi il flag --network-interface per ogni interfaccia, seguito da eventuali chiavi di networking appropriate, come [network,subnet],private-network-ip,address).

Questo snippet illustra solo il flag --network-interface, uno dei tanti parametri possibili che puoi specificare durante la creazione di un'istanza. Per altri flag, consulta il riferimento gcloud per il comando instances create. Consulta la tabella Numero massimo di interfacce di rete per vedere quali tipi di macchine supportano il numero di interfacce di rete necessario.

gcloud compute instances create INSTANCE_NAME \
    --zone [ZONE] \
    [--network-interface \
        [network=NETWORK,subnet=SUBNET], \
        [stack-type=STACK_TYPE], \
        [address=RESERVED_EXTERNAL_ADDRESS | no-address], \
        [private-network-ip=INTERNAL_ADDRESS] \
    ...]

Sostituisci quanto segue:

  • ZONE: la zona in cui viene creata l'istanza.
  • NETWORK: la rete a cui verrà collegata l'interfaccia.
  • SUBNET: la subnet a cui verrà collegata l'interfaccia.
  • STACK_TYPE: il tipo di stack per l'interfaccia. Il valore predefinito è IPV4_ONLY. Specifica IPV4_IPV6 per configurare un'interfaccia a doppio stack.
  • RESERVED_EXTERNAL_ADDRESS: assegna l'indirizzo IP esterno denominato all'interfaccia. Devi aver prenotato in precedenza un indirizzo esterno. Specifica "nessun indirizzo" anziché address=RESERVED_EXTERNAL_ADDRESS se non vuoi che l'interfaccia abbia un indirizzo IP esterno. Specifica address='' se vuoi che l'interfaccia riceva un indirizzo IP esterno temporaneo.
  • INTERNAL_ADDRESS: l'indirizzo IP interno che vuoi inserire nella subnet di destinazione. Ometti se vuoi assegnare un indirizzo valido.

API

Crea un'istanza VM con più interfacce di rete.

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...
}

Sostituisci i segnaposto con valori validi:

  • SUBNET_URL è l'URL della subnet in cui si troverà l'interfaccia di rete.
  • PROJECT_ID è l'ID del progetto che conterrà l'istanza.
  • ZONE la zona che conterrà l'istanza.

Per ulteriori informazioni, consulta il metodo instances.insert.

Terraform

Puoi utilizzare una risorsa Terraform per creare un'istanza VM con più interfacce di rete.

Gli argomenti Terraform hanno valori di esempio modificabili.

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"
  }
}

Configurazioni di esempio

Le sezioni seguenti mostrano come creare VM con più interfacce.

Configurare più interfacce con indirizzi IPv4

Il comando di esempio riportato di seguito crea un'istanza con tre interfacce di rete.

 gcloud compute instances create vm1 --machine-type=n1-standard-4 \
    --network-interface '' \
    --network-interface network=net1,subnet=subnet-a,private-network-ip=10.10.10.2,address=RESERVED_EXTERNAL_ADDRESS \
    --network-interface network=net2,subnet=subnet-b,private-network-ip=10.10.20.2,no-address

Le interfacce vengono create come segue:

  • L'app nic0 è stata creata con le impostazioni predefinite. L'interfaccia è collegata alla rete VPC predefinita, con un indirizzo IP interno allocato e un indirizzo IP esterno temporaneo.

  • nic1 è collegato alla subnet subnet-a nella rete net1, con un indirizzo IP interno 10.10.10.2 e un indirizzo IP esterno statico, RESERVED_EXTERNAL_ADDRESS.

  • nic2 è collegato alla subnet subnet-b nella rete net2, con indirizzo IP interno 10.10.20.2 e nessun indirizzo IP esterno.

Per una descrizione completa del comando gcloud compute instances create e del flag --network-interface, consulta la documentazione relativa al comando.

Puoi utilizzare l'indirizzo IP del NIC che hai aggiunto per configurare l'inoltro DNS. Per ulteriori informazioni sulla configurazione delle zone di forwarding di Cloud DNS, consulta la sezione Zone di forwarding.

Configurare più interfacce con indirizzi IPv4 e IPv6

Il seguente comando di esempio crea un'istanza a doppio stack con due interfacce di rete.

gcloud compute instances create vm1 \
--network-interface network=dual-int,subnet=int-subnet,stack-type=IPV4_IPV6 \
--network-interface network=dual-ext,subnet=ext-subnet,stack-type=IPV4_IPV6,ipv6-network-tier=PREMIUM \
--machine-type=n1-standard-4 --zone=us-west2-a

Le interfacce vengono create come segue:

  • nic0 è collegato alla subnet int-subnet nella rete dual-int, con un indirizzo IPv4 interno temporaneo e un indirizzo IPv6 interno temporaneo.

  • nic1 è collegato alla subnet ext-subnet nella rete dual-ext, con un indirizzo IPv4 interno temporaneo e un indirizzo IPv6 esterno temporaneo.

Configurazione di più interfacce di rete per gruppi di istanze

Puoi utilizzare istanze con più interfacce di rete in gruppi di istanze non gestite e gruppi di istanze gestite.

Per i gruppi di istanze non gestite, crea ogni istanza singolarmente, assicurandoti che l'interfaccia di rete nic0 per ogni VM si trovi nella stessa rete VPC. Quindi, aggiungi le istanze VM al gruppo di istanze non gestite.

Per configurare più interfacce di rete per gruppi di istanze gestite, devi specificare la configurazione di rete per ogni interfaccia nel modello di istanza, impostando il flag --network-interface una volta per ogni interfaccia. L'esempio seguente crea un modello di istanza con tre interfacce di rete:

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

Poiché i nomi delle subnet in ogni area geografica di un progetto devono essere univoci, specificando le subnet per nome, associa implicitamente ogni interfaccia a una rete VPC. Ogni interfaccia deve utilizzare una rete VPC univoca:

  • nic0 utilizza la subnet net0-subnet-a
  • nic1 utilizza la subnet net1-subnet-b
  • nic2 utilizza la subnet net2-subnet-c

L'opzione no-address nel flag --network-interface indica che l'interfaccia è configurata senza un indirizzo IP esterno. L'indirizzo IP interno proviene dalla subnet utilizzata dall'interfaccia. Per informazioni complete sui flag e sulla sintassi, consulta il flag --network-interface per il comando instance-templates create.

Configurazione del routing dei criteri

Per le immagini supportate da Google, quando hai bisogno di un'interfaccia di rete secondaria (un'interfaccia diversa da nic0) per comunicare con qualsiasi indirizzo IP non locale nell'intervallo di subnet principale dell'interfaccia secondaria dell'interfaccia secondaria, devi configurare il routing dei criteri per assicurarti che i pacchetti in uscita lascino l'interfaccia corretta. In questi casi, devi configurare una tabella di routing separata per ogni interfaccia di rete mediante il routing dei criteri.

Il routing dei criteri basati su origine non è supportato dai sistemi operativi Windows.

Trova il gateway predefinito per l'interfaccia

Per trovare il gateway predefinito per un'interfaccia di VM, esegui una query sul server dei metadati.

  • Per trovare il gateway predefinito per un indirizzo IPv4 di un'interfaccia, effettua la seguente richiesta dalla VM:

    curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/INTERFACE_NUMBER/gateway -H "Metadata-Flavor: Google"
    

    Sostituisci INTERFACE_NUMBER con il numero dell'interfaccia. Ad esempio, per trovare il gateway predefinito per nic1, utilizza 1.

  • Per trovare il gateway predefinito per un indirizzo IPv6 dell'interfaccia, esegui la seguente richiesta alla VM:

    curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/INTERFACE_NUMBER/gateway-ipv6 -H "Metadata-Flavor: Google"
    

    Sostituisci INTERFACE_NUMBER con il numero dell'interfaccia. Ad esempio, per trovare il gateway predefinito per nic1, utilizza 1.

Configura il routing basato su criteri sulle VM Linux

Per evitare di perdere la connettività alla VM durante la modifica della route predefinita, utilizza la console di serie.

  • Configura il routing dei criteri per ogni interfaccia secondaria con ifconfig. Non configurare l'interfaccia principale (nic0) in quanto ha una route configurata.

    sudo ifconfig NIC IP_ADDRESS netmask NETMASK broadcast IP_ADDRESS mtu 1430
    echo "1 rt1" | sudo tee -a /etc/iproute2/rt_tables
    sudo ip route add GATEWAY src IP_ADDRESS dev NIC table rt1
    sudo ip route add default via GATEWAY dev NIC table rt1
    sudo ip rule add from IP_ADDRESS/PREFIX_LENGTH table rt1
    sudo ip rule add to IP_ADDRESS/PREFIX_LENGTH  table rt1
    

    Sostituisci quanto segue:

    • NIC: l'interfaccia per cui vuoi aggiungere un percorso. Ad esempio, eth1.
    • IP_ADDRESS: l'indirizzo IP configurato nell'interfaccia.
    • NETMASK: la netmask dell'interfaccia. Ad esempio, 255.255.255.255.
    • GATEWAY: l'indirizzo IP del gateway predefinito dell'interfaccia.
    • PREFIX_LENGTH: la lunghezza del prefisso dell'indirizzo IP configurato.

Configura il routing basato su criteri su Ubuntu 18.04 o versioni successive

Con il passaggio da ifupdown a Netplan come utilità di configurazione di rete predefinita per Ubuntu 18.04 LTS o versioni successive, il pacchetto ifconfig non viene preinstallato. Inoltre, le modifiche apportate ai file di configurazione di rete di Netplan##9 non vengono mantenute ai riavvii delle VM di Compute Engine.

  1. Crea uno script di avvio che imposti una tabella di routing per ogni interfaccia di rete all'avvio della VM. Scopri di più sulla creazione di script di avvio.

    L'uso di uno script di avvio non funziona se installi una condivisione file nella VM perché viene eseguita solo dopo aver montato le partizioni. Per questo motivo, la condivisione di file viene sempre montata sull'interfaccia predefinita prima della creazione della tabella di routing dallo script di avvio.

  2. Per montare una condivisione file su una VM tramite una rete secondaria, ovvero un'interfaccia diversa da nic0, devi configurare il criterio di routing delle VM del client per assicurarti che la condivisione file venga montata tramite l'interfaccia di rete corretta. A tale scopo, modifica i seguenti file:

    • In /etc/default/instance_configs.cfg, imposta il flag setup per NetworkInterfaces su false:

      [NetworkInterfaces]
      dhclient_script = /sbin/google-dhclient-script
      dhcp_command =
      ip_forwarding = true
          setup = false
      

    • In /etc/network/interfaces, aggiungi le seguenti righe all'interfaccia di interesse:

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

    Sostituisci quanto segue:

    • filestore-reserved-address-range è l'intervallo di indirizzi riservati utilizzato dall'istanza di Compute Engine.
    • default-gateway-of-nic-to-filestore è l'indirizzo IP gateway predefinito della scheda NIC connessa alla rete VPC condivisa con l'istanza Compute Engine.

    Per ulteriori informazioni su come montare una condivisione file su un'istanza VM, consulta Montaggio di condivisioni file su Compute Engine.

Risolvere i problemi

Non riesco a creare una VM con più interfacce

Potrebbe essere visualizzato uno dei seguenti messaggi di errore:

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

    Se ricevi questo messaggio di errore, significa che stai tentando di creare più interfacce rispetto a quelle massime supportate dal tuo tipo di macchina di istanza. Consulta la tabella del numero massimo di interfacce.

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

    Se ricevi questo messaggio, stai tentando di creare più di un'interfaccia nella stessa rete. Ogni interfaccia di rete deve essere collegata a una rete VPC diversa.

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

    Se ricevi questo messaggio, gli intervalli CIDR associati alle interfacce delle VM si sovrappongono. Questi intervalli CIDR includono tutti gli intervalli primari di subnet associati alle interfacce VM, nonché gli intervalli secondari utilizzati per gli intervalli IP alias. Ogni interfaccia è collegata a una subnet, ciascuna in una rete VPC diversa, che non deve sovrapporsi alle subnet di altre interfacce. Ad esempio, se stai tentando di creare un'istanza nell'area geografica us-west1, puoi controllare gli intervalli CIDR primari della subnet utilizzando il comando seguente o Google Cloud Console.

    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
    

    Per controllare gli intervalli CIDR della subnet secondaria, utilizza il comando seguente o Google Cloud Console.

    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.

    Se ricevi questo messaggio, stai tentando di creare l'istanza in una rete legacy. Le istanze con più interfaccia non sono supportate con le reti legacy. Puoi verificare se una rete è di tipo legacy tramite il comando seguente o Google Cloud Console. Il campo Modalità indica il tipo di rete.

    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'

    Se ricevi questo messaggio, significa che l'account con cui hai eseguito l'accesso non dispone delle autorizzazioni IAM necessarie per creare un'istanza. Fai riferimento ad Autorizzazioni IAM per informazioni dettagliate sui ruoli necessari per la creazione delle istanze. Puoi verificare se il criterio IAM associato al tuo progetto ti concede uno dei seguenti ruoli: OWNER, EDITOR o compute.instanceAdmin.v1. Per creare istanze in VPC condiviso ti servirà inoltre il ruolo compute.networkUser. Nell'esempio riportato di seguito, l'account email2@gmail.com non dispone di autorizzazioni IAM sufficienti per creare un'istanza. Per istruzioni più dettagliate, consulta la guida IAM Concessione, modifica e revoca dell'accesso alle risorse.

    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
    

    Puoi chiedere al proprietario o all'editor del progetto di concederti il ruolo di OWNER, EDITOR o compute.instanceAdmin.v1. Occorre anche il ruolo compute.networkUser se associ qualsiasi interfaccia a una subnet appartenente al VPC condiviso.

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

Non riesco a connettermi all'IP interno dell'interfaccia secondaria

  • Controlla le regole firewall per verificare che consentano la connettività all'interfaccia secondaria delle VM. Per controllare, controlla le regole firewall per la rete collegata all'interfaccia secondaria visitando Google Cloud Console e facendo clic sulla rete VPC appropriata oppure utilizzando il seguente comando gcloud.

    gcloud compute firewall-rules list --filter='network:NETWORK_NAME'
    
  • Verifica se stai tentando di connetterti a un'interfaccia secondaria da un indirizzo Internet o dall'esterno della rete di interfaccia secondaria. Puoi connetterti a un IP interno di un'interfaccia solo dalla sua rete. Se devi raggiungere l'interfaccia dall'esterno della rete, puoi assegnare un indirizzo IP esterno all'interfaccia secondaria.

  • Verifica se stai tentando di connetterti all'IP interno dell'interfaccia secondaria dall'esterno della subnet a cui è collegata l'interfaccia secondaria, da un'altra subnet della stessa rete o da una rete in peering. Più interfacce di rete per istanza illustra l'interazione tra istanze di peering VPC e VM con più interfacce. Per raggiungere le interfacce secondarie dall'esterno della subnet dell'interfaccia, potresti dover configurare le route sulla VM. Consulta Comportamento DHCP con più interfacce di rete per informazioni dettagliate sul modo in cui DHCP programma le route predefinite nella VM.

Non riesco a connettermi all'interfaccia secondaria utilizzando un IP esterno

Il server DHCP programma una route predefinita solo sull'interfaccia di rete principale della VM. Se vuoi connetterti all'interfaccia secondaria utilizzando un IP esterno, hai a disposizione due opzioni. Se devi connetterti solo al di fuori della rete nell'interfaccia di rete secondaria, puoi impostare un percorso predefinito sull'interfaccia di rete. Altrimenti, puoi utilizzare Configurazione del routing dei criteri per configurare una tabella di routing separata utilizzando il routing dei criteri basato su origine nella VM.

Ho problemi di connettività quando utilizzo una netmask diversa da /32

Per impostazione predefinita, il server dei metadati dell'istanza risponde solo alle richieste ARP per il gateway predefinito.

Per configurare le interfacce con una netmask diversa da /32, devi creare un'immagine utilizzando il flag --guest-os-features MULTI_IP_SUBNET e utilizzarla per creare l'istanza. Ad esempio, se utilizzi un'immagine basata su debian-9, puoi crearne una utilizzando il seguente comando:

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

Per visualizzare le funzionalità Ospite configurate nell'immagine, esegui il comando gcloud compute images describe sull'immagine ospite.

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

Per ulteriori informazioni sulla creazione di immagini personalizzate, consulta la sezione Creare, eliminare e ritirare le immagini personalizzate.

Risolvere i problemi utilizzando la console seriale

Spesso è una buona idea abilitare la console seriale sulla VM per eseguire il debug dei problemi relativi alla configurazione. Puoi abilitare la console seriale per il debug interattivo seguendo i passaggi per interagire con la console seriale.