Ajouter des NIC dynamiques à une instance

Cette page explique comment ajouter une interface réseau dynamique (NIC) à une instance de VM existante.

Pour en savoir plus sur la création d'instances, consultez la section Créer des VM avec plusieurs interfaces réseau.

Avant de commencer

Avant d'ajouter des NIC dynamiques à une instance, procédez comme suit:

Ajouter une interface réseau dynamique

Cette section explique comment ajouter une carte réseau dynamique à une instance.

Lorsque vous ajoutez une carte réseau dynamique, vous pouvez observer un délai de propagation. Ce délai est généralement de quelques secondes, mais dans de rares cas, il peut être de jusqu'à une minute.

gcloud

Pour ajouter une carte réseau dynamique à une instance existante, exécutez la commande 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

Remplacez les éléments suivants :

  • INSTANCE_NAME: nom de l'instance à laquelle ajouter la NIC dynamique
  • ZONE : zone de l'instance
  • VLAN_ID: ID de VLAN de la carte d'interface réseau dynamique
  • PARENT_VNIC_NAME: nom du vNIC parent, par exemple nic0
  • NETWORK: réseau auquel l'interface réseau dynamique est associée
  • SUBNET: sous-réseau auquel la carte réseau dynamique est associée

Vous pouvez également ajouter une carte d'interface réseau dynamique à une instance lorsque vous mettez à jour ses propriétés. Pour en savoir plus, consultez la section Mettre à jour les propriétés d'une instance.

Pour ajouter des NIC dynamiques à un groupe d'instances géré (MIG), consultez la commande gcloud beta compute instance-groups managed set-instance-template.

API

Pour ajouter une carte réseau dynamique à une instance existante, utilisez la méthode 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"
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet contenant l'instance
  • ZONE : zone dans laquelle se trouve l'instance.
  • INSTANCE_NAME: nom de l'instance à laquelle ajouter une carte réseau dynamique
  • REGION: région qui contient l'instance
  • SUBNET: sous-réseau auquel la carte réseau dynamique est associée
  • PARENT_VNIC_NAME: nom du vNIC parent, par exemple nic0
  • VLAN_ID: ID de VLAN de la carte d'interface réseau dynamique

Vous pouvez également ajouter une carte d'interface réseau dynamique à une instance lorsque vous mettez à jour ses propriétés. Pour en savoir plus, consultez la section Mettre à jour les propriétés d'une instance.

Pour ajouter des NIC dynamiques à un groupe d'instances géré (MIG), consultez la méthode instanceGroupManagers.setInstanceTemplate.

Configurer l'OS invité pour les NIC dynamiques

Cette section explique comment effectuer la configuration supplémentaire de l'OS invité requise lorsque vous ajoutez des NIC dynamiques à une instance nouvelle ou existante.

Choisissez l'une des options de configuration suivantes:

Option de configuration Description
Configurer la gestion automatique des NIC dynamiques (recommandé)

Utilisez l'agent invité Google pour la gestion automatique des NIC dynamiques.

L'environnement invité inclut l'agent invité Google, qui automatise l'installation et la gestion des interfaces VLAN dans l'espace de noms racine sur les distributions Linux d'images d'OS Google Cloud . Cette fonctionnalité est compatible avec la version 20250204.02 de l'agent invité Google et les versions ultérieures.

Configurer manuellement l'OS invité

Exécutez des commandes dans l'OS invité pour installer les NIC dynamiques.

Si vous utilisez cette option, votre configuration ne persiste pas automatiquement après le redémarrage de l'instance. Pour que les configurations persistent après un redémarrage, utilisez la méthode recommandée pour configurer les interfaces réseau persistantes de votre distribution Linux. Par exemple, consultez NetworkConfiguration pour Debian et interfaces pour Ubuntu.

Configurer la gestion automatique des NIC dynamiques

Cette section explique comment configurer la gestion automatique des NIC dynamiques à l'aide de l'agent invité Google.

Vous n'avez besoin de suivre cette procédure qu'une seule fois par instance. Si vous avez déjà ajouté une carte réseau dynamique à une instance pour laquelle vous avez déjà suivi cette procédure, vous n'avez pas besoin de la répéter.

