Mejorar el rendimiento de la red con ENA Express en instancias de Linux o - Amazon Elastic Compute Cloud

Mejorar el rendimiento de la red con ENA Express en instancias de Linux o

ENA Express funciona con la tecnología Scalable Reliable Datagram (SRD) de AWS. SRD es un protocolo de transporte de red de alto rendimiento que utiliza el enrutamiento dinámico para aumentar el rendimiento y minimizar la latencia de cola. Con ENA Express, puede establecer comunicación entre dos instancias de EC2 de la misma subred.

Ventajas de ENA Express
  • Aumenta el ancho de banda máximo que puede utilizar un único flujo de 5 Gbps a 25 Gbps en la subred, hasta el límite de instancias agregado.

  • Reduce la latencia final del tráfico de red entre instancias de EC2, especialmente durante periodos de alta carga de red.

  • Detecta y evita las rutas de red sobrecargadas.

  • Gestiona algunas tareas directamente en la capa de red, como la reordenación de paquetes en el extremo receptor y la mayoría de las retransmisiones necesarias. Esto libera la capa de aplicación para otras tareas.

nota

Si su aplicación envía o recibe un gran volumen de paquetes por segundo y necesita optimizar la latencia la mayor parte del tiempo, especialmente durante los períodos en los que no hay congestión en la red, Redes mejoradas podría ser una mejor opción para su red.

Durante los periodos en los que el tráfico de red sea bajo, es posible que observe un ligero aumento en la latencia de los paquetes (decenas de microsegundos) cuando el paquete utilice ENA Express. Durante esos momentos, las aplicaciones que priorizan características específicas de rendimiento de la red pueden beneficiarse de ENA Express de la siguiente manera:

  • Los procesos pueden beneficiarse del aumento del ancho de banda máximo de flujo único de 5 Gbps a 25 Gbps dentro de la misma subred, hasta el límite de instancias agregado. Por ejemplo, si un tipo de instancia específico admite hasta 12,5 Gbps, el ancho de banda de flujo único también está limitado a 12,5 Gbps.

  • Los procesos que se ejecutan durante más tiempo deberían experimentar una latencia de cola reducida durante los períodos de congestión de la red.

  • Los procesos pueden beneficiarse de una distribución más uniforme y estándar de los tiempos de respuesta de la red.

Requisitos previos

Para asegurarse de que ENA Express puede funcionar eficazmente, actualice la siguiente configuración de su instancia.

  • Si la instancia usa marcos gigantes, ejecute el siguiente comando para establecer su unidad de transmisión máxima (MTU) en 8900.

    [ec2-user ~]$ sudo ip link set dev eth0 mtu 8900
  • Aumente el tamaño del anillo del receptor (Rx), como se indica a continuación:

    [ec2-user ~]$ ethtool -G device rx 8192
  • Para maximizar el ancho de banda de ENA Express, configure los límites de cola de TCP de la siguiente manera:

    1. Establezca el límite de colas pequeñas de TCP en 1 MB o más. Esto aumenta la cantidad de datos que están en cola para su transmisión en un socket.

      sudo sh -c 'echo 1048576 > /proc/sys/net/ipv4/tcp_limit_output_bytes'
    2. Deshabilite los límites de cola de bytes en el dispositivo eth si están habilitados para su distribución de Linux. Esto aumenta los datos en cola que se van a transmitir en la cola del dispositivo.

      sudo sh -c 'for txq in /sys/class/net/eth0/queues/tx-*; do echo max > ${txq}/byte_queue_limits/limit_min; done'
      nota

      El controlador ENA de la distribución de Amazon Linux desactiva los límites de cola de bytes de forma predeterminada.

Cómo funciona ENA Express

ENA Express funciona con la tecnología Scalable Reliable Datagram (SRD) de AWS. Distribuye los paquetes para cada flujo de red a través de diferentes rutas de red de AWS y ajusta dinámicamente la distribución cuando detecta indicios de congestión. También gestiona la reordenación de paquetes en el extremo receptor.

