Como criar instâncias com várias interfaces de rede

Por padrão, cada instância de máquina virtual (VM) em uma rede VPC tem uma única interface de rede. No entanto, é possível configurar uma instância com várias interfaces de rede. Ao usar várias interfaces de uma instância, cada interface precisa ser anexada a uma rede VPC diferente. Não é possível anexar várias interfaces de rede à mesma rede VPC.

Só é possível configurar interfaces de VM com endereços IPv4 (pilha única) ou endereços IPv4 e IPv6 (pilha dupla).

Se você não precisar de várias interfaces de rede, siga o procedimento em Como criar e iniciar uma instância para criar instâncias com a configuração de rede padrão.

Para mais informações sobre várias interfaces de rede e como elas funcionam, consulte Várias interfaces de rede.

Especificações

  • Você só pode configurar uma interface de rede quando cria uma instância.

  • Cada interface de rede configurada em uma única instância precisa:

    • se conectar a uma rede VPC diferente, seja uma rede VPC independente ou uma rede VPC compartilhada;
    • pertencer a uma sub-rede com intervalo de IP que não se sobrepõe às sub-redes de qualquer outra interface.
  • Se você quiser criar uma VM anexada a várias redes VPC, todas as redes precisarão existir antes de a instância ser criada. Para mais informações sobre como criar redes, consulte Criar e modificar redes de nuvem privada virtual (VPC).

  • Não é possível excluir uma interface de rede sem excluir a instância.

  • Cada instância precisa ter no mínimo uma interface de rede e no máximo oito, dependendo do tipo de máquina da instância.

    • nic0 é obrigatório e precisa ser configurado na criação da instância.
    • nic1 a nic7 são opcionais, mas também precisam ser configurados na criação da instância.
    • Para mais informações, consulte Número máximo de interfaces.
  • Toda interface pode ter um endereço IPv4 externo.

  • Se você conectar uma VM a uma sub-rede que tenha um intervalo de sub-rede IPv6 interno ou externo, será possível configurar um endereço IPv6 interno ou externo.

  • O servidor DHCP do Google Cloud envia uma rota padrão (RFC 3442, "rota estática sem classificação") somente para a placa de rede (NIC, na sigla em inglês) padrão, nic0. Se uma rota padrão for necessária em outra NIC, configure o roteamento de políticas na instância.

  • Todas as interfaces de VM precisam se conectar a redes do mesmo projeto da VM ou a uma VPC compartilhada com o projeto.

Limitações

  • Não é possível adicionar ou remover interfaces de rede a partir de uma VM atual.

  • O encaminhamento de IP é ativado no nível da VM, não sendo possível aplicá-lo a interfaces individuais.

Permissões, IAM e instâncias com várias interfaces de rede

Para criar uma instância com várias interfaces de rede, você precisa ter um dos seguintes papéis:

  • Papel de editor ou proprietário de projeto
  • Papel compute.instanceAdmin.v1

Como criar e excluir instâncias e modelos de instância com várias interfaces em um projeto que não usa um ambiente de VPC compartilhada: um usuário que tem o papel PROPRIETÁRIO, EDITOR ou compute.instanceAdmin.v1 no nível do projeto pode criar uma instância com várias interfaces associadas a redes e sub-redes VPC que fazem parte desse mesmo projeto.

Como criar e excluir instâncias e modelos de instância com várias interfaces em ambientes de VPC compartilhada: um usuário com o papel PROPRIETÁRIO, EDITOR ou compute.instanceAdmin.v1 no nível do projeto pode criar uma instância com várias interfaces. Se alguma das interfaces estiver associada a uma sub-rede em um projeto host de VPC compartilhada, também é necessário ter o papel compute.networkUser no nível do projeto host de VPC compartilhada ou no nível de sub-rede da VPC compartilhada.

Para saber mais sobre permissões, leia a Documentação do IAM do Compute Engine

Como usar várias interfaces de rede com diferentes tipos de rede VPC

  • O uso de várias interfaces de rede não é compatível com redes legadas.
  • Quando você configurar várias interfaces de rede, conecte cada interface a uma rede VPC de modo automático ou a uma rede VPC de modo personalizado.

Alocação de endereço IP da interface de rede

  • É necessário configurar cada interface de rede com um endereço IP interno principal alocado a partir do intervalo de endereço IP principal de uma sub-rede.
    • O endereço interno principal alocado para cada uma das interfaces em uma única instância não pode ser o mesmo.
  • É possível optar por configurar cada uma das interfaces virtuais (NIC, na sigla em inglês) com um endereço IP externo exclusivo. Os endereços externos podem ser temporários ou reservados.

