Adicione NICs dinâmicas a uma instância

Esta página descreve como adicionar uma interface de rede dinâmica (NIC) a uma instância de VM existente.

Para obter informações sobre a criação de novas instâncias, consulte o artigo Crie VMs com várias interfaces de rede.

Antes de começar

Antes de adicionar NICs dinâmicas a uma instância, faça o seguinte:

Adicione uma NIC dinâmica

Esta secção descreve como adicionar uma NIC dinâmica a uma instância.

Quando adiciona uma NIC dinâmica, pode observar um atraso na propagação. Normalmente, este atraso é de alguns segundos, mas, em casos raros, pode demorar até um minuto.

gcloud

Para adicionar uma NIC dinâmica a uma instância existente, use o comando gcloud beta compute instances network-interfaces add.

gcloud beta compute instances network-interfaces add INSTANCE_NAME \
   --zone=ZONE \
   --vlan=VLAN_ID \
   --parent-nic-name=PARENT_VNIC_NAME \
   --network=NETWORK \
   --subnetwork=SUBNET

Substitua o seguinte:

  • INSTANCE_NAME: o nome da instância à qual adicionar a NIC dinâmica
  • ZONE: a zona da instância
  • VLAN_ID: o ID da VLAN da NIC dinâmica
  • PARENT_VNIC_NAME: o nome da vNIC principal, como nic0
  • NETWORK: a rede à qual a NIC dinâmica se associa
  • SUBNET: a sub-rede onde a NIC dinâmica é anexada

Em alternativa, pode adicionar uma NIC dinâmica a uma instância quando atualiza as propriedades da instância. Para mais informações, consulte o artigo Atualize as propriedades da instância.

Para adicionar NICs dinâmicas a um grupo de instâncias geridas (MIG), consulte o comando gcloud beta compute instance-groups managed set-instance-template.

API

Para adicionar uma NIC dinâmica a uma instância existente, use o método instances.addNetworkInterface.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addNetworkInterface
{
  "subnetwork": "regions/REGION/subnetworks/SUBNET",
  "parentNicName": "PARENT_VNIC_NAME",
  "vlan": "VLAN_ID"
}

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto que contém a instância
  • ZONE: a zona que contém a instância
  • INSTANCE_NAME: o nome da instância à qual adicionar uma placa de rede dinâmica
  • REGION: a região que contém a instância
  • SUBNET: a sub-rede à qual a NIC dinâmica está associada
  • PARENT_VNIC_NAME: o nome da vNIC principal, como nic0
  • VLAN_ID: o ID da VLAN da NIC dinâmica

Em alternativa, pode adicionar uma NIC dinâmica a uma instância quando atualiza as propriedades da instância. Para mais informações, consulte o artigo Atualize as propriedades da instância.

Para adicionar NICs dinâmicas a um grupo de instâncias geridas (MIG), consulte o método instanceGroupManagers.setInstanceTemplate.

Configure o SO convidado para NICs dinâmicos

Esta secção descreve como concluir a configuração adicional do SO convidado necessária quando adiciona NICs dinâmicos a uma instância nova ou existente.

Escolha uma das seguintes opções de configuração:

Opção de configuração Descrição
Configure a gestão automática de NICs dinâmicas (recomendado)

Use o agente convidado Google para a gestão automática de NICs dinâmicos.

O ambiente convidado inclui o agente convidado da Google, que automatiza a instalação e a gestão de interfaces VLAN no espaço de nomes raiz nas distribuições Linux de Google Cloud imagens do SO. Esta funcionalidade é suportada na versão do agente convidado da Google 20250204.02 e posteriores.

Configure o SO convidado manualmente

Execute comandos no SO convidado para instalar as NICs dinâmicas.

Se usar esta opção, a configuração não é automaticamente mantida após um reinício da instância. Para que as configurações persistam após um reinício, use o método recomendado para configurar interfaces de rede persistentes para a sua distribuição do Linux. Por exemplo, consulte NetworkConfiguration para o Debian e interfaces para o Ubuntu.

Configure a gestão automática de NICs dinâmicas

Esta secção descreve como configurar a gestão automática de NICs dinâmicos através do agente convidado da Google.

Só tem de concluir estes passos uma vez por instância. Se adicionou uma NIC dinâmica a uma instância para a qual já concluiu estes passos, não precisa de os repetir.