Para garantizar que ENA Express pueda gestionar el tráfico de red según lo previsto, las instancias emisoras y receptoras, y la comunicación entre dichas instancias deben cumplir todos los requisitos siguientes:

  • Se admiten los tipos de instancia de envío y recepción. Para obtener más información, consulte la tabla Tipos de instancia compatibles con ENA Express.

  • Tanto las instancias de envío como las de recepción deben tener configurado ENA Express. Si hay diferencias en la configuración, puede encontrarse con situaciones en las que el tráfico adopte por defecto la transmisión ENA estándar. El siguiente escenario muestra lo que puede ocurrir.

    Escenario: diferencias en la configuración

    instancia ENA Express habilitado UDP usa ENA Express
    instancia 1
    instancia 2 No

    En este caso, el tráfico TCP entre las dos instancias puede utilizar ENA Express, ya que ambas instancias lo habilitaron. Sin embargo, dado que una de las instancias no utiliza ENA Express para el tráfico de UDP, la comunicación entre estas dos instancias a través de UDP utiliza la transmisión ENA estándar.

  • Las instancias de envío y recepción deben ejecutarse en la misma subred.

  • La ruta de red entre las instancias no debe incluir cajas de middleware. ENA Express no admite actualmente cajas de middleware.

  • Para aprovechar todo el potencial del ancho de banda, utilice la versión 2.2.9 o superior del controlador.

  • Para generar métricas, utilice la versión 2.8 o superior del controlador.

Si no se cumple algún requisito, las instancias utilizan el protocolo TCP/UDP estándar, pero sin SRD para comunicarse.

Para asegurarse de que el controlador de red de su instancia está configurado para un rendimiento óptimo, revise las prácticas recomendadas para los controladores ENA. Estas prácticas recomendadas también se aplican a ENA Express. Para obtener más información, consulte Guía sobre la optimización de rendimiento y las prácticas recomendadas para el controlador ENA de Linux en el sitio web de GitHub.

nota

Amazon EC2 se refiere a la relación entre una instancia y una interfaz de red conectada a ella como un adjunto. La configuración de ENA Express se aplica al adjunto. Si la interfaz de red se desvincula de la instancia, el adjunto deja de existir y la configuración de ENA Express que se le aplicaba deja de estar vigente. Lo mismo ocurre cuando se finaliza una instancia, aunque la interfaz de red permanezca.

Tipos de instancia compatibles con ENA Express

Las siguientes pestañas contienen los tipos de instancias compatibles con ENA Express.

General purpose
Tipo de instancia Arquitectura
m6a.48xlarge x86_64
m6a.metal x86_64
m6i.8xlarge x86_64
m6i.12xlarge x86_64
m6i.16xlarge x86_64
m6i.24xlarge x86_64
m6i.32xlarge x86_64
m6i.metal x86_64
m6id.8xlarge x86_64
m6id.12xlarge x86_64
m6id.16xlarge x86_64
m6id.24xlarge x86_64
m6id.32xlarge x86_64
m6id.metal x86_64
m7g.12xlarge arm64
m7g.16xlarge arm64
m7g.metal arm64
m7gd.12xlarge arm64
m7gd.16xlarge arm64
m7gd.metal arm64
m7i.12xlarge x86_64
m7i.16xlarge x86_64
m7i.24xlarge x86_64
m7i.48xlarge x86_64
m7i.metal-24xl x86_64
m7i.metal-48xl x86_64
Compute optimized
Tipo de instancia Arquitectura
c6a.48xlarge x86_64
c6a.metal x86_64
c6gn.16xlarge arm64
c6i.8xlarge x86_64
c6i.12xlarge x86_64
c6i.16xlarge x86_64
c6i.24xlarge x86_64
c6i.32xlarge x86_64
c6i.metal x86_64
c6id.8xlarge x86_64
c6id.12xlarge x86_64
c6id.16xlarge x86_64
c6id.24xlarge x86_64
c6id.32xlarge x86_64
c6id.metal x86_64
c7g.12xlarge arm64
c7g.16xlarge arm64
c7g.metal arm64
c7gd.12xlarge arm64
c7gd.16xlarge arm64
c7gd.metal arm64
c7i.12xlarge x86_64
c7i.16xlarge x86_64
c7i.24xlarge x86_64
c7i.48xlarge x86_64
c7i.metal-24xl x86_64
c7i.metal-48xl x86_64
Memory optimized
Tipo de instancia Arquitectura
r6a.48xlarge x86_64
r6a.metal x86_64
r6i.8xlarge x86_64
r6i.12xlarge x86_64
r6i.16xlarge x86_64
r6i.24xlarge x86_64
r6i.32xlarge x86_64
r6i.metal x86_64
r6id.8xlarge x86_64
r6id.12xlarge x86_64
r6id.16xlarge x86_64
r6id.24xlarge x86_64
r6id.32xlarge x86_64
r6id.metal x86_64
r7g.12xlarge arm64
r7g.16xlarge arm64
r7g.metal arm64
r7gd.12xlarge arm64
r7gd.16xlarge arm64
r7gd.metal arm64
r7i.12xlarge x86_64
r7i.16xlarge x86_64
r7i.24xlarge x86_64
r7i.48xlarge x86_64
r7i.metal-24xl x86_64
r7i.metal-48xl x86_64
x2idn.16xlarge x86_64
x2idn.24xlarge x86_64
x2idn.32xlarge x86_64
x2idn.metal x86_64
x2iedn.8xlarge x86_64
x2iedn.16xlarge x86_64
x2iedn.24xlarge x86_64
x2iedn.32xlarge x86_64
x2iedn.metal x86_64
Accelerated computing
Tipo de instancia Arquitectura
g6.48xlarge x86_64
Storage optimized
Tipo de instancia Arquitectura
i4g.4xlarge arm64
i4g.8xlarge arm64
i4g.16xlarge arm64
i4i.8xlarge x86_64
i4i.12xlarge x86_64
i4i.16xlarge x86_64
i4i.24xlarge x86_64
i4i.32xlarge x86_64
i4i.metal x86_64
im4gn.4xlarge arm64
im4gn.8xlarge arm64
im4gn.16xlarge arm64