Número máximo de interfaces de rede

O número de interfaces de rede virtual é escalonado com o número de vCPUs com um mínimo de 2 e máximo de 8.

Use a tabela a seguir para determinar quantas interfaces de rede podem ser anexadas a uma instância:

Número de vCPUs Número de vNICs
2 ou menos 2
2 a 8 2 a 8
8 ou mais 8

Antes de começar

  • Verifique se todas as redes necessárias foram criadas antes de você criar a instância. Se você precisa criar redes, consulte Criar e modificar redes de nuvem privada virtual (VPC).

  • Verifique se cada rede tem regras de firewall apropriadas para permitir o tráfego que você quer permitir a partir da VM com várias interfaces. Se você precisar criar regras de firewall, consulte Como usar regras de firewall.

  • Se você estiver conectando uma VM a várias redes usando endereços IPv6, a VM precisará de uma das configurações a seguir. Caso contrário, as interfaces com endereços IPv6 não estão configuradas com uma rota de sub-rede IPv6.

    • A VM tem a versão google-guest-agent 20220412.00 ou posterior. Para mais informações sobre como gerenciar versões google-guest-agent, consulte Ambiente convidado.

    • A VM tem um script de inicialização configurado para fazer a seguinte alteração de configuração para cada interface secundária.

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

      Substitua INTERFACE_NAME pelo nome da interface, por exemplo, eth1 ou ens5.

Criar instâncias de máquina virtual com várias interfaces de rede

A criação de uma instância com uma interface fica inalterada. Para instruções gerais sobre a criação de instâncias, consulte Como criar e iniciar uma instância.

É possível adicionar várias interfaces de rede ao criar uma instância:

  • No console, você adiciona interfaces de rede na página "Criar uma instância", na seção "Rede" -> "Interfaces de rede".
  • Na ferramenta de linha de comando gcloud, use o comando instances create. Inclua a sinalização --network-interface para cada interface, seguida por qualquer chave de rede apropriada, como ([network | subnet], private-network-ip, address).

A primeira interface sempre é criada como nic0 e padrão. Isso é importante para alguns outros aspectos da rede do Google Cloud. Por exemplo, os balanceadores de carga do Google Cloud (exceto o balanceamento de carga TCP/UDP interno) distribuem tráfego apenas para nic0.

Console

  1. Acesse a página Criar uma instância.

    Acesse "Criar uma instância"

  2. Digite um Nome para a instância.

  3. Selecione uma Região.

  4. Selecione uma Zona.

  5. Expanda a seção Rede, discos, segurança, gerenciamento, locação individual.

  6. Expanda Rede e faça o seguinte:

    1. Na seção Interfaces de rede, expanda a interface de rede para editá-la.

    2. Em Rede e Sub-rede, selecione a rede e a sub-rede que você quer usar.

      Se você quiser configurar endereços IPv6 na interface, selecione uma sub-rede que tenha um intervalo de endereços IPv6 configurado. O tipo de acesso IPv6 da sub-rede determina se a VM recebe um endereço IPv6 interno ou um endereço IPv6 externo.

    3. Selecione um tipo de pilha de IP: IPv4 (pilha única) ou IPv4 e IPv6 (pilha dupla)

    4. Em IP interno primário, selecione uma das seguintes opções:

      • Temporário para atribuir um novo endereço IPv4 temporário
      • Um endereço IPv4 reservado da lista
      • Estático para atribuir um novo endereço IPv4 estático
    5. Em Endereço IPv4 externo, selecione uma das seguintes opções:

      • Temporário para atribuir um novo endereço IPv4 temporário
      • Nenhum, para não atribuir um endereço IPv4 externo
      • Um endereço IPv4 reservado da lista
      • Crie um novo endereço IP para atribuir um novo endereço IPv4 estático
    6. Para concluir a modificação da interface de rede, clique em Concluído.

  7. Clique em Adicionar interface de rede para adicionar outra interface.

  8. Continue com o processo de criação da VM.

  9. Clique em Criar.

gcloud

Crie interfaces de rede em uma nova instância usando o comando instances create. Inclua a sinalização --network-interface para cada interface, seguida por qualquer chave de rede apropriada, como [network,subnet],private-network-ip,address).

Esse snippet ilustra apenas a sinalização --network-interface, um dos muitos parâmetros possíveis de especificar ao criar uma instância. Para outras sinalizações, consulte a referência gcloud do comando instances create. Consulte a tabela Número máximo de interfaces de rede para ver quais tipos de máquinas aceitam o número de interfaces de rede que você precisa.

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] \
    ...]

