Habilitación de las redes mejoradas con Elastic Network Adapter (ENA) en las instancias EC2 - Amazon Elastic Compute Cloud

Habilitación de las redes mejoradas con Elastic Network Adapter (ENA) en las instancias EC2

Amazon EC2 proporciona funcionalidades de redes mejoradas a través del Elastic Network Adapter (ENA). Para utilizar la conexión en red mejorada, debe instalar el módulo ENA requerido y habilitar la compatibilidad con ENA.

Requisitos

Para prepararse para las redes mejoradas con ENA, configure la instancia de la siguiente manera:

  • Inicialice una instancia basada en AWS Nitro System.

  • 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 enaSupport, 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 una instancia con una versión del kernel de Linux y una distribución admitidas, de manera que la red mejorada de ENA esté habilitada de forma automática para su instancia. Para obtener más información, consulte ENA Linux Kernel Driver Release Notes.

  • Instancias de Windows: si la instancia ejecuta Windows Server 2008 R2 SP1, asegúrese de que tiene la actualización de compatibilidad con firma de código SHA-2.

  • 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.

Rendimiento de red mejorado

La documentación siguiente proporciona un resumen del rendimiento de la red para los tipos de instancia que admiten redes mejoradas ENA:

AMI de Linux con el módulo requerido

Las siguientes AMI incluyen el módulo ENA requerido y tienen habilitada la compatibilidad con ENA:

  • AL2023

  • Amazon Linux 2

  • AMI de Amazon Linux 2018.03 y posterior

  • Ubuntu 14.04 o versiones posteriores con el kernel linux-aws

    nota

    Los tipos de instancias basados en AWS Graviton requieren Ubuntu 18.04 o versiones posteriores con kernel linux-aws

  • Red Hat Enterprise Linux 7.4 o versiones posteriores

  • SUSE Linux Enterprise Server 12 SP2 o versiones posteriores

  • CentOS 7.4.1708 o versiones posteriores

  • FreeBSD 11.1 o versiones posteriores

  • Debian GNU/Linux 9 o versiones posteriores

Para probar si la conexión en red mejorada ya está habilitada, compruebe que el módulo ena esté instalado en la instancia y que se haya establecido el atributo enaSupport. De ser así, el comando ethtool -i ethn debería mostrar que el módulo se está utilizando en la interfaz de red.

Módulo de kernel (ena)

Para comprobar si el módulo ena está instalado, utilice el comando modinfo como se indica en el siguiente ejemplo.

[ec2-user ~]$ modinfo ena filename: /lib/modules/4.14.33-59.37.amzn2.x86_64/kernel/drivers/amazon/net/ena/ena.ko version: 1.5.0g license: GPL description: Elastic Network Adapter (ENA) author: Amazon.com, Inc. or its affiliates srcversion: 692C7C68B8A9001CB3F31D0 alias: pci:v00001D0Fd0000EC21sv*sd*bc*sc*i* alias: pci:v00001D0Fd0000EC20sv*sd*bc*sc*i* alias: pci:v00001D0Fd00001EC2sv*sd*bc*sc*i* alias: pci:v00001D0Fd00000EC2sv*sd*bc*sc*i* depends: retpoline: Y intree: Y name: ena ...

En la instancia de Amazon Linux, el módulo ena está instalado.

ubuntu:~$ modinfo ena ERROR: modinfo: could not find module ena

En la instancia de Ubuntu, el módulo no está instalado, por lo que debe instalarlo primero. Para obtener más información, consulte Ubuntu.

Probar si las redes mejoradas están habilitadas

Puede probar si las redes mejoradas están habilitadas en las instancias o AMI.

Atributo de instancia

Para comprobar si una instancia tiene establecido el atributo enaSupport de las redes mejoradas, utilice uno de los siguientes comandos. Si el atributo está establecido, la respuesta es true.

  • describe-instances (AWS CLI/AWS CloudShell)

    aws ec2 describe-instances --instance-ids instance_id --query "Reservations[].Instances[].EnaSupport"
  • Get-EC2Instance (Herramientas para Windows PowerShell)

    (Get-EC2Instance -InstanceId instance-id).Instances.EnaSupport
Atributo de imagen