Enumerar y ver la configuración de ENA Express

En esta sección, se explica cómo enumerar y ver la información de ENA Express desde la AWS Management Console o desde la AWS CLI. Para obtener más información, seleccione la pestaña correspondiente al método que vaya a utilizar.

Console

En esta pestaña, se explica cómo encontrar información sobre la configuración actual de ENA Express y ver la compatibilidad con los tipos de instancia en la AWS Management Console.

Ver compatibilidad con los tipos de instancias
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, elija Tipos de instancias.

  3. Seleccione un tipo de instancia para ver los detalles de esa instancia. Puede elegir el enlace Tipo de instancia para abrir la página de detalles o puede seleccionar la casilla de la parte izquierda de la lista para ver los detalles en el panel correspondiente, en la parte inferior de la página.

  4. En la pestaña Redes o en esa sección de la página de detalles, Compatibilidad con ENA Express muestra un valor verdadero o falso para indicar si el tipo de instancia admite esta característica.

Ver la configuración de la lista de interfaces de red
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, elija Network Interfaces (Interfaces de red).

  3. Seleccione una interfaz de red para ver los detalles de esa instancia. Puede elegir el enlace ID de interfaz de red para abrir la página de detalles o puede seleccionar la casilla de la parte izquierda de la lista para ver los detalles en el panel correspondiente, en la parte inferior de la página.

  4. En la sección de Adjunto de la interfaz de red de la pestaña Detalles o la página de detalles, revise la configuración de ENA Express y UDP de ENA Express.

Ver la configuración de las instancias
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, elija instancias.

  3. Seleccione una instancia para ver sus detalles. Puede elegir el enlace ID de instancia para abrir la página de detalles o puede seleccionar la casilla de la parte izquierda de la lista para ver los detalles en el panel correspondiente, en la parte inferior de la página.

  4. En la sección Interfaces de red de la pestaña Redes, desplácese hacia la derecha para revisar la configuración de ENA Express y UDP de ENA Express.

AWS CLI

En esta pestaña, se explica cómo encontrar información sobre la configuración actual de ENA Express y ver la compatibilidad con los tipos de instancia en la AWS CLI.

Describir los tipos de instancias

Para obtener información sobre la configuración del tipo de instancia para un tipo de instancia específico, ejecute el comando describe-instance-types en la AWS CLI y sustituya el tipo de instancia como se indica a continuación:

[ec2-user ~]$ aws ec2 describe-instance-types --instance-types m6i.metal { "InstanceTypes": [ { "InstanceType": "m6i.metal", "CurrentGeneration": true, ... }, "NetworkInfo": { ... "EnaSrdSupported": true }, ... } ] }
Describir las interfaces de red