Para configurar a gestão automática de NICs dinâmicas:

  1. Estabeleça ligação à instância através do SSH.

  2. Certifique-se de que a instância está a executar o agente convidado da Google na versão 20250204.02 ou posterior:

    1. Para determinar se a instância está a executar o agente convidado da Google, execute o comando adequado apresentado em Pacotes instalados para o ambiente convidado.

      1. Se a sua instância não estiver a executar o agente convidado da Google, instale o ambiente convidado.

      2. Se a sua instância estiver a executar o agente convidado da Google, atualize o ambiente convidado.

      A instalação ou a atualização do ambiente de hóspedes garante que tem a versão mais recente do agente de hóspedes da Google. Pode confirmar a versão seguindo os passos em Validar o ambiente convidado.

  3. Configure o agente convidado da Google para gerir NICs dinâmicas:

    1. Abra ou crie o ficheiro de configuração do ambiente convidado.

      edit /etc/default/instance_configs.cfg
      
    2. Adicione o seguinte ao ficheiro de configuração, guarde as alterações e saia do editor.

      [NetworkInterfaces]
      vlan_setup_enabled = true
      manage_primary_nic = true
      

      Para obter informações acerca destas definições, consulte o seguinte:

      • vlan_setup_enabled = true: configura o agente convidado da Google para instalar e gerir NICs dinâmicas
      • manage_primary_nic = true: uma definição adicional necessária para o agente convidado da Google gerir NICs dinâmicos criados em nic0

      Para mais informações sobre a edição do ficheiro de configuração do agente convidado, consulte a secção Configuração na documentação do agente convidado Google.

    3. Reinicie o agente convidado executando o seguinte comando. Em alternativa, pode reiniciar a instância.

      sudo systemctl restart google-guest-agent.service
      
  4. Liste as interfaces de rede na sua instância para ver que o agente convidado da Google instalou as NICs dinâmicas.

    Por exemplo, o comando seguinte apresenta um nome como a-gcp.ens4.11 para uma NIC dinâmica com um ID de VLAN de 11 criado como um elemento subordinado da interface ens4.

    sudo ip -d addr
    

Configure o SO convidado manualmente

Para configurar NICs dinâmicos no SO convidado de uma instância manualmente:

  1. Estabeleça ligação à instância através do SSH.

  2. Se a instância estiver a executar o agente de convidado da Google, desative a gestão automática das NICs dinâmicas. Pode determinar se a instância está a executar o agente convidado da Google através do comando adequado indicado em Pacotes instalados para o ambiente convidado.

    Para desativar a gestão automática de NICs dinâmicas:

    1. Abra ou crie o ficheiro de configuração do ambiente convidado.

        edit /etc/default/instance_configs.cfg
        

    2. Adicione o seguinte ao ficheiro de configuração, guarde as alterações e saia do editor.

      [NetworkInterfaces]
      vlan_setup_enabled = false
      manage_primary_nic = false
      

      Para mais informações sobre a edição do ficheiro de configuração do agente convidado, consulte a secção Configuração na documentação do agente convidado Google.

    3. Reinicie o agente convidado executando o seguinte comando. Em alternativa, pode reiniciar a instância.

      sudo systemctl restart google-guest-agent.service
      
  3. Para cada NIC dinâmico que criou, faça o seguinte:

    1. Obtenha o endereço MAC da vNIC principal. Para encontrar o endereço MAC, consulte o servidor de metadados executando o seguinte comando:

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

      Substitua VNIC_NUMBER pelo número da vNIC principal. Por exemplo, 0 durante nic0 ou 1 durante nic1.

    2. Configure uma subinterface no SO convidado da instância. Por exemplo, numa VM Debian, execute os seguintes comandos:

      sudo modprobe 8021q
      sudo ip link add link VNIC_NAME name VNIC_NAME.VLAN_ID type vlan id VLAN_ID
      sudo ip addr add IP_ADDRESS dev VNIC_NAME.VLAN_ID
      sudo ip link set dev VNIC_NAME.VLAN_ID address MAC_ADDRESS
      sudo ip link set up VNIC_NAME.VLAN_ID
      

      Substitua o seguinte:

      • VNIC_NAME: o nome da vNIC principal atribuído pelo sistema operativo, como eth1 ou ens4
      • IP_ADDRESS: o endereço IP da NIC dinâmica que criou
      • VLAN_ID: o ID da VLAN que atribuiu à NIC dinâmica
      • MAC_ADDRESS: o endereço MAC que obteve no passo anterior