Pour configurer la gestion automatique des NIC dynamiques:

  1. Connectez-vous à l'instance à l'aide de SSH.

  2. Assurez-vous que l'instance exécute l'agent invité Google version 20250204.02 ou ultérieure:

    1. Pour déterminer si l'instance exécute l'agent invité Google, exécutez la commande appropriée de la section Packages installés dans l'environnement invité.

      1. Si votre instance n'exécute pas l'agent invité Google, installez l'environnement invité.

      2. Si votre instance exécute l'agent invité Google, mettez à jour l'environnement invité.

      Installer ou mettre à jour l'environnement invité vous permet de disposer de la dernière version de l'agent invité Google. Pour confirmer la version, suivez la procédure décrite dans la section Valider l'environnement invité.

  3. Configurez l'agent invité Google pour gérer les NIC dynamiques:

    1. Ouvrez ou créez le fichier de configuration de votre environnement invité.

      edit /etc/default/instance_configs.cfg
      
    2. Ajoutez ce qui suit au fichier de configuration, puis enregistrez vos modifications et quittez l'éditeur.

      [NetworkInterfaces]
      vlan_setup_enabled = true
      manage_primary_nic = true
      

      Pour en savoir plus sur ces paramètres, consultez les articles suivants:

      • vlan_setup_enabled = true: configure l'agent invité Google pour installer et gérer les NIC dynamiques.
      • manage_primary_nic = true: paramètre supplémentaire requis pour que l'agent invité Google gère les NIC dynamiques créées sous nic0

      Pour en savoir plus sur la modification du fichier de configuration de l'agent invité, consultez la section Configuration dans la documentation de l'agent invité Google.

    3. Redémarrez l'agent invité en exécutant la commande suivante. Vous pouvez également redémarrer l'instance.

      sudo systemctl restart google-guest-agent.service
      
  4. Répertoriez les interfaces réseau de votre instance pour vérifier que l'agent invité Google a installé vos NIC dynamiques.

    Par exemple, la commande suivante affiche un nom tel que a-gcp.ens4.11 pour une carte réseau dynamique avec un ID de VLAN de 11 créé en tant qu'enfant de l'interface ens4.

    sudo ip -d addr
    

Configurer manuellement l'OS invité

Pour configurer manuellement des NIC dynamiques dans l'OS invité d'une instance:

  1. Connectez-vous à l'instance à l'aide de SSH.

  2. Si l'instance exécute l'agent invité Google, désactivez la gestion automatique des NIC dynamiques. Vous pouvez déterminer si l'instance exécute l'agent invité Google à l'aide de la commande appropriée listée dans Packages installés dans l'environnement invité.

    Pour désactiver la gestion automatique des NIC dynamiques:

    1. Ouvrez ou créez le fichier de configuration de votre environnement invité.

        edit /etc/default/instance_configs.cfg
        

    2. Ajoutez ce qui suit au fichier de configuration, puis enregistrez vos modifications et quittez l'éditeur.

      [NetworkInterfaces]
      vlan_setup_enabled = false
      manage_primary_nic = false
      

      Pour en savoir plus sur la modification du fichier de configuration de l'agent invité, consultez la section Configuration dans la documentation de l'agent invité Google.

    3. Redémarrez l'agent invité en exécutant la commande suivante. Vous pouvez également redémarrer l'instance.

      sudo systemctl restart google-guest-agent.service
      
  3. Pour chaque NIC dynamique que vous avez créé, procédez comme suit:

    1. Obtenez l'adresse MAC de la vNIC parente. Pour trouver l'adresse MAC, interrogez le serveur de métadonnées en exécutant la commande suivante:

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

      Remplacez VNIC_NUMBER par le numéro du vNIC parent. Par exemple, 0 pour nic0 ou 1 pour nic1.

    2. Configurez une sous-interface dans l'OS invité de l'instance. Par exemple, sur une VM Debian, exécutez les commandes suivantes:

      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
      

      Remplacez les éléments suivants :

      • VNIC_NAME: nom de la vNIC parente attribué par le système d'exploitation, par exemple eth1 ou ens4
      • IP_ADDRESS: adresse IP de la carte réseau dynamique que vous avez créée
      • VLAN_ID: ID de VLAN que vous avez attribué à la carte d'interface réseau dynamique.
      • MAC_ADDRESS: adresse MAC obtenue à l'étape précédente