Habilitación de redes mejoradas con la interfaz de Intel 82599 VF en instancias EC2 - Amazon Elastic Compute Cloud

Habilitación de redes mejoradas con la interfaz de Intel 82599 VF en instancias EC2

Amazon EC2 proporciona funcionalidades de red mejoradas a través de la interfaz Intel 82599 VF, que usa un controlador ixgbevf de Intel.

Requisitos

Para prepararse para las redes mejoradas con la interfaz Intel 82599 VF, configure su instancia de la siguiente manera:

  • Seleccione de entre los siguientes tipos de instancia compatibles: C3, C4, D2, I2, M4 (menos m4.16xlarge) y R3.

  • Asegúrese de que la instancia tenga conexión a Internet.

  • Si tiene datos importantes en la instancia que desea conservar, debería realizar ahora una copia de seguridad de esos datos creando una AMI desde la instancia. La actualización del kernel y los módulos del kernel, además de habilitar el atributo sriovNetSupport, puede hacer que las instancias o sistemas operativos incompatibles sean inaccesibles. Si tiene una copia de seguridad reciente y esto ocurre, los datos se conservarán.

  • Instancias de Linux: lance la instancia desde una AMI HVM utilizando la versión de kernel de Linux 2.6.32 o posterior. Las AMI HVM de Amazon Linux más recientes tienen instaladas los módulos necesarios para las redes mejoradas y tienen establecidos los atributos necesarios. Por lo tanto, si inicia una instancia que admite redes mejoradas con respaldo de Amazon EBS utilizando una AMI HVM de Amazon Linux actual, las redes mejoradas ya están habilitadas para la instancia.

    aviso

    Las redes mejoradas solo se admiten para instancias HVM. Si habilita las redes mejoradas con una instancia PV, podrían ser inaccesibles. Si establece este atributo sin el módulo o la versión del módulo adecuada, la instancia también podría ser inaccesible.

  • Instancias de Windows: lance la instancia desde una AMI HVM de 64 bits. No se pueden habilitar las redes mejoradas en Windows Server 2008. Las redes mejoradas ya están habilitadas para las AMI de Windows Server 2012 R2 o Windows Server 2016 y versiones posteriores. Windows Server 2012 R2 incluye el controlador Intel 1.0.15.3 y recomendamos actualizar ese controlador a la versión más reciente con la utilidad Pnputil.exe.

  • Utilice AWS CloudShell en la AWS Management Console, o bien instale y configure la AWS CLI o las AWS Tools for Windows PowerShell en cualquier computadora que elija, preferentemente en su equipo de escritorio o portátil local. Para obtener más información, consulte Acceder a Amazon EC2 o la Guía del usuario de AWS CloudShell. Las redes mejoradas no se pueden administrar desde la consola de Amazon EC2.

Cómo verificar que el controlador esté instalado

Verifique que el controlador está instalado en su instancia.

Controlador de la interfaz de red de Linux

Utilice el siguiente comando para verificar si el módulo se está utilizando en una interfaz en particular, sustituyendo el nombre de la interfaz que quiere comprobar. Si utiliza una sola interfaz (predeterminada), esta será eth0. Si el sistema operativo admite nombres de red predecibles, podría ser un nombre como ens5.

En el ejemplo siguiente, el módulo ixgbevf no está cargado, ya que el controlador indicado es 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

En este caso, el módulo ixgbevf está cargado. Esta instancia tiene las redes mejoradas configuradas correctamente.