Para comprobar si una AMI tiene establecido el atributo enaSupport de las redes mejoradas, utilice uno de los siguientes comandos. Si el atributo está establecido, la respuesta es true.

  • describe-images (AWS CLI/AWS CloudShell)

    aws ec2 describe-images --image-id ami_id --query "Images[].EnaSupport"
  • Get-EC2Image (Herramientas para Windows PowerShell)

    (Get-EC2Image -ImageId ami_id).EnaSupport
Controlador de la interfaz de red de Linux

Utilice el siguiente comando para verificar si el módulo ena 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 ena 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 ejemplo, el módulo ena está cargado y tiene la versión mínima recomendada. Esta instancia tiene las redes mejoradas configuradas correctamente.

[ec2-user ~]$ ethtool -i eth0 driver: ena version: 1.5.0g firmware-version: expansion-rom-version: bus-info: 0000:00:05.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no

Habilitar redes mejoradas en la instancia

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

Amazon Linux 2 y las últimas versiones de la Amazon Linux AMI incluyen el módulo requerido para mejorar la conexión en red con ENA instalado y tienen habilitada la compatibilidad con ENA. Por lo tanto, si inicia una instancia con una versión HVM de Amazon Linux en un tipo de instancia admitido, las redes mejoradas ya están habilitadas para su 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 en Amazon Linux AMI
  1. Conéctese a 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 ena:

    [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 ena está instalado y si tiene la versión mínima recomendada utilizando el comando modinfo ena 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 lugar de ello, vaya a este procedimiento: Para habilitar las redes mejoradas en Amazon Linux AMI (instancias con el respaldado del almacén de instancias).

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

  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 enaSupport 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 ena 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.

    Si no puede conectarse a la instancia después de habilitar las redes mejoradas, consulte Solución de problemas de Elastic Network Adapter en Linux.

Para habilitar las redes mejoradas en Amazon Linux AMI (instancias con el respaldado del 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.

  • register-image (AWS CLI)

    aws ec2 register-image --ena-support ...
  • Register-EC2Image (AWS Tools for Windows PowerShell)

    Register-EC2Image -EnaSupport $true ...

Las últimas AMI de Ubuntu HVM incluyen el módulo requerido para mejorar la conexión en red con ENA instalado y tienen habilitada la compatibilidad con ENA. Por lo tanto, si inicia una instancia con la AMI HVM de Ubuntu más reciente en un tipo de instancia admitido, las redes mejoradas ya están habilitadas para su instancia. Para obtener más información, consulte Probar si las redes mejoradas están habilitadas.

Si ha iniciado la instancia utilizando una AMI más antigua que no tiene habilitada aún la conexión en red mejorada, puede instalar el paquete del kernel linux-aws para obtener los controladores de red mejorada más recientes y actualizar el atributo necesario.

Para instalar el paquete del kernel de linux-aws (Ubuntu 16.04 o versiones posteriores)

Ubuntu 16.04 y 18.04 se distribuyen con el kernel personalizado de Ubuntu (paquete del kernel de linux-aws). Para usar un kernel diferente, contacte con AWS Support.

Para instalar el paquete del kernel de linux-aws (Ubuntu Trusty 14.04)
  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.

  3. [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 lugar de ello, vaya a este procedimiento: Para habilitar las redes mejoradas en Ubuntu (instancias con respaldo en el almacén de instancias).

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

  5. (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 enaSupport de la instancia. Por lo tanto, puede utilizar esta AMI para iniciar otra instancia con las redes mejoradas habilitadas de manera predeterminada.

  6. 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.

Para habilitar las redes mejoradas en Ubuntu (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.

  • register-image (AWS CLI)

    aws ec2 register-image --ena-support ...
  • Register-EC2Image (AWS Tools for Windows PowerShell)

    Register-EC2Image -EnaSupport $true ...

Las últimas AMI de Red Hat Enterprise Linux, SUSE Linux Enterprise Server y CentOS incluyen el módulo requerido para mejorar la conexión en red con ENA y tienen habilitada la compatibilidad con ENA. Por lo tanto, si inicia una instancia con la AMI más reciente en un tipo de instancia admitido, la conexión en red mejorada ya está habilitada para su instancia. Para obtener más información, consulte Probar si las redes mejoradas están habilitadas.

En el siguiente procedimiento, se proporcionan los pasos para habilitar la conexión en red mejorada con ENA en una distribución de Linux distinta de Amazon Linux AMI o Ubuntu. Para obtener más información, como la sintaxis detallada de los comandos, las ubicaciones de los archivos o la compatibilidad con paquetes y herramientas, consulte la documentación de su distribución de Linux.

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

  2. Clone el código fuente para el módulo ena en la instancia desde GitHub en https://github.com/amzn/amzn-drivers. (SUSE Linux Enterprise Server 12 SP2 y versiones posteriores incluyen ENA 2.02 de forma predeterminada, por lo que no es necesario descargar ni compilar el controlador de ENA. Para SUSE Linux Enterprise Server 12 SP2 y versiones posteriores, debe tramitar una solicitud para agregar la versión del controlador que desee al kernel existente).

    git clone https://github.com/amzn/amzn-drivers
  3. Compile e instale el módulo ena en la instancia. Estos pasos dependen de la distribución Linux. Para obtener más información sobre la compilación del módulo en Red Hat Enterprise Linux, consulte ¿Cómo puedo instalar y activar el controlador ENA más reciente para mejorar la compatibilidad de red en una instancia de Amazon EC2 que ejecuta RHEL?

  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. Por ejemplo, si su distribución admite dracut, puede utilizar el comando siguiente.

    dracut -f -v
  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.

      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.

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

      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), 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 lugar de ello, vaya a este procedimiento: Para habilitar las redes mejoradas en Linux (instancias respaldadas por el almacén de instancias).

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

  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 enaSupport 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.

    Si no puede conectarse a la instancia después de habilitar las redes mejoradas, consulte Solución de problemas de Elastic Network Adapter en Linux.

Para habilitar las redes mejoradas en Linux (instancias respaldadas por 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.

Este método sirve únicamente para realizar pruebas y enviar comentarios. No se ha concebido para su uso en implementaciones de producción. Para las implementaciones de producción, consulte Ubuntu.

importante

El uso de DKMS invalida el acuerdo de soporte técnico de su suscripción. No se debe usar para implementaciones de producción.

Para habilitar las redes mejoradas con ENA en Ubuntu (instancias con respaldo de EBS)
  1. Siga los pasos 1 y 2 de Ubuntu.

  2. Instale los paquetes build-essential para compilar el módulo del kernel y el paquete dkms para volver a compilar el módulo ena cada vez que se actualiza el kernel.

    ubuntu:~$ sudo apt-get install -y build-essential dkms
  3. Clone el código fuente del módulo ena en la instancia desde GitHub en https://github.com/amzn/amzn-drivers.

    ubuntu:~$ git clone https://github.com/amzn/amzn-drivers
  4. Mueva el paquete amzn-drivers al directorio /usr/src/ para que DKMS pueda encontrarlo y compilarlo en cada actualización del kernel. Añada el número de versión (lo encontrará en las notas de la versión) del código fuente al nombre del directorio. Por ejemplo, en el ejemplo siguiente se muestra la versión 1.0.0.

    ubuntu:~$ sudo mv amzn-drivers /usr/src/amzn-drivers-1.0.0
  5. Cree el archivo de configuración DKMS con los siguientes valores, sustituyendo su versión de ena.

    Cree el archivo.

    ubuntu:~$ sudo touch /usr/src/amzn-drivers-1.0.0/dkms.conf

    Edite el archivo y añada los valores siguientes.

    ubuntu:~$ sudo vim /usr/src/amzn-drivers-1.0.0/dkms.conf PACKAGE_NAME="ena" PACKAGE_VERSION="1.0.0" CLEAN="make -C kernel/linux/ena clean" MAKE="make -C kernel/linux/ena/ BUILD_KERNEL=${kernelver}" BUILT_MODULE_NAME[0]="ena" BUILT_MODULE_LOCATION="kernel/linux/ena" DEST_MODULE_LOCATION[0]="/updates" DEST_MODULE_NAME[0]="ena" AUTOINSTALL="yes"
  6. Añada, compile e instale el módulo ena en su instancia utilizando DKMS.

    Añada el módulo a DKMS.

    ubuntu:~$ sudo dkms add -m amzn-drivers -v 1.0.0

    Compile el módulo utilizando el comando dkms.

    ubuntu:~$ sudo dkms build -m amzn-drivers -v 1.0.0

    Instale el módulo utilizando dkms.

    ubuntu:~$ sudo dkms install -m amzn-drivers -v 1.0.0
  7. Vuelva a compilar initramfs para que el módulo correcto se cargue en el momento del arranque.

    ubuntu:~$ sudo update-initramfs -u -k all
  8. Compruebe si el módulo ena está instalado utilizando el comando modinfo ena desde Probar si las redes mejoradas están habilitadas.

    ubuntu:~$ modinfo ena filename: /lib/modules/3.13.0-74-generic/updates/dkms/ena.ko version: 1.0.0 license: GPL description: Elastic Network Adapter (ENA) author: Amazon.com, Inc. or its affiliates srcversion: 9693C876C54CA64AE48F0CA alias: pci:v00001D0Fd0000EC21sv*sd*bc*sc*i* alias: pci:v00001D0Fd0000EC20sv*sd*bc*sc*i* alias: pci:v00001D0Fd00001EC2sv*sd*bc*sc*i* alias: pci:v00001D0Fd00000EC2sv*sd*bc*sc*i* depends: vermagic: 3.13.0-74-generic SMP mod_unload modversions parm: debug:Debug level (0=none,...,16=all) (int) parm: push_mode:Descriptor / header push mode (0=automatic,1=disable,3=enable) 0 - Automatically choose according to device capability (default) 1 - Don't push anything to device memory 3 - Push descriptors and header buffer to device memory (int) parm: enable_wd:Enable keepalive watchdog (0=disable,1=enable,default=1) (int) parm: enable_missing_tx_detection:Enable missing Tx completions. (default=1) (int) parm: numa_node_override_array:Numa node override map (array of int) parm: numa_node_override:Enable/Disable numa node override (0=disable) (int)
  9. Continúe con el paso 3 de Ubuntu.

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 enaSupport para activar las redes mejoradas. Solo puede habilitar este atributo en los tipos de instancias admitidos y solo si está instalado el controlador de ENA. Para obtener más información, consulte Se ha mejorado la compatibilidad de red.

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

  2. [Windows Server 2016 y 2019 únicamente] 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
  3. En la instancia, instale el controlador de la siguiente manera:

    1. Descargue el controlador más reciente en la instancia.

    2. Extraiga el archivo zip.

    3. Instale el controlador ejecutando el script de PowerShell install.ps1.

      nota

      Si recibe un error de política de ejecución, establezca la política en Unrestricted (el valor predeterminado es Restricted o RemoteSigned). En una línea de comandos, ejecute Set-ExecutionPolicy -ExecutionPolicy Unrestricted y, a continuación, ejecute de nuevo el script install.ps1 de PowerShell.

  4. 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.

  5. Habilite el soporte de ENA en la instancia del modo siguiente:

    1. En el equipo local, compruebe el atributo de soporte de ENA de la instancia de EC2 en la instancia ejecutando uno de los siguientes comandos. Si el atributo no está habilitado, la salida será "[]" o estará en blanco. EnaSupport está establecido en false de forma predeterminada.

      • describe-instances (AWS CLI/AWS CloudShell)

        aws ec2 describe-instances --instance-ids instance_id --query "Reservations[].Instances[].EnaSupport"
      • Get-EC2Instance (Herramientas para Windows PowerShell)

        (Get-EC2Instance -InstanceId instance-id).Instances.EnaSupport
    2. Para habilitar el soporte de ENA, ejecute uno de los siguientes comandos:

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

        aws ec2 modify-instance-attribute --instance-id instance_id --ena-support
      • Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

        Edit-EC2InstanceAttribute -InstanceId instance_id -EnaSupport $true

      Si tiene problemas al reiniciar la instancia, también puede deshabilitar el soporte de ENA con uno de los siguientes comandos:

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

        aws ec2 modify-instance-attribute --instance-id instance_id --no-ena-support
      • Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

        Edit-EC2InstanceAttribute -InstanceId instance_id -EnaSupport $false
    3. Verifique que el atributo se ha establecido en true usando describe-instances o Get-EC2Instance como se ha explicado antes. Entonces, debe ver la salida siguiente:

      [ true ]
  6. Desde su equipo local, inicie la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: start-instances (AWS CLI/AWS CloudShell), Start-EC2Instance (AWS Tools for Windows PowerShell). Si la instancia la administra AWS OpsWorks, debe iniciarla con la consola de AWS OpsWorks para que su estado se mantenga sincronizado.

  7. En la instancia, confirme que el controlador de ENA esté instalado y habilitado del modo siguiente:

    1. Haga clic con el botón derecho en el icono de red y elija Abrir el centro de redes y recursos compartidos.

    2. Elija el adaptador Ethernet (por ejemplo, Ethernet 2).

    3. Elija Detalles. En Detalles de la conexión de red, compruebe que Descripción tiene el valor Amazon Elastic Network Adapter.

  8. (Opcional) Cree una AMI a partir de la instancia. La AMI hereda el atributo enaSupport de la instancia. Por lo tanto, puede utilizar esta AMI para iniciar otra instancia con ENA habilitado de manera predeterminada.

Notas de versión del controlador

Para obtener información acerca de las versiones del controlador de ENA de Linux, consulte las notas de la versión del controlador del kernel de ENA de Linux.

Las AMI para Windows incluyen el controlador de Amazon ENA para habilitar las redes mejoradas.

La siguiente tabla muestra la versión del controlador ENA correspondiente que se debe descargar para cada versión de Windows Server.

Versión de Windows Server Versión del controlador ENA

Windows Server 2022

2.4.0 y versiones posteriores

Windows Server 2019

más recientes

Windows Server 2016 más recientes
Windows Server 2012 R2 2.6.0 y versiones anteriores
Windows Server 2012 2.6.0 y versiones anteriores
Windows Server 2008 R2 2.2.3 y versiones posteriores

En la tabla siguiente se resumen los cambios de cada versión.

Versión de controlador Detalles Fecha de la versión

2.7.0

Nuevas características

  • Se eliminó la compatibilidad con Windows Server 2012 (Windows 8) y Windows Server 2012 R2 (Windows 8.1). La compatibilidad de AWS con estas versiones de sistemas operativos finalizó. La instalación del controlador fallará en Windows Server 2012 y versiones anteriores.

  • Se agregó compatibilidad con la transferencia del cálculo de la suma de verificación de IPv6 Tx al dispositivo.

  • Se agregó una amplia compatibilidad con colas de baja latencia (LLQ). Esto se activa de forma dinámica según las recomendaciones del dispositivo. Puede anular esta configuración con la nueva clave de registro “WideLLQ”.

  • Se agregó un informe sobre las pérdidas de paquetes provocadas por un exceso de Rx, lo que indica que no hay suficiente espacio en el anillo Rx para los paquetes entrantes.

  • Se agregó compatibilidad para las notificaciones de configuración subóptimas desde el dispositivo. Consulte el ID del evento 59000 desde el lector de eventos de Windows.

Correcciones de errores

  • Evite el reinicio de dispositivos innecesario causado por los paquetes Tx con encabezados que excedan el tamaño de encabezado máximo de las colas de baja latencia (LLQ).

1 de mayo de 2024

2.6.0

Nuevas características

  • Agrega las siguientes métricas de rendimiento de red para los tipos de instancias compatibles con ENA Express.

    • ena_srd_mode

    • ena_srd_tx_pkts

    • ena_srd_eligible_tx_pkts

    • ena_srd_rx_pkts

    • ena_srd_resource_utilization

  • Agrega la métrica de rendimiento de red conntrack_allowance_available para los tipos de instancias basados en Nitro.

  • Agrega un nuevo motivo para restablecer el adaptador debido a la detección de daños en los datos de RX.

  • Actualiza la infraestructura de registro de controladores.

Correcciones de errores

  • Impide el restablecimiento del adaptador en caso de que la falta de CPU provoque un error en la actualización de las métricas de rendimiento de red.

  • Impide la detección falsa de una interrupción del ritmo cardíaco del dispositivo.

  • Corrige el script de instalación del controlador para permitir la operación de adopción de una versión anterior.

  • Corrige la estadística de recuento de errores de recepción.

20 de junio de 2023

2.5.0

Anuncio

La versión 2.5.0 del controlador ENA Windows se revirtió debido a un fallo de inicialización en el controlador de dominio de Windows. Windows Client y Windows Server no están afectados.

17 de febrero de 2023

2.4.0

Nuevas características

  • Agrega compatibilidad con Windows Server 2022

  • Elimina compatibilidad con Windows Server 2008 R2.

  • Establece la cola de baja latencia (LLQ) para que siempre esté activada con el fin de mejorar el rendimiento de las instancias de Amazon EC2 de sexta generación.

Corrección de errores

  • Corrige un error al publicar métricas de rendimiento de red en el sistema de contadores de rendimiento para Windows (PCW).

  • Corrige una pérdida de memoria durante la operación de lectura de claves del registro.

  • Evita la creación de un bucle de restablecimiento infinito en caso de que se produzca un error irrecuperable durante el proceso de restablecimiento del adaptador.

28 de abril de 2022

2.2.4

Anuncios

La versión 2.2.4 del controlador ENA Windows se revirtió debido a la posible disminución del rendimiento en las instancias de EC2 de sexta generación. Recomendamos que cambie a una versión anterior del controlador siguiendo alguno de los siguientes métodos:

  • Instale la versión anterior
    1. Descargue el paquete de la versión anterior desde el enlace que aparece en esta tabla (versión 2.2.3).

    2. Ejecute el script de instalación de PowerShell install.ps1.

    Para obtener más información sobre los pasos previos y posteriores a la instalación, consulte Habilitar redes mejoradas en Windows.

    Utilice Amazon EC2 Systems Manager para una actualización masiva
    • Realice una actualización masiva a través del documento AWS-ConfigureAWSPackage de SSM, con los siguientes parámetros:

      • Nombre: AwsEnaNetworkDriver

      • Versión: 2.2.3

26 de octubre de 2021

2.2.3

Nueva característica

  • Añade soporte para nuevas tarjetas Nitro con redes de instancias de hasta 400 Gbps.

Corrección de errores

  • Corrige la condición de carrera entre el cambio de tiempo del sistema y la consulta de tiempo del sistema por parte del controlador de ENA, lo que provoca la detección falsa positiva de la falta de respuesta del hardware.

La versión 2.2.3 del controlador Windows ENA es la versión final compatible con Windows Server 2008 R2. Los tipos de instancias disponibles actualmente que utilizan ENA seguirán siendo compatibles con Windows Server 2008 R2 y los controladores están disponibles mediante descarga. Ningún tipo de instancias futuras será compatible con Windows Server 2008 R2 y no podrá iniciar, importar ni migrar imágenes de Windows Server 2008 R2 a futuros tipos de instancias.

25 de marzo de 2021

2.2.2

Nueva característica

  • Agregue soporte para consultar métricas de rendimiento del adaptador de red con CloudWatch y los contadores de rendimiento para consumidores de Windows.

Corrección de errores

  • Soluciona problemas de rendimiento en instancias bare metal.

21 de diciembre de 2020

2.2.1

Nueva característica

  • Agrega un método para permitir que el host consulte el adaptador de red elástico para obtener métricas de rendimiento de red.

1 de octubre de 2020

2.2.0

Nuevas características

  • Da soporte a los tipos de hardware de próxima generación.

  • Mejora el tiempo de inicio de las instancias después de reanudar la parada de hibernación y elimina los mensajes de error de ENA que sean falsos positivos.

Optimizaciones de rendimiento

  • Optimiza el procesamiento del tráfico entrante.

  • Mejora la administración de memoria compartida en entornos de recursos bajos.

Corrección de errores

  • Evita el bloqueo del sistema tras la eliminación del dispositivo ENA en un escenario raro en el que el controlador no se puede restablecer.

12 de agosto de 2020

2.1.5

Corrección de errores

  • Corrige errores ocasionales de inicialización del adaptador de red en instancias bare metal.

23 de junio de 2020

2.1.4

Correcciones de errores

  • Evita problemas de conectividad causados por metadatos de paquetes LSO corruptos que llegan de la pila de la red.

  • Impedir el bloqueo del sistema causado por una condición extraña que deriva en un acceso a una memoria de paquete ya liberada.

25 de noviembre de 2019

2.1.2

Nueva característica

  • Se agregó soporte para el informe de identificación del proveedor para permitir que el sistema operativo genere UUIDs basados en MAC.

Correcciones de errores

  • Se ha mejorado el rendimiento de configuración de red DHCP durante la inicialización.

  • Calcule correctamente la suma de comprobación de L4 en el tráfico IPv6 entrante cuando la unidad de transmisión máxima (MTU) supere 4K.

  • Mejoras generales en la estabilidad del controlador y correcciones de errores menores.

4 de noviembre de 2019

2.1.1

Correcciones de errores
  • Evita caídas de paquetes TCP LSO muy fragmentados lleguen desde el sistema operativo.

  • Administre correctamente el protocolo Encapsulating Security Payload (ESP) dentro de IPSec en redes IPv6.

16 de septiembre de 2019

2.1.0

El controlador de ENA Windows v2.1 introduce nuevas capacidades de dispositivos ENA, proporciona un aumento del rendimiento, añade nuevas características e incluye varias mejoras de estabilidad.
  • Nuevas características

    • Utilice la clave de registro estandarizada de Windows para configuración de tramas gigantes.

    • Realice la configuración del ID de VLAN a través de la GUI de propiedades del controlador de ENA.

    • Flujos de recuperación mejorados

      • Mecanismo de identificación de fallos mejorado.

      • Soporte añadido para parámetros de recuperación ajustable.

    • Soporte de hasta 32 colas de E/S para instancias de EC2 más nuevas que tienen más de 8 vCPU.

    • ~90 % de reducción de tamaño de memoria de controladores.

  • Optimizaciones de rendimiento

    • Latencia de ruta de transmisión reducida.

    • Soporte de descarga de suma de comprobación de recepción.

    • Optimización de rendimiento de sistema con carga elevada (uso optimizado de mecanismos de bloqueo).

    • Mejoras adicionales para reducir la utilización de CPU y mejorar la respuesta del sistema con carga.

  • Correcciones de errores

    • Corrección de fallo debido a un análisis no válido de encabezados Tx no contiguos.

    • Corrige los fallos del controlador v1.5 durante la desconexión de la interfaz de red elástica en instancias bare metal.

    • Corrección del error de cálculo de suma de comprobación de pseudoencabezado de LSO en IPv6.

    • Corrección de posible fuga de recursos de memoria tras un fallo de inicialización.

    • Deshabilitación de descarga de suma de comprobación de TCP/UDP para fragmentos de IPv4.

    • Corrección de configuración de VLAN. La VLAN se desactivaba incorrectamente cuando solo se debería haber deshabilitado la prioridad de VLAN.

    • Habilitación del análisis correcto de mensajes personalizados del controlador por el visor de eventos.

    • Corrección de fallo para inicializar el controlador debido a una control de marca temporal incorrecto.

    • Corrección de la condición de carrera entre el procesamiento de datos y la deshabilitación del dispositivo ENA.

1 de julio de 2019

1.5.0

  • Mejoras de la estabilidad y correcciones de rendimiento.

  • Ahora los búferes de recepción se pueden configurar con un valor de hasta 8192 en las Propiedades avanzadas del NIC de ENA.

  • El valor predeterminado es de 1k.

4 de octubre de 2018

1.2.3

Incluye correcciones de fiabilidad y unifica el soporte para Windows Server 2008 R2 hasta Windows Server 2016.

13 de febrero de 2018

1.0.8

La versión inicial. Se incluye en las AMI para Windows Server 2008 R2, Windows Server 2012 RTM, Windows Server 2012 R2 y Windows Server 2016.

de julio de 2016

Amazon SNS puede notificarle cuando se publiquen nuevas versiones de los controladores de Windows para EC2. Para suscribirse a estas notificaciones, utilice el siguiente procedimiento.

Para suscribirse a las notificaciones de EC2
  1. Abra la consola de Amazon SNS en https://console.aws.amazon.com/sns/v3/home.

  2. En la barra de navegación, cambie la región a EE. UU. Este (Norte de Virginia), si es necesario. Debe seleccionar esta región porque las notificaciones de SNS a las que se va a suscribir están en esa región.

  3. En el panel de navegación, seleccione Subscriptions.

  4. Seleccione Create subscription.

  5. En el cuadro de diálogo Crear suscripción, haga lo siguiente:

    1. En ARN de tema, copie el siguiente nombre de recurso de Amazon (ARN):

      arn:aws:sns:us-east-1:801119661308:ec2-windows-drivers

    2. En Protocolo, elija Email.

    3. En Punto de conexión, escriba una dirección de correo electrónico que pueda utilizar para recibir notificaciones.

    4. Seleccione Crear subscripción.

  6. Debe recibir un correo electrónico de confirmación. Abra el mensaje y siga las instrucciones para completar la suscripción.

Cuando se publican nuevos controladores de Windows para EC2, enviamos notificaciones a los suscriptores. Si ya no desea recibir estas notificaciones, utilice el siguiente procedimiento para cancelar la suscripción.

Para anular la suscripción a las notificaciones del controlador de Windows para Amazon EC2
  1. Abra la consola de Amazon SNS en https://console.aws.amazon.com/sns/v3/home.

  2. En el panel de navegación, seleccione Subscriptions.

  3. Seleccione la casilla de verificación de la suscripción y, a continuación, elija Acciones, Eliminar suscripciones. Cuando se le pida confirmación, seleccione Eliminar.