Para obtener información sobre la configuración de ENA Express para una interfaz de red, ejecute el comando describe-network-interfaces de la AWS CLI de la siguiente manera:

[ec2-user ~]$ aws ec2 describe-network-interfaces { "NetworkInterfaces": [ { "Association": { ....IPs, DNS... }, "Attachment": { "AttachTime": "2022-11-17T09:04:28+00:00", "AttachmentId": "eni-attach-0ab1c23456d78e9f0", "DeleteOnTermination": true, "DeviceIndex": 0, "NetworkCardIndex": 0, "InstanceId": "i-0abcd123e456fabcd", "InstanceOwnerId": "111122223333", "Status": "attached", "EnaSrdSpecification": { "EnaSrdEnabled": true, "EnaSrdUdpSpecification": { "EnaSrdUdpEnabled": true } } }, ... "NetworkInterfaceId": "eni-0d1234e5f6a78901b", "OwnerId": "111122223333", ... } ] }
PowerShell

En esta pestaña, se explica cómo encontrar información sobre la configuración actual de ENA Express y ver la compatibilidad con los tipos de instancia con PowerShell.

Describir los tipos de instancias

Para obtener información sobre la configuración del tipo de instancia para un tipo de instancia específico, ejecute Get-EC2InstanceType Cmdlet en las herramientas para PowerShell y sustituya el tipo de instancia como se indica a continuación:

