Amazon Elastic Compute Cloud
Guide de l'utilisateur pour les instances Linux

Activation de la mise en réseau améliorée avec l'interface Intel 82599 VF sur les instances Linux

Amazon EC2 fournit des fonctionnalités de mise en réseau améliorée via l'interface Intel 82599 VF, qui utilise le pilote Intel ixgbevf.

Prérequis

Pour vous préparer à la mise en réseau améliorée à l'aide de l'interface Intel 82599 VF, configurez l'instance comme suit :

  • Effectuez votre sélection parmi les types d'instances pris en charge suivants : C3, C4, D2, I2, M4 (à l'exception de m4.16xlarge) et R3.

  • Lancez l'instance depuis une AMI HVM avec la version du noyau Linux 2.6.32 (ou version ultérieure). Les AMI HVM Amazon Linux les plus récentes disposent des attributs et des modules requis pour la mise en réseau améliorée. Par conséquent, si vous lancez une instance avec prise en charge de la mise en réseau améliorée et basée sur Amazon EBS–à l'aide d'une AMI HVM –active, la mise en réseau améliorée est déjà Amazon Linux activée pour votre instance.

    Avertissement

    La mise en réseau améliorée n'est prise en charge que pour les instances HVM. L'activation de la mise en réseau améliorée avec une instance de paravirtualisation peut la rendre inaccessible. La définition de cet attribut sans le module ou la version de module approprié peut rendre votre instance inaccessible.

  • Vérifiez que l'instance a une connectivité Internet.

  • Installez et configurez l'interface de ligne de commande AWS CLI ou les Outils AWS pour Windows PowerShell sur l'ordinateur de votre choix, de préférence votre ordinateur de bureau ou ordinateur portable local. Pour plus d'informations, consultez Accès à Amazon EC2. La gestion de la mise en réseau améliorée n'est pas possible à partir de la console Amazon EC2.

  • Si l'instance comporte des données importantes que vous souhaitez conserver, vous devez les sauvegarder maintenant en créant une AMI à partir de votre instance. La mise à jour des noyaux et des modules noyau, ainsi que l'activation de l'attribut sriovNetSupport, peuvent rendre les instances incompatibles ou les systèmes d'exploitation inaccessibles. Si cela se produit et que vous disposez d'une sauvegarde récente, vos données continueront d'être conservées.

Test de l'activation de la mise en réseau améliorée

La mise en réseau améliorée avec l'interface Intel 82599 VF est activée si le ixgbevf module est installé sur votre instance et que l'attribut sriovNetSupport est défini.

Attribut d'instance (sriovNetSupport)

Pour vérifier si l'attribut de mise en réseau améliorée sriovNetSupport est défini sur une instance, utilisez l'une des commandes suivantes :

  • describe-instance-attribute (AWS CLI)

    aws ec2 describe-instance-attribute --instance-id instance_id --attribute sriovNetSupport
  • Get-EC2InstanceAttribute (Outils AWS pour Windows PowerShell)

    Get-EC2InstanceAttribute -InstanceId instance-id -Attribute sriovNetSupport

Si l'attribut n'est pas défini, SriovNetSupport est vide. Sinon, il est défini comme indiqué ci-après.

"SriovNetSupport": { "Value": "simple" },

Attribut d'image (sriovNetSupport)

Pour vérifier si l'attribut de mise en réseau améliorée sriovNetSupport est déjà défini sur une AMI, utilisez l'une des commandes suivantes :

  • describe-image-attribute (AWS CLI)

    aws ec2 describe-image-attribute --image-id ami_id --attribute sriovNetSupport

    Cette commande ne fonctionne que pour les images que vous possédez. Vous recevez une erreur AuthFailure pour les images qui n'appartiennent pas à votre compte.

  • Get-EC2ImageAttribute (Outils AWS pour Windows PowerShell)

    Get-EC2ImageAttribute -ImageId ami-id -Attribute sriovNetSupport

Si l'attribut n'est pas défini, SriovNetSupport est vide. Sinon, il est défini comme suit :

"SriovNetSupport": { "Value": "simple" },

Pilote d'interface réseau