Substitua:

  • ZONE: a zona em que a instância é criada.
  • NETWORK: a rede à qual a interface será anexada.
  • SUBNET: a sub-rede em que a interface será anexada.
  • STACK_TYPE: o tipo de pilha da interface. O valor padrão é IPV4_ONLY. Especifique IPV4_IPV6 para configurar uma interface de pilha dupla.
  • RESERVED_EXTERNAL_ADDRESS: atribui o endereço IP externo nomeado à interface. É preciso reservar um endereço externo anteriormente. Especifique "no-address" em vez de address=RESERVED_EXTERNAL_ADDRESS se não quiser que a interface tenha um endereço IP externo. Especifique address='' se quiser que a interface receba um endereço IP externo temporário.
  • INTERNAL_ADDRESS: o endereço IP interno que você quer que a interface tenha na sub-rede de destino. Omita se você quiser apenas qualquer endereço válido atribuído.

API

Crie uma instância de VM com várias interfaces de rede.

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

Substitua os marcadores por valores válidos:

  • SUBNET_URL é o URL da sub-rede em que a interface de rede será localizada.
  • PROJECT_ID é o ID do projeto que conterá a instância.
  • ZONE é a zona que contém a instância.

Para mais informações, consulte o método instances.insert.

Terraform

É possível usar um recurso do Terraform para criar uma instância de VM com várias interfaces de rede.

Os argumentos do Terraform têm exemplos de valores que podem ser alterados.

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

Exemplos de configurações

As seções a seguir mostram como criar VMs com várias interfaces.

Configurar várias interfaces com endereços IPv4

A amostra de comando a seguir cria uma instância com três interfaces de rede.

 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

As interfaces são criadas da seguinte forma:

  • A conta nic0 é criada com as configurações padrão. A interface é anexada à rede VPC padrão, com um endereço IP interno alocado automaticamente e um endereço IP externo temporário.

  • nic1 está anexado à sub-rede subnet-a na rede net1, com um endereço IP interno de 10.10.10.2 e um endereço IP externo estático, RESERVED_EXTERNAL_ADDRESS.

  • nic2 está anexado à sub-rede subnet-b na rede net2, com um endereço IP interno de 10.10.20.2 e nenhum endereço IP externo.

Para uma descrição completa do comando gcloud compute instances create e da sinalização --network-interface, leia a documentação para o comando.

Use o endereço IP da placa de rede (NIC, na sigla em inglês) que você adicionou para configurar o encaminhamento de DNS. Para saber mais sobre como configurar zonas de encaminhamento do Cloud DNS, consulte Zonas de encaminhamento.

Configurar várias interfaces com endereços IPv4 e IPv6

A amostra de comando a seguir cria uma instância de pilha dupla com duas interfaces de rede.

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

As interfaces são criadas da seguinte forma:

  • nic0 está anexado à sub-rede int-subnet na rede dual-int, com um endereço IPv4 interno efêmero e um endereço IPv6 interno temporário.

  • nic1 está anexado à sub-rede ext-subnet na rede dual-ext, com um endereço IPv4 interno temporário e um endereço IPv6 externo temporário.

Como configurar várias interfaces de rede para grupos de instâncias

É possível usar instâncias com várias interfaces de rede em grupos de instâncias não gerenciadas e em grupos de instâncias gerenciadas.

Para grupos de instâncias não gerenciadas, crie cada instância individualmente, garantindo que a interface de rede nic0 para cada VM esteja na mesma VPC. Em seguida, adicione as instâncias de VM ao grupo de instâncias não gerenciadas.

Para configurar várias interfaces de rede para grupos de instâncias gerenciadas, é preciso especificar a configuração de rede para cada interface no modelo de instância. Para isso, defina a sinalização --network-interface uma vez para cada interface. O exemplo a seguir cria um modelo de instância com três interfaces de rede:

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

Como os nomes das sub-redes em cada região de um projeto precisam ser exclusivos, a especificação de sub-redes por nome associa implicitamente cada interface a uma rede VPC. Cada interface precisa usar uma rede VPC exclusiva:

  • nic0 usa a sub-rede net0-subnet-a
  • nic1 usa a sub-rede net1-subnet-b
  • nic2 usa a sub-rede net2-subnet-c

A opção no-address na sinalização --network-interface indica que a interface está configurada sem um endereço IP externo. O endereço IP interno vem da sub-rede usada pela interface. Para informações completas sobre as sinalizações e a sintaxe, consulte a sinalização --network-interface para o comando instance-templates create.