PS C:\> Get-EC2InstanceType -InstanceType m6i.metal | ` Select-Object ` InstanceType, CurrentGeneration, @{Name = 'EnaSrdSupported'; Expression = { $_.NetworkInfo.EnaSrdSupported } } | ` Format-List InstanceType : m6i.metal CurrentGeneration : True EnaSrdSupported : True

Si ENA Express está activada, se devuelve un valor de True.

Describir las interfaces de red

Para obtener información sobre la configuración de ENA Express para una interfaz de red, ejecute Get-EC2NetworkInterface Cmdlet con las herramientas para PowerShell de la siguiente manera:

PS C:\> Get-EC2NetworkInterface -NetworkInterfaceId eni-0d1234e5f6a78901b | ` Select-Object ` Association, NetworkInterfaceId, OwnerId, @{Name = 'AttachTime'; Expression = { $_.Attachment.AttachTime } }, @{Name = 'AttachmentId'; Expression = { $_.Attachment.AttachmentId } }, @{Name = 'DeleteOnTermination'; Expression = { $_.Attachment.DeleteOnTermination } }, @{Name = 'NetworkCardIndex'; Expression = { $_.Attachment.NetworkCardIndex } }, @{Name = 'InstanceId'; Expression = { $_.Attachment.InstanceId } }, @{Name = 'InstanceOwnerId'; Expression = { $_.Attachment.InstanceOwnerId } }, @{Name = 'Status'; Expression = { $_.Attachment.Status } }, @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled } }, @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled } } Association : NetworkInterfaceId : eni-0d1234e5f6a78901b OwnerId : 111122223333 AttachTime : 6/11/2022 1:13:11 AM AttachmentId : eni-attach-0d1234e5f6a78901b DeleteOnTermination : True NetworkCardIndex : 0 InstanceId : i-0d1234e5f6a78901b InstanceOwnerId : 111122223333 Status : attached EnaSrdEnabled : True EnaSrdUdpEnabled : False

Configurar ENA Express

Puede configurar ENA Express para los tipos de instancia de EC2 compatibles sin necesidad de instalar ningún software adicional. En esta sección, se explica cómo configurar ENA Express desde la AWS Management Console o desde la AWS CLI. Para obtener más información, seleccione la pestaña correspondiente al método que vaya a utilizar.

Console

En esta pestaña se explica cómo administrar la configuración de ENA Express para las interfaces de red adjuntas a una instancia.

Administrar ENA Express desde la lista de interfaces de red
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, elija Network Interfaces (Interfaces de red).

  3. Seleccione una interfaz de red que esté adjunta a una instancia. Puede elegir el enlace ID de interfaz de red para abrir la página de detalles o puede seleccionar la casilla de la parte izquierda de la lista.

  4. Elija Administrar ENA Express en el menú Acción de la parte superior derecha de la página. Se abre el cuadro de diálogo Administrar ENA Express, en el que se muestran el ID de la interfaz de red seleccionada y la configuración actual.

    nota

    Si la interfaz de red que seleccionó no está adjunta a una instancia, esta acción no aparece en el menú.

  5. Para usar ENA Express, seleccione la casilla Habilitar.

  6. Cuando ENA Express está habilitado, puede configurar los ajustes de UDP. Para usar UDP de ENA Express, seleccione la casilla Habilitar.

  7. Elija Guardar para guardar las opciones de configuración.

Administrar ENA Express desde la lista de instancias
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, elija instancias.

  3. Seleccione la instancia que desea administrar. Puede elegir el ID de instancia para abrir la página de detalles o puede seleccionar la casilla de la parte izquierda de la lista.

  4. Seleccione la interfaz de red que desea configurar para su instancia.

  5. Elija Manage ENA Express (Administrar ENA Express) en el menú Action (Acción) de la parte superior derecha de la página.

  6. Para configurar ENA Express para una interfaz de red adjunta a la instancia, selecciónela en la lista Interfaz de red.

  7. Para utilizar ENA Express para el adjunto de la interfaz de red seleccionado, seleccione la casilla Habilitar.

  8. Cuando ENA Express está habilitado, puede configurar los ajustes de UDP. Para usar UDP de ENA Express, seleccione la casilla Habilitar.

  9. Elija Save (Guardar) para guardar las opciones de configuración.

Configurar ENA Express al adjuntar una interfaz de red a una instancia de EC2
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, elija Network Interfaces (Interfaces de red).

  3. Seleccione una interfaz de red que no esté adjunta a una instancia (el valor de Estado es Disponible). Puede elegir el enlace Network interface ID (ID de interfaz de red) para abrir la página de detalles o puede seleccionar la casilla de la parte izquierda de la lista.

  4. Seleccione la instancia a la que se adjuntará.

  5. Para usar ENA Express después de adjuntar la interfaz de red a la instancia, seleccione la casilla Habilitar.

  6. Cuando ENA Express está habilitado, puede configurar los ajustes de UDP. Para usar UDP de ENA Express, seleccione la casilla Enable (Habilitar).

  7. Para conectar la interfaz de red a la instancia y guardar la configuración de ENA Express, elija Adjuntar.

AWS CLI

Esta pestaña explica cómo configurar los ajustes de ENA Express en la AWS CLI.

Configurar ENA Express al adjuntar una interfaz de red

Para configurar ENA Express al adjuntar una interfaz de red a una instancia, ejecute el comando attach-network-interface en la AWS CLI, como se muestra en los siguientes ejemplos:

Ejemplo 1: usar ENA Express para el tráfico TCP, pero no para el tráfico UDP

En este ejemplo, configuramos EnaSrdEnabled como verdadero y permitimos que el valor predeterminado de EnaSrdUdpEnabled sea falso.

[ec2-user ~]$ aws ec2 attach-network-interface --network-interface-id eni-0123f4567890a1b23 --instance-id i-0f1a234b5cd67e890 --device-index 1 --ena-srd-specification 'EnaSrdEnabled=true' { "AttachmentId": "eni-attach-012c3d45e678f9012" }

Ejemplo 2: usar ENA Express tanto para el tráfico TCP como para el tráfico UDP

En este ejemplo, EnaSrdEnabled y EnaSrdUdpEnabled se configuran como verdadero.

[ec2-user ~]$ aws ec2 attach-network-interface --network-interface-id eni-0123f4567890a1b23 --instance-id i-0f1a234b5cd67e890 --device-index 1 --ena-srd-specification 'EnaSrdEnabled=true,EnaSrdUdpSpecification={EnaSrdUdpEnabled=true}' { "AttachmentId": "eni-attach-012c3d45e678f9012" }
Actualizar la configuración de ENA Express para el adjunto de interfaz de red

Para actualizar la configuración de ENA Express de una interfaz de red adjunta a una instancia, ejecute el comando modify-network-interface-attribute en la AWS CLI, como se muestra en los siguientes ejemplos:

Ejemplo 1: usar ENA Express para el tráfico TCP, pero no para el tráfico UDP

En este ejemplo, configuramos EnaSrdEnabled como verdadero y permitimos que el valor predeterminado de EnaSrdUdpEnabled sea falso si no se ha configurado previamente.

[ec2-user ~]$ aws ec2 modify-network-interface-attribute --network-interface-id eni-0123f4567890a1b23 --ena-srd-specification 'EnaSrdEnabled=true'

Ejemplo 2: usar ENA Express tanto para el tráfico TCP como para el tráfico UDP

En este ejemplo, EnaSrdEnabled y EnaSrdUdpEnabled se configuran como true (verdadero).

[ec2-user ~]$ aws ec2 modify-network-interface-attribute --network-interface-id eni-0123f4567890a1b23 --ena-srd-specification 'EnaSrdEnabled=true,EnaSrdUdpSpecification={EnaSrdUdpEnabled=true}'

Ejemplo 3: dejar de usar ENA Express para el tráfico UDP

En este ejemplo, EnaSrdUdpEnabled se configura como falso.

[ec2-user ~]$ aws ec2 modify-network-interface-attribute --network-interface-id eni-0123f4567890a1b23 --ena-srd-specification 'EnaSrdUdpSpecification={EnaSrdUdpEnabled=false}'
PowerShell

Esta pestaña explica cómo configurar los ajustes de ENA Express con PowerShell.

Configurar ENA Express al adjuntar una interfaz de red

Para configurar los ajustes de ENA Express para una interfaz de red, ejecute Add-EC2NetworkInterface Cmdlet con las herramientas para PowerShell de la siguiente manera:

Ejemplo 1: usar ENA Express para el tráfico TCP, pero no para el tráfico UDP

En este ejemplo, configuramos EnaSrdEnabled como verdadero y permitimos que el valor predeterminado de EnaSrdUdpEnabled sea falso.

PS C:\> Add-EC2NetworkInterface ` -NetworkInterfaceId eni-0123f4567890a1b23 ` -InstanceId i-0f1a234b5cd67e890 ` -DeviceIndex 1 ` -EnaSrdSpecification_EnaSrdEnabled $true eni-attach-012c3d45e678f9012

Ejemplo 2: usar ENA Express tanto para el tráfico TCP como para el tráfico UDP

En este ejemplo, EnaSrdEnabled y EnaSrdUdpEnabled se configuran como verdadero.

PS C:\> Add-EC2NetworkInterface ` -NetworkInterfaceId eni-0123f4567890a1b23 ` -InstanceId i-0f1a234b5cd67e890 ` -DeviceIndex 1 ` -EnaSrdSpecification_EnaSrdEnabled $true ` -EnaSrdUdpSpecification_EnaSrdUdpEnabled $true eni-attach-012c3d45e678f9012
Actualizar la configuración de ENA Express para el adjunto de interfaz de red

