Ajouter des cartes d'interface réseau 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 Créer des VM avec plusieurs interfaces réseau.

Avant de commencer

Avant d'ajouter des cartes d'interface réseau dynamiques à une instance, procédez comme suit :

Ajouter une interface réseau dynamique

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

Lorsque vous ajoutez une carte d'interface 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 aller jusqu'à une minute.

gcloud

Pour ajouter une carte d'interface réseau dynamique à une instance existante, utilisez 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 l'interface réseau dynamique
  • ZONE : zone de l'instance
  • VLAN_ID : ID de VLAN de la carte d'interface réseau dynamique.
  • PARENT_VNIC_NAME : nom de la carte d'interface réseau virtuelle parente, tel que nic0
  • NETWORK : réseau auquel l'interface réseau dynamique est associée.
  • SUBNET : sous-réseau auquel la carte d'interface 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 cartes d'interface réseau 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 d'interface 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 d'interface réseau dynamique
  • REGION : région qui contient l'instance
  • SUBNET : sous-réseau auquel la carte d'interface réseau dynamique est associée
  • PARENT_VNIC_NAME : nom de la carte d'interface réseau virtuelle parente, tel que 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 cartes d'interface réseau dynamiques à un groupe d'instances géré (MIG), consultez la méthode instanceGroupManagers.setInstanceTemplate.

Configurer l'OS invité pour les cartes d'interface réseau dynamiques

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

Choisissez l'une des options de configuration suivantes :

Option de configuration Description
Configurer la gestion automatique des cartes d'interface réseau dynamiques (recommandé)

Utilisez l'agent invité Google pour la gestion automatique des cartes d'interface réseau 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 des images Google Cloud OS. Cette fonctionnalité est compatible avec l'agent invité Google version 20250204.02 et ultérieure.

Configurer manuellement l'OS invité

Exécutez des commandes dans l'OS invité pour installer les cartes d'interface réseau 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 des interfaces réseau persistantes pour votre distribution Linux. Par exemple, consultez NetworkConfiguration pour Debian et interfaces pour Ubuntu.

Configurer la gestion automatique des cartes d'interface réseau dynamiques

Cette section explique comment configurer la gestion automatique des cartes d'interface réseau dynamiques à l'aide de l'agent invité Google.

Vous n'avez besoin de suivre ces étapes qu'une seule fois par instance. Si vous avez ajouté une carte d'interface réseau dynamique à une instance pour laquelle vous avez déjà effectué ces étapes, vous n'avez pas besoin de les répéter.

Pour configurer la gestion automatique des cartes d'interface réseau 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 listée dans 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é.

      L'installation ou la mise à jour de l'environnement invité vous permet de disposer de la dernière version de l'agent invité Google. Pour confirmer la version, suivez les étapes de la section Valider l'environnement invité.

  3. Configurez l'agent invité Google pour gérer les cartes d'interface réseau dynamiques :

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

      edit /etc/default/instance_configs.cfg
      
    2. Ajoutez les éléments suivants 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 cartes d'interface réseau dynamiques.
      • manage_primary_nic = true : paramètre supplémentaire requis pour que l'agent invité Google gère les cartes d'interface réseau dynamiques créées sous nic0

      Pour en savoir plus sur la modification du fichier de configuration de l'agent invité, consultez la section Configuration de 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 cartes d'interface réseau dynamiques.

    Par exemple, la commande suivante affiche un nom tel que a-gcp.ens4.11 pour une carte d'interface 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 les cartes d'interface réseau 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 cartes d'interface réseau 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 cartes d'interface réseau dynamiques :

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

        edit /etc/default/instance_configs.cfg
        

    2. Ajoutez les éléments suivants 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 de 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 carte d'interface réseau dynamique que vous avez créée, procédez comme suit :

    1. Obtenez l'adresse MAC de la carte d'interface réseau virtuelle 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 de la carte d'interface réseau virtuelle parente. 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, tel que eth1 ou ens4
      • IP_ADDRESS : adresse IP de la carte d'interface 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 que vous avez obtenue à l'étape précédente