Como configurar o roteamento de políticas

Para imagens aceitas pelo Google, quando você precisar de uma interface de rede secundária (que não seja nic0) para se comunicar com qualquer endereço IP que não seja local para o intervalo de sub-rede principal da sub-rede associada à interface secundária, você precisará configurar o roteamento de política para garantir que os pacotes de saída saiam da interface correta. Nesses casos, você precisa configurar uma tabela de roteamento separada para cada interface de rede usando o roteamento de políticas.

O roteamento de políticas com base na origem não é compatível com os sistemas operacionais Windows.

Encontrar o gateway padrão da interface

Para encontrar o gateway padrão da interface de uma VM, consulte o servidor de metadados.

  • Para encontrar o gateway padrão do endereço IPv4 de uma interface, faça a seguinte solicitação na VM:

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

    Substitua INTERFACE_NUMBER pelo número da interface. Por exemplo, para encontrar o gateway padrão de nic1, use 1.

  • Para encontrar o gateway padrão do endereço IPv6 de uma interface, faça a seguinte solicitação na VM:

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

    Substitua INTERFACE_NUMBER pelo número da interface. Por exemplo, para encontrar o gateway padrão de nic1, use 1.

Configurar o roteamento com base em políticas em VMs do Linux

Para evitar a perda de conectividade com a VM enquanto altera a rota padrão, use o console serial.

  • Configure o roteamento de políticas para cada interface secundária com ifconfig. Não configure a interface principal (nic0), já que ela tem uma rota configurada.

    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
    

    Substitua:

    • NIC: a interface em que você quer adicionar uma rota. Por exemplo, eth1.
    • IP_ADDRESS: o endereço IP configurado na interface.
    • NETMASK: a máscara de rede da interface. Por exemplo, 255.255.255.255.
    • GATEWAY: o endereço IP padrão do gateway da interface.
    • PREFIX_LENGTH: o tamanho do prefixo do endereço IP configurado.

Configurar o roteamento com base em políticas no Ubuntu versão 18.04 ou mais recente

Com a mudança de ifupdown para Netplan como o utilitário de configuração de rede padrão para o Ubuntu 18.04 LTS ou posterior, o pacote ifconfig não é pré-instalado. Além disso, as alterações feitas nos arquivos de configuração de rede do Netplan não são mantidas nas reinicializações da VM do Compute Engine.

  1. Crie um script de inicialização que define uma tabela de roteamento para cada interface de rede na inicialização da VM. Saiba mais sobre como criar scripts de inicialização.

    O uso de um script de inicialização não funciona se você estiver ativando um compartilhamento de arquivos na sua VM porque eles são executados somente depois que as partições são ativadas. Isso deixaria o compartilhamento de arquivos sempre ativado na interface padrão antes da criação da tabela de roteamento pelo script de inicialização.

  2. Para ativar um compartilhamento de arquivos em uma VM por meio de uma rede secundária, ou seja, uma interface diferente de nic0, configure a política de roteamento da VM do cliente para garantir que o compartilhamento de arquivos seja ativado através da interface de rede correta do Google. Para fazer isso, modifique os seguintes arquivos:

    • Em /etc/default/instance_configs.cfg, defina a sinalização setup de NetworkInterfaces como false:

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

    • Em /etc/network/interfaces, adicione as seguintes linhas à interface de interesse:

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

    Substitua:

    • filestore-reserved-address-range é o intervalo de endereços reservado para uso da instância do Compute Engine.
    • default-gateway-of-nic-to-filestore é o endereço IP do gateway padrão da NIC conectada à rede VPC compartilhada com a instância do Compute Engine.

    Para mais informações sobre como ativar um compartilhamento de arquivos em uma instância de VM, consulte Como ativar o compartilhamento de arquivos no Compute Engine.

Solução de problemas

Não consigo criar VM com múltiplas interfaces