Para actualizar los ajustes de ENA Express de una interfaz de red adjunta a una instancia, ejecute el comando Add-EC2NetworkInterface Cmdlet en las herramientas para PowerShell, tal como se muestra en los siguientes ejemplos:

Ejemplo 1: usar ENA Express para el tráfico TCP, pero no para el tráfico UDP

En este ejemplo, configuramos EnaSrdEnabled como verdadero y permitimos que el valor predeterminado de EnaSrdUdpEnabled sea falso si no se ha configurado previamente.

PS C:\> Edit-EC2NetworkInterfaceAttribute ` -NetworkInterfaceId eni-0123f4567890a1b23 ` -EnaSrdSpecification_EnaSrdEnabled $true ; Get-EC2NetworkInterface -NetworkInterfaceId eni-0123f4567890a1b23 | ` Select-Object ` NetworkInterfaceId, @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled }}, @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled }} | ` Format-List NetworkInterfaceId : eni-0123f4567890a1b23 EnaSrdEnabled : True EnaSrdUdpEnabled : False

Ejemplo 2: usar ENA Express tanto para el tráfico TCP como para el tráfico UDP

En este ejemplo, EnaSrdEnabled y EnaSrdUdpEnabled se configuran como true (verdadero).

PS C:\> Edit-EC2NetworkInterfaceAttribute ` -NetworkInterfaceId eni-0123f4567890a1b23 ` -EnaSrdSpecification_EnaSrdEnabled $true ` -EnaSrdSpecification_EnaSrdUdpSpecification_EnaSrdUdpEnabled $true ; Get-EC2NetworkInterface -NetworkInterfaceId eni-0123f4567890a1b23 | ` Select-Object ` NetworkInterfaceId, @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled }}, @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled }} | ` Format-List NetworkInterfaceId : eni-0123f4567890a1b23 EnaSrdEnabled : True EnaSrdUdpEnabled : True

Ejemplo 3: dejar de usar ENA Express para el tráfico UDP

En este ejemplo, EnaSrdUdpEnabled se configura como falso.

PS C:\> Edit-EC2NetworkInterfaceAttribute ` -NetworkInterfaceId eni-0123f4567890a1b23 ` -EnaSrdSpecification_EnaSrdUdpSpecification_EnaSrdUdpEnabled $false ; Get-EC2NetworkInterface -NetworkInterfaceId eni-0123f4567890a1b23 | ` Select-Object ` NetworkInterfaceId, @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled }}, @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled }} | ` Format-List NetworkInterfaceId : eni-0123f4567890a1b23 EnaSrdEnabled : True EnaSrdUdpEnabled : False

