Criar VMs com várias interfaces de rede

Por padrão, cada instância de computação tem pelo menos uma interface de rede virtual (vNIC) que determina a rede de nuvem privada virtual usada pela instância. É possível criar uma instância com várias interfaces de rede. Exceto para redes VPC criadas com um perfil de rede RDMA, cada interface de rede precisa ser atribuída a uma sub-rede em uma rede VPC exclusiva. O tipo de pilha da interface de rede e o tipo de pilha da sub-rede funcionam juntos, conforme descrito em Tipos de pilha e endereços IP

Cada instância de computação recebe uma rota padrão usando a opção 121 do DHCP, conforme definido pela RFC 3442. A rota padrão está associada a nic0. A menos que configurado manualmente de outra forma, qualquer tráfego que saia de uma instância para um destino que não seja uma sub-rede diretamente conectada sai da instância usando a rota padrão em nic0.

Em sistemas Linux, é possível configurar regras e rotas personalizadas no SO convidado usando o arquivo /etc/iproute2/rt_tables e os comandos ip rule e ip route. Para mais informações, consulte a documentação do SO convidado. Confira um exemplo no tutorial Configurar o roteamento para uma interface extra.

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.

Antes de começar

  • Verifique se todas as redes e sub-redes necessárias foram criadas antes de criar a instância de computação. Se você precisar criar redes ou sub-redes, consulte Criar e gerenciar redes VPC.
  • Verifique se cada rede tem regras de firewall adequadas que permitem a transferência de dados para e da instância com várias interfaces. Se você precisar criar regras de firewall, consulte Usar regras de firewall da VPC.
  • Se você estiver conectando uma instância a várias redes usando endereços IPv6, instale a versão google-guest-agent 20220603.00 ou posterior. Para mais informações, consulte Não consigo me conectar ao endereço IPv6 de uma interface secundária.
  • Configure a autenticação, caso ainda não tenha feito isso. Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar código ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no Compute Engine com um destes métodos:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

      Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .

Funções exigidas

Para receber as permissões necessárias para criar uma instância com uma sub-rede específica, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (roles/compute.instanceAdmin.v1) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para criar uma instância com uma sub-rede específica. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para criar uma instância com uma sub-rede específica:

  • compute.instances.create no projeto
  • Para especificar uma sub-rede para a instância: compute.subnetworks.use no projeto ou na sub-rede escolhida
  • Atribuir um endereço IP externo à instância ao usar uma rede VPC: compute.subnetworks.useExternalIp no projeto ou na sub-rede escolhida

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Requisitos

Antes de criar uma instância com várias interfaces de rede, revise os requisitos a seguir:

  • Exceto para redes VPC criadas com um perfil de rede RDMA, a seguinte limitação se aplica: se você criar uma instância com várias interfaces de rede, cada interface precisará se conectar a uma rede VPC diferente. As redes podem ser VPC independentes ou VPC compartilhadas.
  • Cada interface de rede precisa usar um intervalo de endereços IP de sub-rede exclusivo.
  • Para instâncias de computação multi-NIC em projetos autônomos, cada interface de rede precisa usar uma sub-rede localizada no mesmo projeto da instância. Para instâncias em projetos host ou de serviço da VPC compartilhada, consulte VPC compartilhada na documentação da nuvem privada virtual. As interfaces do Private Service Connect permitem que uma instância de várias NICs tenha interfaces de rede em sub-redes de projetos diferentes. Para mais informações, consulte Sobre anexos de rede.

Criar instâncias de VM com várias interfaces de rede

A maioria das instâncias do Compute Engine permite configurar várias vNICs ao criar a instância.

Para informações sobre como criar uma instância de computação com várias interfaces de rede, consulte Criar instâncias de VM com várias interfaces de rede.

Para criar uma instância de computação que usa uma interface de rede padrão e uma interface de rede do Cloud RDMA, consulte Criar uma instância que usa o Cloud RDMA.

Adicionar interfaces de rede a uma instância atual

Só é possível configurar NICs virtuais (vNICs) para uma instância ao criar a instância. No entanto, é possível adicionar ou remover NICs dinâmicas de uma instância atual sem precisar reiniciá-la.

As NICs dinâmicas são subinterfaces de uma vNIC mãe. Ao configurar uma NIC dinâmica, você especifica um ID de VLAN usado para incluir tags no tráfego de rede da NIC dinâmica:

  • O ID da VLAN de uma NIC dinâmica precisa ser um número inteiro de 2 a 255.
  • O ID da VLAN de uma NIC dinâmica precisa ser exclusivo em uma vNIC mãe. No entanto, NICs dinâmicas que pertencem a vNICs mães diferentes podem usar o mesmo ID da VLAN.

OGoogle Cloud usa o seguinte formato para o nome de uma NIC dinâmica: PARENT_NIC_NUMBER.VLAN_ID

PARENT_NIC_NUMBER é o nome da vNIC principal, por exemplo, nic0. O VLAN_ID é o número especificado ao configurar a NIC dinâmica. Um exemplo de nome de NIC dinâmica é nic0.4.

Para saber como adicionar NICs dinâmicas a uma instância, consulte Adicionar NICs dinâmicas a uma instância.

A seguir