Utilisez la commande suivante pour vérifier que le module est utilisé sur une interface particulière, en remplaçant le nom de l'interface par celui que vous voulez contrôler. Si vous utilisez une seule interface (par défaut), ce sera eth0. Si le système d'exploitation prend en charge les noms de réseau prévisibles, il peut s'agir d'un nom tel que ens5.

Dans l'exemple suivant, le module ixgbevf n'est pas chargé, car le pilote affiché est vif.

[ec2-user ~]$ ethtool -i eth0 driver: vif version: firmware-version: bus-info: vif-0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no

Dans cet exemple, le module ixgbevf est chargé. La mise en réseau améliorée est correctement configurée pour cette instance.

[ec2-user ~]$ ethtool -i eth0 driver: ixgbevf version: 4.0.3 firmware-version: N/A bus-info: 0000:00:03.0 supports-statistics: yes supports-test: yes supports-eeprom-access: no supports-register-dump: yes supports-priv-flags: no

Activation de la mise en réseau améliorée sur Amazon Linux

Les AMI HVM Amazon Linux les plus récentes disposent du module ixgbevf et de l'attribut sriovNetSupport requis pour la mise en réseau améliorée. Par conséquent, si vous lancez un type d'instance à l'aide d'une AMI HVM Amazon Linux actuelle, la mise en réseau améliorée est déjà activée pour votre instance. Pour plus d'informations, consultez Test de l'activation de la mise en réseau améliorée.

Si vous avez lancé votre instance avec une AMI Amazon Linux plus ancienne où la mise en réseau améliorée n'est pas activée, utilisez le procédure suivante pour l'activer.

Avertissement

Il n'existe aucun moyen de désactiver l'attribut de mise en réseau améliorée une fois que vous l'avez activé.

Pour activer la mise en réseau améliorée

  1. Connectez-vous à votre instance.

  2. Depuis l'instance, exécutez la commande suivante pour mettre à jour votre instance avec le noyau et les modules noyau les plus récents, y compris ixgbevf :

    [ec2-user ~]$ sudo yum update
  3. Depuis votre ordinateur local, redémarrez votre instance à l'aide de la console Amazon EC2 ou de l'une des commandes suivantes : reboot-instances (AWS CLI), ou Restart-EC2Instance (Outils AWS pour Windows PowerShell).

  4. Connectez-vous à nouveau à votre instance et vérifiez que le module ixgbevf est installé et possède la version minimale recommandée à l'aide de la commande modinfo ixgbevf depuis Test de l'activation de la mise en réseau améliorée.

  5. [EBS-backed instance] À partir de votre ordinateur local, arrêtez l'instance à l'aide de la console Amazon EC2 ou de l'une des commandes suivantes : stop-instances (AWS CLI), Stop-EC2Instance (Outils AWS pour Windows PowerShell). Si votre instance est gérée par AWS OpsWorks, vous devez arrêter l'instance de la console AWS OpsWorks de telle sorte que l'état de l'instance demeure synchronisé.

    [Instance basée sur le stockage d'instance] Vous ne pouvez pas arrêter l'instance pour modifier l'attribut. Vous devez utiliser cette procédure : Pour activer la mise en réseau améliorée (instances basées sur le stockage d'instance).

  6. Depuis votre ordinateur local, activez l'attribut de mise en réseau améliorée à l'aide de l'une des commandes suivantes:

    • modify-instance-attribute (AWS CLI)

      aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    • Edit-EC2InstanceAttribute (Outils AWS pour Windows PowerShell)

      Edit-EC2InstanceAttribute -InstanceId instance_id -SriovNetSupport "simple"
  7. (Facultatif) Créez une AMI à partir de l'instance, comme décrit dans Création d'une AMI Linux basée sur Amazon EBS . L'AMI hérite l'attribut de mise en réseau améliorée de l'instance. Par conséquent, vous pouvez utiliser cet AMI pour lancer une autre instance avec la mise en réseau améliorée activée par défaut.

  8. Depuis votre ordinateur local, démarrez l'instance à l'aide de la console Amazon EC2 ou de l'une des commandes suivantes : start-instances (AWS CLI) ou Start-EC2Instance (Outils AWS pour Windows PowerShell). Si votre instance est gérée par AWS OpsWorks, vous devez démarrer l'instance dans la console AWS OpsWorks de telle sorte que l'état de l'instance demeure synchronisé.

  9. Connectez-vous à votre instance et vérifiez que le module ixgbevf est installé et chargé sur votre interface réseau à l'aide de la commande ethtool -i ethn depuis Test de l'activation de la mise en réseau améliorée.