Configuración de ENA Express al iniciar una instancia de EC2

Puede utilizar uno de los métodos siguientes para configurar ENA Express para una AMI cuando lance una instancia desde la AWS Management Console.

  • Puede configurar ENA Express para su AMI al iniciar una instancia con el asistente de inicialización de instancias. Para obtener información sobre la configuración, consulte Configuración de red avanzada en Network settings (Configuración de red) para el asistente de inicialización de instancias.

  • Puede configurar ENA Express para su AMI cuando utilice una plantilla de inicialización. Para obtener más información sobre la configuración de la plantilla de inicialización, consulte Configuración de red avanzada en Network settings (Configuración de red) para plantillas de inicialización.

Supervisar el rendimiento de ENA Express

Después de habilitar ENA Express para los adjuntos de interfaz de red tanto en la instancia de envío como en la de recepción, puede utilizar las métricas de ENA Express para asegurarse de que sus instancias aprovechen al máximo las mejoras de rendimiento que proporciona la tecnología SRD.

Para ver una lista de las métricas que se filtran para ENA Express, ejecute el siguiente comando ethtool para su interfaz de red (que aquí se muestra como eth0):

[ec2-user ~]$ ethtool -S eth0 | grep ena_srd NIC statistics: ena_srd_mode: 0 ena_srd_tx_pkts: 0 ena_srd_eligible_tx_pkts: 0 ena_srd_rx_pkts: 0 ena_srd_resource_utilization: 0
Verificar la configuración de ENA Express para una instancia

Para comprobar la configuración actual de ENA Express para el adjunto de la interfaz de red de la instancia, ejecute el comando ethtool para mostrar las métricas de ENA Express y tome nota del valor de la métrica ena_srd_mode. Los valores son los siguientes:

  • 0 = ENA Express desactivado, UDP desactivado

  • 1 = ENA Express activado, UDP desactivado

  • 2 = ENA Express desactivado, UDP activado

    nota

    Esto solo ocurre cuando ENA Express se habilitó originalmente y UDP se configuró para usarlo. El valor anterior se retiene para el tráfico UDP.

  • 3 = ENA Express activado, UDP activado

Después de habilitar ENA Express para el adjunto de interfaz de red en una instancia, la instancia de envío inicia la comunicación con la instancia de recepción y el SRD detecta si ENA Express funciona tanto en la instancia de envío como en la de recepción. Si ENA Express funciona, la comunicación puede utilizar la transmisión de SRD. Si ENA Express no funciona, la comunicación vuelve a la transmisión ENA estándar. Para confirmar si la transmisión de paquetes utiliza SRD, puede comparar el número de paquetes que cumplen los requisitos (métrica ena_srd_eligible_tx_pkts) con el número de paquetes SRD transmitidos (métrica ena_srd_tx_pkts) durante un periodo de tiempo determinado.

Puede supervisar el uso de recursos de SRD con la métrica ena_srd_resource_utilization. Si su instancia está a punto de agotar sus recursos de SRD, sabrá que llegó el momento de escalarla horizontalmente.

Para obtener más información sobre las métricas de ENA Express, consulte Métricas para ENA Express.