[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
Adaptador de red de Windows

Para comprobar si el controlador está instalado, conéctese a la instancia y abra Device Manager. Debería ver "Intel(R) 82599 Virtual Function" en la lista, en Adaptadores de red.

Probar si las redes mejoradas están habilitadas

Compruebe que el atributo sriovNetSupport esté configurado.

Atributo de instancia (sriovNetSupport)

Para comprobar si una instancia tiene establecido el atributo sriovNetSupport de las redes mejoradas, utilice uno de los siguientes comandos. Si se configuró el atributo, el valor es simple.

  • describe-instance-attribute (AWS CLI) (AWS CLI/AWS CloudShell)

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

    Get-EC2InstanceAttribute -InstanceId instance-id -Attribute sriovNetSupport
Atributo de imagen (sriovNetSupport)

Para comprobar si una AMI ya tiene establecido el atributo sriovNetSupport de las redes mejoradas, utilice uno de los siguientes comandos. Si se configuró el atributo, el valor es simple.

  • describe-images (AWS CLI)

    aws ec2 describe-images --image-id ami_id --query "Images[].SriovNetSupport"
  • Get-EC2Image (AWS Tools for Windows PowerShell)

    (Get-EC2Image -ImageId ami-id).SriovNetSupport

Habilitar redes mejoradas en la instancia

El procedimiento que utiliza depende del sistema operativo de la instancia.

aviso

No hay ninguna forma de deshabilitar el atributo de redes mejoradas después de habilitarlo.

Las AMI HVM de Amazon Linux más recientes tienen instalado el módulo ixgbevf necesario para las redes mejoradas y tienen establecido el atributo sriovNetSupport que se necesita. Por lo tanto, si inicia un tipo de instancia utilizando una AMI HVM de Amazon Linux actual, las redes mejoradas ya están habilitadas para la instancia. Para obtener más información, consulte Probar si las redes mejoradas están habilitadas.

Si ha iniciado la instancia utilizando una AMI de Amazon Linux más antigua y no tiene habilitadas aún las redes mejoradas, utilice el siguiente procedimiento para habilitarlas.

Para habilitar las redes mejoradas
  1. Conecte con la instancia .

  2. Desde la instancia, ejecute el siguiente comando para actualizarla con el kernel y los módulos de kernel más recientes, incluido ixgbevf:

    [ec2-user ~]$ sudo yum update
  3. Desde su equipo local, reinicie la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: reboot-instances (AWS CLI), Restart-EC2Instance (AWS Tools for Windows PowerShell).

  4. Conéctese de nuevo a la instancia y compruebe si el módulo ixgbevf está instalado y si tiene la versión mínima recomendada utilizando el comando modinfo ixgbevf de Probar si las redes mejoradas están habilitadas.

  5. [instancia basada en EBS] Desde su equipo local, detenga la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: stop-instances (AWS CLI), Stop-EC2Instance (AWS Tools for Windows PowerShell). Si la instancia la administra AWS OpsWorks, debe detenerla en la consola de AWS OpsWorks para mantener su estado sincronizado.

    [Instancia respaldada por el almacén de instancias] No puede detener la instancia para modificar el atributo. En su lugar, pase directamente al siguiente procedimiento.

  6. En el equipo local, habilite el atributo de redes mejoradas con uno de los siguientes comandos:

    AWS CLI

    modify-instance-attribute (AWS CLI)

    aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    PowerShell

    Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

    Edit-EC2InstanceAttribute -InstanceId instance_id -SriovNetSupport "simple"
  7. (Opcional) Cree una AMI desde la instancia, tal y como se explica en Creación de una AMI basada en Amazon EBS. La AMI hereda el atributo de redes mejoradas de la instancia. Por lo tanto, puede utilizar esta AMI para iniciar otra instancia con las redes mejoradas habilitadas de manera predeterminada.

  8. Desde su equipo local, inicie la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: start-instances (AWS CLI), Start-EC2Instance (AWS Tools for Windows PowerShell). Si la instancia la administra AWS OpsWorks, debe iniciarla en la consola de AWS OpsWorks para mantener su estado sincronizado.

  9. Conéctese a la instancia y compruebe que el módulo ixgbevf está instalado y cargado en la interfaz de red utilizando el comando ethtool -i ethn command de Probar si las redes mejoradas están habilitadas.

Para habilitar las redes mejoradas (instancias con respaldo en el almacén de instancias)

Siga el procedimiento anterior hasta el paso en el que detiene la instancia. Cree una nueva AMI tal como se describe en Crear una AMI de Linux con respaldo en el almacén de instancias, asegurándose de habilitar el atributo de redes mejoradas cuando registre la AMI.

AWS CLI

register-image (AWS CLI/AWS CloudShell)

aws ec2 register-image --sriov-net-support simple ...
PowerShell

Register-EC2Image (AWS Tools for Windows PowerShell)

Register-EC2Image -SriovNetSupport "simple" ...

Antes de comenzar, compruebe si las redes mejoradas ya están habilitadas en la instancia.

Las AMI HVM de Ubuntu de inicio rápido incluyen los controladores necesarios para las redes mejoradas. Si tiene una versión de ixgbevf anterior a 2.16.4, puede instalar el paquete del kernel de linux-aws para obtener los controladores de redes mejoradas más recientes.

En el siguiente procedimiento, se proporcionan los pasos generales para compilar el módulo ixgbevf en una instancia de Ubuntu.

Para instalar el paquete de kernel de linux-aws
  1. Conéctese a la instancia.

  2. Actualice la caché del paquete y los paquetes.

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

    Si, durante el proceso de actualización, se le pide que instale grub, use /dev/xvda para instalar grub y luego elija conservar la versión actual de /boot/grub/menu.lst.

Antes de comenzar, compruebe si las redes mejoradas ya están habilitadas en la instancia. Las últimas versiones de las AMI HVM de Ubuntu de inicio rápido incluyen los controladores necesarios para las redes mejoradas, por lo que no es necesario realizar pasos adicionales.

En el siguiente procedimiento, se proporcionan los pasos generales que debe realizar para habilitar las redes mejoradas con la interfaz Intel 82599 VF en una distribución de Linux que no sea Amazon Linux o Ubuntu. Para obtener más información, como la sintaxis detallada de los comandos, las ubicaciones de los archivos o el soporte de paquetes y herramientas, consulte la documentación específica de su distribución de Linux.

Para habilitar las redes mejoradas en Linux
  1. Conéctese a la instancia.

  2. Descargue el código fuente para el módulo ixgbevf de su instancia desde Sourceforge en https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/.

    Las versiones de ixgbevf anteriores a la 2.16.4, incluida la versión 2.14.2, no se compilan correctamente en algunas distribuciones de Linux, incluidas determinadas versiones de Ubuntu.

  3. Compile e instale el módulo ixgbevf en la instancia.

    aviso

    Si compila el módulo ixgbevf para el kernel actual y luego lo actualiza sin volver a compilar el controlador del nuevo kernel, es posible que el sistema vuelva al módulo ixgbevf específico de la distribución en el siguiente rearranque. Esto podría hacer que el sistema fuera inaccesible si la versión específica de la distribución es incompatible con las redes mejoradas.

  4. Ejecute el comando sudo depmod para actualizar las dependencias de módulos.

  5. Actualice initramfs en la instancia para asegurarse de que el nuevo módulo se carga en el momento del arranque.

  6. Determine si el sistema utiliza de manera predeterminada nombres de interfaz de red predecibles. Los sistemas que utilizan las versiones 197 o posteriores de systemd o udev pueden cambiar el nombre de los dispositivos Ethernet y no garantizan que haya una sola interfaz de red denominada eth0. Este comportamiento puede producir problemas al conectarse a la instancia. Para obtener más información y para ver otras opciones de configuración, consulte Predictable Network Interface Names en el sitio web de freedesktop.org.

    1. Puede utilizar el siguiente comando para comprobar las versiones de systemd o udev en los sistemas basados en RPM:

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

      En el ejemplo anterior de Red Hat Enterprise Linux 7, la versión de systemd es la 208, por lo que se deben deshabilitar los nombres de interfaz de red predecibles.

    2. Para deshabilitar los nombres de interfaz de red predecibles, añada la opción net.ifnames=0 a la línea GRUB_CMDLINE_LINUX en /etc/default/grub.

      [ec2-user ~]$ sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub
    3. Vuelva a compilar el archivo de configuración de Grub.

      [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  7. [Instancia basada en EBS] Desde su equipo local, detenga la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: stop-instances (AWS CLI/AWS CloudShell), Stop-EC2Instance (AWS Tools for Windows PowerShell). Si la instancia la administra AWS OpsWorks, debe detenerla en la consola de AWS OpsWorks para mantener su estado sincronizado.

    [Instancia respaldada por el almacén de instancias] No puede detener la instancia para modificar el atributo. En su lugar, pase directamente al siguiente procedimiento.

  8. En el equipo local, habilite el atributo de redes mejoradas con uno de los siguientes comandos:

    AWS CLI

    modify-instance-attribute (AWS CLI/AWS CloudShell)

    aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    PowerShell

    Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

    Edit-EC2InstanceAttribute -InstanceId instance_id -SriovNetSupport "simple"
  9. (Opcional) Cree una AMI desde la instancia, tal y como se explica en Creación de una AMI basada en Amazon EBS. La AMI hereda el atributo de redes mejoradas de la instancia. Por lo tanto, puede utilizar esta AMI para iniciar otra instancia con las redes mejoradas habilitadas de manera predeterminada.

    Si el sistema operativo de la instancia contiene un archivo /etc/udev/rules.d/70-persistent-net.rules, debe eliminarlo antes de crear la AMI. Este archivo contiene la dirección MAC del adaptador Ethernet de la instancia original. Si otra instancia arranca con este archivo, el sistema operativo no será capaz de encontrar el dispositivo y eth0 producirá un error, lo que causará problemas de arranque. Este archivo se regenera en el siguiente ciclo de arranque y todas las instancias que se inician desde la AMI crean su propia versión del archivo.

  10. Desde su equipo local, inicie la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: start-instances (AWS CLI), Start-EC2Instance (AWS Tools for Windows PowerShell). Si la instancia la administra AWS OpsWorks, debe iniciarla en la consola de AWS OpsWorks para mantener su estado sincronizado.

  11. (Opcional) Conéctese a la instancia y compruebe si el módulo está instalado.

Para habilitar las redes mejoradas (instancias con respaldo en el almacén de instancias)

Siga el procedimiento anterior hasta el paso en el que detiene la instancia. Cree una nueva AMI tal como se describe en Crear una AMI de Linux con respaldo en el almacén de instancias, asegurándose de habilitar el atributo de redes mejoradas cuando registre la AMI.

AWS CLI

register-image (AWS CLI/AWS CloudShell)

aws ec2 register-image --sriov-net-support simple ...
PowerShell

Register-EC2Image (AWS Tools for Windows PowerShell)

Register-EC2Image -SriovNetSupport "simple" ...

Si ha iniciado su instancia y no tiene habilitadas aún las redes mejoradas, debe descargar e instalar el controlador del adaptador de red requerido en la instancia y luego establecer el atributo de la instancia sriovNetSupport para activar las redes mejoradas. Solo puede habilitar este atributo en tipos de instancias admitidos. Para obtener más información, consulte Se ha mejorado la compatibilidad de red.

importante

Para ver las actualizaciones de controladores más recientes en las AMI de Windows, consulte el historial de versiones de la AMI de Windows en la Referencia de las AMI de Windows de AWS.

Para habilitar las redes mejoradas
  1. Conéctese a la instancia e inicie sesión como administrador local.

  2. [Windows Server 2016 y versiones posteriores] Ejecute el siguiente script de PowerShell de EC2Launch para configurar la instancia después de instalar el controlador.

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
    importante

    La contraseña del administrador se restablecerá cuando habilite el script de inicialización EC2Launch de la instancia. Puede modificar el archivo de configuración para deshabilitar el restablecimiento de la contraseña del administrador especificándolo en la configuración de las tareas de inicialización.

  3. Desde la instancia, descargue el controlador del adaptador de red Intel para su sistema operativo:

    • Windows Server 2022

      Visite la página de descarga y descargue Wired_driver_version_x64.zip.

    • Windows Server 2019 incluida para versión de Server 1809 y posteriores*

      Visite la página de descarga y descargue Wired_driver_version_x64.zip.

    • Windows Server 2016 incluida para versión de Server 1803 y anteriores*

      Visite la página de descarga y descargue Wired_driver_version_x64.zip.

    • Windows Server 2012 R2

      Visite la página de descarga y descargue Wired_driver_version_x64.zip.

    • Windows Server 2012

      Visite la página de descarga y descargue Wired_driver_version_x64.zip.

    • Windows Server 2008 R2

      Visite la página de descarga y descargue PROWinx64Legacy.exe.

    *Las versiones de Server 1803 y anteriores, así como 1809 y posteriores no se tratan específicamente en las páginas de software y controladores de Intel.

  4. Instale el controlador del adaptador de red Intel para su sistema operativo.

    • Windows Server 2008 R2

      1. En la carpeta Descargas, busque el archivo PROWinx64Legacy.exe y cámbiele el nombre a PROWinx64Legacy.zip.

      2. Extraiga el contenido del archivo PROWinx64Legacy.zip.

      3. Abra la línea de comandos, vaya a la carpeta que extrajo y ejecute el siguiente comando para utilizar la utilidad pnputil para agregar e instalar el archivo INF en el almacén de controladores.

        C:\> pnputil -a PROXGB\Winx64\NDIS62\vxn62x64.inf
    • Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 y Windows Server 2012

      1. En la carpeta Descargas, extraiga el contenido del archivo Wired_driver_version_x64.zip.

      2. En la carpeta que extrajo, busque el archivo Wired_driver_version_x64.exe y cámbiele el nombre a Wired_driver_version_x64.zip.

      3. Extraiga el contenido del archivo Wired_driver_version_x64.zip.

      4. Abra la línea de comandos, vaya a la carpeta que extrajo y ejecute uno de los siguientes comandos para utilizar la utilidad pnputil para agregar e instalar el archivo INF en el almacén de controladores.

        • Windows Server 2022

          C:\> pnputil -i -a PROXGB\Winx64\WS2022\vxs.inf
        • Windows Server 2019

          C:\> pnputil -i -a PROXGB\Winx64\NDIS68\vxn68x64.inf
        • Windows Server 2016

          C:\> pnputil -i -a PROXGB\Winx64\NDIS65\vxn65x64.inf
        • Windows Server 2012 R2

          C:\> pnputil -i -a PROXGB\Winx64\NDIS64\vxn64x64.inf
        • Windows Server 2012

          C:\> pnputil -i -a PROXGB\Winx64\NDIS63\vxn63x64.inf
  5. En el equipo local, habilite el atributo de redes mejoradas con uno de los siguientes comandos:

    AWS CLI

    modify-instance-attribute (AWS CLI/AWS CloudShell)

    aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    PowerShell

    Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

    Edit-EC2InstanceAttribute -InstanceId instance_id -SriovNetSupport "simple"
  6. (Opcional) Cree una AMI desde la instancia, tal y como se explica en Creación de una AMI basada en Amazon EBS. La AMI hereda el atributo de redes mejoradas de la instancia. Por lo tanto, puede utilizar esta AMI para iniciar otra instancia con las redes mejoradas habilitadas de manera predeterminada.

  7. Desde su equipo local, inicie la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: start-instances (AWS CLI), Start-EC2Instance (AWS Tools for Windows PowerShell). Si la instancia la administra AWS OpsWorks, debe iniciarla en la consola de AWS OpsWorks para mantener su estado sincronizado.

Solucionar problemas de conectividad

Si pierde la conexión mientras habilita las redes mejoradas, puede ser que el módulo ixgbevf sea incompatible con el kernel. Pruebe a instalar la versión del módulo ixgbevf que se incluye con la distribución de Linux de la instancia.

Si habilita las redes mejoradas para una instancia o AMI PV, la instancia podría ser inaccesible.

Para obtener más información, consulte How do I turn on and configure enhanced networking on my EC2 instances?