Pour activer la mise en réseau améliorée (instances basées sur le stockage d'instance)

Suivez la procédure précédente jusqu'à l'étape à laquelle vous avez arrêté l'instance. Créez une nouvelle AMI comme décrit dans Création d'une AMI Linux basée sur le stockage d'instance, en veillant à activer l'attribut de mise en réseau améliorée lors de l'enregistrement de l'AMI.

  • register-image (AWS CLI)

    aws ec2 register-image --sriov-net-support simple ...
  • Register-EC2Image (Outils AWS pour Windows PowerShell)

    Register-EC2Image -SriovNetSupport "simple" ...

Activation de la mise en réseau améliorée sur Ubuntu

Avant de commencer, vérifiez si la mise en réseau améliorée est déjà activée sur votre instance.

Les AMI HVM Ubuntu Quick Start comprennent les pilotes nécessaires pour la mise en réseau améliorée. Si vous disposez d'une version du fichier ixgbevf antérieure à 2.16.4, vous pouvez installer le package noyau linux-aws pour obtenir les pilotes de mise en réseau améliorée les plus récents.

La procédure suivante fournit les étapes générales pour la compilation du module ixgbevf sur une instance Ubuntu.

Pour installer le package noyau linux-aws

  1. Connectez-vous à votre instance.

  2. Mettez à jour le cache du package et les packages.

    ubuntu:~$ sudo apt-get update && sudo apt-get upgrade -y linux-aws

    Important

    Si, lors d'une mise à jour, vous êtes invité à installer grub, utilisez /dev/xvda pour installer grub, puis choisissez de conserver la version actuelle de /boot/grub/menu.lst.

Activation de la mise en réseau améliorée sur les autres distributions Linux

Avant de commencer, vérifiez si la mise en réseau améliorée est déjà activée sur votre instance. Les dernières AMI HVM Quick Start comprennent les pilotes nécessaires pour la mise en réseau améliorée. Vous n'avez donc pas besoin d'effectuer des étapes supplémentaires.

La procédure suivante fournit les étapes générales pour si vous devez activer la mise en réseau améliorée avec l'interface Intel 82599 VF sur une distribution Linux autre qu'Amazon Linux ou Ubuntu. Pour plus d'informations, telles que la syntaxe détaillée des commandes, les emplacements de fichier ou la prise en charge des packages et des outils, consultez la documentation spécifique de votre distribution Linux.

Pour activer la mise en réseau améliorée sur Linux

  1. Connectez-vous à votre instance.

  2. Téléchargez la source pour le module ixgbevf sur votre instance depuis Sourceforge, à l'adresse https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/.

    Les versions d'ixgbevf antérieures à 2.16.4, notamment la 2.14.2, ne sont pas générées correctement sur certaines distributions Linux, y compris certaines versions d'Ubuntu.

  3. Compilez et installez le module ixgbevf sur votre instance.

    Avertissement

    Si vous compilez le module ixgbevf pour votre noyau actuel, puis mettez à niveau le noyau sans générer à nouveau le pilote du nouveau noyau, il se peut que votre système retourne au module ixgbevf spécifique à la distribution lors du prochain redémarrage. Cela peut rendre votre système inaccessible si la version propre à la distribution n'est pas compatible avec la mise en réseau améliorée.

  4. Exécutez la commande sudo depmod pour mettre à jour les dépendances du module.

  5. Mettez à jour initramfs sur votre instance pour garantir que le nouveau module se charge au démarrage.

  6. Déterminez si par défaut votre système utilise des noms d'interface réseau prévisibles. Les systèmes qui utilisent systemd ou udev version 197 ou supérieure peuvent renommer les périphériques Ethernet et ne garantissent pas qu'une seule interface réseau sera nommée eth0. Ce comportement peut entraîner des problèmes de connexion à votre instance. Pour plus d'informations et pour voir les autres options de configuration, consultez la section sur les noms d'interface réseau prévisibles sur le site web de freedesktop.org.

    1. Vous pouvez vérifier les versions systemd ou udev sur les systèmes RPM en utilisant la commande suivante :

      [ec2-user ~]$ rpm -qa | grep -e '^systemd-[0-9]\+\|^udev-[0-9]\+' systemd-208-11.el7_0.2.x86_64

      Dans l'exemple Red Hat Enterprise Linux 7 ci-dessus, la version systemd est 208, de sorte que les noms d'interface réseau prévisibles doivent être désactivés.

    2. Désactivez les noms d'interface réseau prévisibles en ajoutant l'option net.ifnames=0 à la ligne GRUB_CMDLINE_LINUX dans /etc/default/grub.

      [ec2-user ~]$ sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub
    3. Générez à nouveau le fichier de configuration grub.

      [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  7. [EBS-backed instance] À partir de votre ordinateur local, arrêtez l'instance à l'aide de la console Amazon EC2 ou de l'une des commandes suivantes : stop-instances (AWS CLI), Stop-EC2Instance (Outils AWS pour Windows PowerShell). Si votre instance est gérée par AWS OpsWorks, vous devez arrêter l'instance de la console AWS OpsWorks de telle sorte que l'état de l'instance demeure synchronisé.

    [Instance basée sur le stockage d'instance] Vous ne pouvez pas arrêter l'instance pour modifier l'attribut. Vous devez utiliser cette procédure : Pour activer la mise en réseau améliorée (instances basées –sur le stockage d'instance).

  8. Depuis votre ordinateur local, activez l'attribut de mise en réseau améliorée à l'aide de l'une des commandes suivantes:

    • modify-instance-attribute (AWS CLI)

      aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    • Edit-EC2InstanceAttribute (Outils AWS pour Windows PowerShell)

      Edit-EC2InstanceAttribute -InstanceId instance_id -SriovNetSupport "simple"
  9. (Facultatif) Créez une AMI à partir de l'instance, comme décrit dans Création d'une AMI Linux basée sur Amazon EBS . L'AMI hérite l'attribut de mise en réseau améliorée de l'instance. Par conséquent, vous pouvez utiliser cet AMI pour lancer une autre instance avec la mise en réseau améliorée activée par défaut.

    Important

    Si le système d'exploitation de votre instance contient un fichier /etc/udev/rules.d/70-persistent-net.rules, vous devez le supprimer avant de créer l'AMI. Ce fichier contient l'adresse MAC de la carte Ethernet de l'instance d'origine. Si une autre instance démarre avec ce fichier, le système d'exploitation ne pourra pas trouver le périphérique et il se peut qu'eth0 échoue, entraînant des problèmes de démarrage. Le fichier est à nouveau généré au cycle de démarrage suivant et les instances lancées depuis l'AMI créent leur propre version du fichier.

  10. Depuis votre ordinateur local, démarrez l'instance à l'aide de la console Amazon EC2 ou de l'une des commandes suivantes : start-instances (AWS CLI) ou Start-EC2Instance (Outils AWS pour Windows PowerShell). Si votre instance est gérée par AWS OpsWorks, vous devez démarrer l'instance dans la console AWS OpsWorks de telle sorte que l'état de l'instance demeure synchronisé.

  11. (Facultatif) Connectez-vous à votre instance et vérifiez que le module est installé.

Pour activer la mise en réseau améliorée (instances basées –sur le stockage d'instance)

Suivez la procédure précédente jusqu'à l'étape à laquelle vous avez arrêté l'instance. Créez une nouvelle AMI comme décrit dans Création d'une AMI Linux basée sur le stockage d'instance, en veillant à activer l'attribut de mise en réseau améliorée lors de l'enregistrement de l'AMI.

  • register-image (AWS CLI)

    aws ec2 register-image --sriov-net-support simple ...
  • Register-EC2Image (Outils AWS pour Windows PowerShell)

    Register-EC2Image -SriovNetSupport "simple" ...

Dépannage des problèmes de connexion

Si vous perdez la connexion tout en activant la mise en réseau améliorée, il se peut que le module ixgbevf ne soit pas compatible avec le noyau. Essayez d'installer la version du module ixgbevf fournie avec la distribution de Linux pour votre instance.

Si vous activez la mise en réseau améliorée pour une instance de paravirtualisation ou une AMI, votre instance peut devenir inaccessible.

Pour plus d'informations, consultez la section relative à la procédure d'activation et de configuration de la mise en réseau améliorée sur les instances EC2.