Pode aparecer uma das seguintes mensagens de erro:

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

    Se você receber essa mensagem de erro, está tentando criar mais interfaces do que o máximo aceito pelo tipo de máquina da sua instância. Consulte a tabela de número máximo de interfaces.

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

    Se você receber essa mensagem, está tentando criar mais de uma interface na mesma rede. Cada interface de rede precisa ser anexada a uma rede VPC diferente.

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

    Se você receber essa mensagem, os intervalos CIDR associados às interfaces da sua VM estão sobrepostos. Esses intervalos CIDR incluem todos os intervalos primários de sub-redes associadas às interfaces da VM, bem como os intervalos secundários usados nos intervalos de IP de alias. Cada interface é anexada a uma sub-rede, cada uma em uma rede VPC diferente, que não pode se sobrepor a sub-redes de outras interfaces. Por exemplo, se você estiver tentando criar sua instância na região us-west1, poderá verificar os intervalos CIDR principais da sub-rede usando o seguinte comando ou o Console do Google Cloud.

    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
    

    Para verificar os intervalos de CIDR de sub-rede secundária, use o seguinte comando ou o Console do Google Cloud.

    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 você receber essa mensagem, está tentando criar sua instância em uma rede legada. Instâncias com várias interfaces não são compatíveis com redes legadas. Verifique se uma rede é legada usando o seguinte comando ou o Console do Google Cloud. O campo Modo indica o tipo de rede.

    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 você receber essa mensagem, a conta com que fez login não tem permissões do IAM necessárias para criar uma instância. Consulte Permissões do IAM para informações detalhadas sobre os papéis necessários para a criação de instâncias. Verifique se a política do IAM associada ao seu projeto concede a você os seguintes papéis: OWNER, EDITOR ou compute.instanceAdmin.v1. Para criar instâncias na VPC compartilhada, você também precisaria do papel compute.networkUser. No exemplo abaixo, a conta email2@gmail.com não tem permissões de IAM suficientes para criar uma instância. Para ver instruções mais detalhadas, consulte o guia do IAM Como conceder, alterar e revogar acesso a recursos.

    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
    

    Peça ao proprietário ou editor do seu projeto que conceda a você um papel de OWNER, EDITOR ou compute.instanceAdmin.v1. Você precisaria da função compute.networkUser também se estivesse associando qualquer interface a uma sub-rede pertencente à VPC compartilhada.

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

Não consigo me conectar ao IP interno da interface secundária

  • Verifique as regras de firewall para ver se elas permitem a conectividade com a interface secundária da VM. Observe as regras de firewall para a rede que está conectada à interface secundária acessando o Console do Google Cloud e clicando na rede VPC apropriada ou usando o seguinte comando gcloud.

    gcloud compute firewall-rules list --filter='network:NETWORK_NAME'
    
  • Verifique se você está tentando se conectar a uma interface secundária de um endereço de Internet ou de fora da rede da interface secundária. Só é possível se conectar ao IP interno de uma interface de dentro da respectiva rede. Se você precisa alcançar essa interface de fora da rede, é possível atribuir um endereço IP externo à interface secundária.

  • Verifique se você está tentando se conectar ao IP interno da interface secundária de fora da sub-rede à qual a interface secundária está anexada, de uma outra sub-rede da mesma rede ou de uma rede com peering. Várias interfaces de rede por instância explicam a interação entre o peering da VPC e instâncias de VM com várias interfaces. Para alcançar interfaces secundárias de fora da sub-rede da interface, talvez seja necessário configurar rotas na VM. Consulte Comportamento do DHCP com várias interfaces de rede para mais detalhes sobre como o DHCP programa rotas padrão na VM.

Não consigo me conectar à interface secundária usando IP externo

O servidor DHCP programa uma rota padrão somente na interface de rede principal da VM. Se você quiser se conectar à interface secundária usando um IP externo, há duas opções. Se você precisa apenas se conectar fora da rede na interface de rede secundária, é possível definir uma rota padrão nessa interface de rede. Caso contrário, você pode usar a instrução Como configurar o roteamento de políticas para configurar uma tabela de roteamento separada usando roteamento de políticas baseadas na fonte em sua VM.

Estou com problemas de conectividade ao usar uma máscara de rede que não seja /32

Por padrão, o servidor de metadados da instância responde apenas às solicitações ARP para o gateway padrão.

Para configurar interfaces com uma máscara de rede diferente de /32, crie uma imagem usando a sinalização --guest-os-features MULTI_IP_SUBNET e use-a para criar sua instância. Por exemplo, se você estiver usando uma imagem baseada em debian-9, poderá criar uma imagem usando o seguinte 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

Para visualizar os recursos de convidado configurados na imagem, execute o comando gcloud compute images describe na imagem do convidado.

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

Para mais informações sobre como criar imagens personalizadas, consulte Como criar, excluir e suspender o uso de imagens personalizadas.

Como solucionar problemas usando o console serial

Muitas vezes, é uma boa ideia ativar o console serial na VM para depurar problemas relacionados à configuração. É possível ativar o console serial para depuração interativa seguindo as etapas em Como interagir com o console serial.