

# Redes en Amazon EC2
<a name="ec2-networking"></a>

Amazon VPC le permite iniciar recursos de AWS, como instancias de Amazon EC2, en una red virtual dedicada a la cuenta de AWS, conocida como nube privada virtual (VPC). Al iniciar una instancia, puede seleccionar una subred de la VPC. La instancia está configurada con una interfaz de red principal, que es una tarjeta de red virtual lógica. La instancia recibe una dirección IP privada principal de la dirección IPv4 de la subred y se asigna a la interfaz de red principal.

Puede controlar si la instancia recibe una dirección IP pública del grupo de direcciones IP públicas de Amazon. La dirección IP pública de una instancia se asocia a su instancia solo hasta que se detenga o finalice. Si necesita una dirección IP pública persistente, puede asignar una dirección IP elástica para su cuenta AWS y asociarla con una instancia o una interfaz de red. Una dirección IP elástica permanece asociada a su cuenta AWS hasta que la libere, y puede moverla de una instancia a otra según sea necesario. Puede traer su propio intervalo de direcciones IP a su cuenta AWS, donde aparece como un grupo de direcciones y, a continuación, asignar direcciones IP elásticas desde su grupo de direcciones.

Para aumentar el rendimiento de la red y reducir la latencia, puede iniciar instancias en un grupo de ubicación. Puede obtener un Packet Per Second (PPS, Rendimiento de paquete por segundo) significativamente mayor utilizando una red mejorada. Puede acelerar las aplicaciones de informática y machine learning de alto rendimiento mediante un Elastic Fabric Adapter (EFA), que es un dispositivo de red que se puede conectar a un tipo de instancia compatible.

**Topics**
+ [

# Regiones y zonas
](using-regions-availability-zones.md)
+ [Direccionamiento IP de instancias](using-instance-addressing.md)
+ [

# Nombres de host y dominios de instancias de EC2
](ec2-instance-naming.md)
+ [Traiga sus propias direcciones IP](ec2-byoip.md)
+ [Direcciones IP elásticas](elastic-ip-addresses-eip.md)
+ [Interfaces de red](using-eni.md)
+ [Ancho de banda de red](ec2-instance-network-bandwidth.md)
+ [Redes mejoradas](enhanced-networking.md)
+ [Elastic Fabric Adapter](efa.md)
+ [Topología de EC2](ec2-instance-topology.md)
+ [Grupos de ubicación](placement-groups.md)
+ [MTU de red](network_mtu.md)
+ [Nubes virtuales privadas](using-vpc.md)
+ [Redes adicionales](secondary-networks.md)

# Regiones y zonas
<a name="using-regions-availability-zones"></a>

Amazon EC2 está alojado en varias ubicaciones de todo el mundo. Estas ubicaciones se componen de Regiones de AWS, zonas de disponibilidad, locales AWS Outposts y de Wavelength.
+ Las **regiones** son áreas geográficas independientes.
+ Las **zonas de disponibilidad** son varias ubicaciones aisladas dentro de cada región.
+ Las **Local Zones** le proporcionan la capacidad de colocar recursos, como por ejemplo de computación y de almacenamiento, en varias ubicaciones más cercanas a los usuarios finales.
+ **Wavelength Zones** le ofrece la posibilidad de crear aplicaciones que ofrecen latencias ultrabajas a dispositivos 5G y usuarios finales. Wavelength implementa servicios de computación y almacenamiento de AWS estándar al borde de redes 5G de operadores de telecomunicaciones.
+ **AWS Outposts** ofrece servicios nativos AWS, infraestructura y modelos operativos a prácticamente cualquier centro de datos, espacio de colocación o instalación local.

AWS opera centros de datos con tecnología de vanguardia y alta disponibilidad. Aunque es infrecuente, puede suceder que se produzcan errores que afecten a la disponibilidad de las instancias que están en la misma ubicación. Si aloja todas las instancias en una misma ubicación y se produce un error en ella, ninguna de las instancias estaría disponible.

Para obtener más información, consulte [Infraestructura global de AWS](https://aws.amazon.com/about-aws/global-infrastructure/).

**Topics**
+ [

## Regiones
](#concepts-regions)
+ [

## Zonas de disponibilidad
](#concepts-availability-zones)
+ [

## Zonas locales
](#concepts-local-zones)
+ [

## Zonas de Wavelength
](#concepts-wavelength-zones)
+ [

## AWS Outposts
](#concepts-outposts)

## Regiones
<a name="concepts-regions"></a>

Cada región se ha diseñado para que esté totalmente aislada de las demás regiones. Con ello se consigue la mejor tolerancia a errores y estabilidad posibles.

Cuando lance una instancia, seleccione una región que coloque sus instancias cerca de determinados clientes, o que cumpla los requisitos legales o de otra índole que tenga. Puede lanzar instancias en varias regiones.

Cuando se consultan los recursos, solo se ven los recursos vinculados a la región de especificada. Esto se debe a que las regiones de están aisladas entre sí y no replicamos automáticamente los recursos en distintas regiones de .

### Regiones disponibles
<a name="concepts-available-regions"></a>

Para ver una lista con las regiones disponibles, consulte [AWSRegiones](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html).

### Puntos de conexión regionales para Amazon EC2
<a name="using-regions-endpoints"></a>

Cuando trabaja con una instancia usando la interfaz de línea de comandos o las acciones de API, debe especificar el punto de conexión regional. Para obtener más información acerca de las regiones y los puntos de conexión disponibles para Amazon EC2, consulte [Amazon EC2 service endpoints](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-endpoints.html) en la *Guía para desarrolladores de Amazon EC2*.

Para obtener más información, consulte [Regiones de AWS](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html) en la *Guía del usuario de zonas de disponibilidad y Regiones de AWS*.

## Zonas de disponibilidad
<a name="concepts-availability-zones"></a>

Cada región tiene varias ubicaciones aisladas conocidas como *zonas de disponibilidad*. El código de la zona de disponibilidad es el código de la región seguido de un identificador de letra. Por ejemplo, `us-east-1a`.

Al lanzar instancias EC2 en varias zonas de disponibilidad, puede proteger sus aplicaciones del fallo de una única ubicación en la región.

El siguiente diagrama ilustra varias zonas de disponibilidad en una región de AWS. La zona de disponibilidad A y la zona de disponibilidad B tienen una subred cada una y cada subred tiene instancias EC2. La zona de disponibilidad C no tiene subredes, por lo que no se pueden iniciar instancias en esta zona de disponibilidad.

![\[Una región con instancias en una zona de disponibilidad\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/region-with-azs.png)


Para obtener más información, consulte [Nubes privadas virtuales para sus instancias EC2](using-vpc.md).

### Disponibilidad por región
<a name="available-availability-zones"></a>

Para ver la lista de zonas de disponibilidad por región, consulte [AWSZonas de disponibilidad.](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-availability-zones.html)

### Instancias en zonas de disponibilidad
<a name="using-regions-availability-zones-launching"></a>

Al lanzar una instancia, selecciona una región y una nube privada virtual (VPC). A continuación, puede seleccionar una subred de una de las zonas de disponibilidad o dejar que nosotros elijamos una subred por usted. Cuando lance sus instancias iniciales, le recomendamos que nos deje seleccionar una Zona de Disponibilidad para usted basándonos en el estado del sistema y la capacidad disponible. Si lanza instancias adicionales, especifique una Zona de disponibilidad solo si sus nuevas instancias deben estar cerca o separadas de sus instancias existentes.

Si distribuye instancias entre varias zonas de disponibilidad y una instancia falla, puede diseñar su aplicación para que una instancia de otra zona de disponibilidad gestione las solicitudes en su lugar.

Para obtener más información, consulte [Zonas de disponibilidad de AWS](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-availability-zones.html) en la *Guía del usuario de zonas de disponibilidad y Regiones de AWS*.

## Zonas locales
<a name="concepts-local-zones"></a>

Una zona local es una extensión de una región de AWS que se encuentra geográficamente cerca de los usuarios. Las zonas locales tienen sus propias conexiones a Internet y son compatibles con Direct Connect, por lo que los recursos creados en una zona local pueden brindar a los usuarios locales comunicaciones de baja latencia. Para obtener más información, consulte la sección [¿Qué son las zonas locales de AWS?](https://docs.aws.amazon.com/local-zones/latest/ug/what-is-aws-local-zones.html) en la *Guía del usuario de zonas locales de AWS*.

El código de una zona local es el código de su región seguido de un identificador que indica su ubicación física. Por ejemplo, `us-west-2-lax-1` en Los Ángeles.

En el siguiente diagrama, se ilustran la región `us-west-2` de AWS, dos de sus zonas de disponibilidad y dos de sus zonas locales. La VPC abarca las zonas de disponibilidad y una de las zonas locales. Cada zona de la VPC tiene una subred y cada subred tiene una instancia.

![\[Una VPC con zonas de disponibilidad y zonas locales\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/region-with-lzs.png)


### Local Zones disponibles
<a name="available-local-zones"></a>

Para ver la lista de zonas locales disponibles, consulte [Available Local Zones](https://docs.aws.amazon.com/local-zones/latest/ug/available-local-zones.html) en la *Guía del usuario de Zonas locales de AWS*. Para ver la lista de zonas locales anunciadas, consulte las [Ubicaciones de zonas locales de AWS](https://aws.amazon.com/about-aws/global-infrastructure/localzones/locations/).

### Instancias en zonas locales
<a name="local-zones-launching"></a>

Para utilizar una Local Zone, primero debe habilitarla. A continuación, cree una subred en la zona local. Puede especificar la subred de la zona local al iniciar las instancias, lo que la coloca en la subred de la zona local en la zona local.

Cuando inicializa una instancia en una zona local, también puede asignar una dirección IP desde un grupo periférico de red. Un grupo de bordes de red es un conjunto único de zonas de disponibilidad, Local Zones o zonas de Wavelength desde las que AWS anuncia direcciones IP, como, por ejemplo, `us-west-2-lax-1a`. Puede asignar las siguientes direcciones IP desde un grupo de perímetros de red:
+ Direcciones IPv4 elásticas proporcionadas por Amazon
+ Direcciones IPv6 de VPC proporcionadas por Amazon (disponibles solo en las zonas de Los Ángeles)

Para obtener más información sobre cómo iniciar una instancia en una Zona local, consulte [Introducción a Zonas locales de AWS](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html) en la *Guía del usuario de Zonas locales de AWS*.

## Zonas de Wavelength
<a name="concepts-wavelength-zones"></a>

AWS Wavelength permite a los desarrolladores crear aplicaciones que ofrecen una latencia extremadamente baja para dispositivos móviles y usuarios finales. Wavelength implementa servicios de computación y almacenamiento de AWS estándar al borde de redes 5G de operadores de telecomunicaciones. Los desarrolladores pueden ampliar una nube privada virtual (VPC) a una o varias zonas de Wavelength y, a continuación, utilizar recursos de AWS como instancias de Amazon EC2 para ejecutar aplicaciones que requieren una latencia extremadamente baja y una conexión a los servicios de AWS en la región.

Una zona de Wavelength es una zona aislada en la ubicación del operador donde se implementa la infraestructura de Wavelength. Las zonas de Wavelength están vinculadas a una región. Una zona de Wavelength es una extensión lógica de una región y está administrada por el plano de control de la región.

El código de una zona Wavelength es el código de su región seguido de un identificador que indica la ubicación física. Por ejemplo, `us-east-1-wl1-bos-wlz-1` en Boston.

En el siguiente diagrama, se ilustran la región `us-west-2` de AWS, dos de sus zonas de disponibilidad y una zona Wavelength. La VPC abarca las zonas de disponibilidad y la zona Wavelength. Cada zona de la VPC tiene una subred y cada subred tiene una instancia.

![\[Una VPC con zonas de disponibilidad y una zona Wavelength\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/region-with-wavelength-zones.png)


Las zonas de Wavelength no están disponibles en todas las regiones. Para obtener información sobre las regiones que admiten zonas de Wavelength, consulte [Zonas de Wavelength disponibles](https://docs.aws.amazon.com/wavelength/latest/developerguide/wavelength-quotas.html#concepts-available-zones) en la *Guía para desarrolladores de AWS Wavelength*.

### Zonas de Wavelength disponibles
<a name="available-wavelength-zones"></a>

Para obtener una lista de las zonas de Wavelength disponibles, consulte [Available Wavelength Zones](https://docs.aws.amazon.com/wavelength/latest/developerguide/available-wavelength-zones.html) en la *Guía de AWS Wavelength*.

### Instancias en zonas de Wavelength
<a name="wavelength-zones-launching"></a>

Para utilizar una zona de Wavelength, primero debe darse de alta en la zona. A continuación, cree una subred en la zona de Wavelength. Puede especificar la subred de Wavelength al inicializar instancias. También asigna una dirección IP de operador de un grupo de perímetros de red, que es un conjunto único de zonas de disponibilidad, Local Zones o zonas de Wavelength desde las que AWS anuncia direcciones IP, por ejemplo, `us-east-1-wl1-bos-wlz-1`.

Para obtener instrucciones paso a paso para iniciar una instancia en una zona de Wavelength, consulte [Get started with AWS Wavelength](https://docs.aws.amazon.com/wavelength/latest/developerguide/get-started-wavelength.html) en la *Guía para desarrolladores de AWS Wavelength*.

## AWS Outposts
<a name="concepts-outposts"></a>

AWS Outposts es un servicio completamente administrado que extiende la infraestructura, los servicios, las API y las herramientas de AWS a las instalaciones del cliente. Al proporcionar acceso local a la infraestructura administrada de AWS, AWS Outposts habilita a los clientes a crear y ejecutar aplicaciones en las instalaciones mediante el uso de las mismas interfaces de programación que en las regiones de AWS, al mismo tiempo que utilizan recursos informáticos y de almacenamiento locales para reducir la latencia y las necesidades de procesamiento de datos locales.

Un Outpost es un grupo de capacidad informática y de almacenamiento de AWS implementada en un sitio del cliente. AWS opera, supervisa y administra esta capacidad como parte de una región de AWS. Puede crear subredes en el Outpost y especificarlas cuando cree recursos de AWS. Las instancias en las subredes de Outpost se comunican con otras instancias en la región de AWS mediante el uso de direcciones IP privadas, todo dentro de la misma VPC.

En el siguiente diagrama, se ilustran la región `us-west-2` de AWS, dos de sus zonas de disponibilidad y un Outpost. La VPC abarca las zonas de disponibilidad y el Outpost. El Outpost se encuentra en las instalaciones de un centro de datos del cliente. Cada zona de la VPC tiene una subred y cada subred tiene una instancia.

![\[Una VPC con zonas de disponibilidad y un Outpost.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/region-with-outpost.png)


### Instancias en un Outpost
<a name="outposts-instances"></a>

Para empezar a usar AWS Outposts, debe crear un Outpost y solicitar capacidad de Outpost. AWS Outposts ofrece dos formatos: los bastidores de Outposts y los servidores de Outposts. Para obtener más información acerca de las configuraciones de Outposts, consulte [AWS Outposts Family](https://aws.amazon.com/outposts/). Una vez que esté instalado el equipo de Outpost, la capacidad de computación y de almacenamiento estarán disponibles cuando se inicialicen instancias de EC2 en su Outpost.

Para inicializar instancias de EC2, debe crear una subred de Outpost. Los grupos de seguridad controlan el tráfico entrante y saliente de las instancias en una subred de Outpost, al igual que lo hacen para las instancias de una subred de una zona de disponibilidad. Para conectarse a instancias en subredes Outpost utilizando SSH, especifique un par de claves cuando las lance, al igual que hace para instancias en subredes de Zona de disponibilidad.

Para obtener más información, consulte [Get started with Outposts racks](https://docs.aws.amazon.com/outposts/latest/userguide/get-started-outposts.html) o [Get started with Outposts servers](https://docs.aws.amazon.com/outposts/latest/server-userguide/get-started-outposts.html).

### Volúmenes en un bastidor de Outposts
<a name="outposts-rack-volumes"></a>

Si la capacidad de computación de Outposts está en un bastidor de Outposts, puede crear volúmenes de EBS en la subred de Outposts que haya creado. Al crear el volumen, especifique el nombre de recurso de Amazon (ARN) del Outpost.

El siguiente comando [create-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-volume.html) crea un volumen vacío de 50 GB en el Outpost especificado.

```
aws ec2 create-volume --availability-zone us-east-2a --outpost-arn arn:aws:outposts:us-east-2:123456789012:outpost/op-03e6fecad652a6138 --size 50
```

Puede modificar dinámicamente el tamaño de los Amazon EBS volúmenes de gp2 sin desvincularlos. Para obtener más información acerca de cómo modificar un volumen sin desasociarlo, consulte [Solicitar modificaciones a los volúmenes de EBS](https://docs.aws.amazon.com/ebs/latest/userguide/requesting-ebs-volume-modifications.html) en la *Guía del usuario de Amazon EBS*.

Se recomienda limitar el volumen raíz de una instancia de un bastidor de Outpost a 30 GiB o menos. Puede especificar volúmenes de datos en la asignación de dispositivos de bloques de la AMI o la instancia para proporcionar almacenamiento adicional. Para recortar los bloques no utilizados del volumen raíz, consulte [Cómo crear volúmenes de EBS dispersos](https://aws.amazon.com/blogs/apn/how-to-build-sparse-ebs-volumes-for-fun-and-easy-snapshotting/) en el *blog de la red de socios de AWS*.

Se recomienda aumentar el tiempo de espera de NVMe para el volumen raíz. Para obtener más información, consulte [Tiempo de espera de las operaciones de E/S](https://docs.aws.amazon.com/ebs/latest/userguide/nvme-ebs-volumes.html#timeout-nvme-ebs-volumes) en la *Guía del usuario de Amazon EBS*.

### Volúmenes en un servidor de Outposts
<a name="outposts-server-volumes"></a>

Las instancias en servidores Outposts proporcionan volúmenes de almacén de instancias pero no son compatibles con volúmenes de EBS. Elija una AMI basada en Amazon EBS con una sola instantánea de EBS. Elija un tamaño de instancia con suficiente almacenamiento de instancias para cumplir con las necesidades de la aplicación. Para obtener más información, consulte [Límites de volúmenes de almacén de instancias](instance-store-volumes.md).

# Direccionamiento IP de instancias Amazon EC2
<a name="using-instance-addressing"></a>

Tanto Amazon EC2 como Amazon VPC admiten los protocolos de direcciones IPv4 e IPv6. De forma predeterminada, Amazon VPC utiliza el protocolo de direcciones IPv4 y este comportamiento no se puede desactivar. Cuando crea una VPC, debe especificar un bloque de CIDR IPv4 (un intervalo de direcciones IPv4 privadas). De manera opcional, puede asignar un bloque de CIDR IPv6 a su VPC y asignar direcciones IPv6 de dicho bloque a instancias de las subredes.

Al lanzar una instancia de EC2, puede especificar una VPCy una subred. La instancia recibe una dirección IPv4 privada del rango CIDR de la subred. Opcionalmente, puede configurar sus instancias con direcciones IPv4 públicas y direcciones IPv6. Si las instancias de EC2 en diferentes VPC se comunican mediante direcciones IP públicas, el tráfico permanece en la red global privada de AWS y no atraviesa la Internet pública.

**Topics**
+ [

## Direcciones IPv4 privadas
](#concepts-private-addresses)
+ [

## Direcciones IPv4 públicas
](#concepts-public-addresses)
+ [

## Optimización de las direcciones IPv4 públicas
](#concepts-public-ip-address-opt)
+ [

## Direcciones IPv6
](#ipv6-addressing)
+ [

## Varias direcciones IP
](#multiple-ip-addresses)
+ [

## Nombres de host de instancias de EC2
](#amazon-dns)
+ [

## Direcciones de enlace local
](#link-local-addresses)
+ [

# Administración de las direcciones IPv4 de las instancias de EC2
](working-with-ip-addresses.md)
+ [

# Administración de las direcciones IPv6 de las instancias de EC2
](working-with-ipv6-addresses.md)
+ [

# Direcciones IP secundarias para sus instancias de EC2
](instance-secondary-ip-addresses.md)
+ [

# Configuración de direcciones IPv4 privadas secundarias para instancias de Windows
](config-windows-multiple-ip.md)

## Direcciones IPv4 privadas
<a name="concepts-private-addresses"></a>

Una dirección IPv4 privada es una dirección IP a la que no se puede obtener acceso desde Internet. Las direcciones IPv4 privadas se usan para la comunicación entre las instancias de una misma VPC. Para obtener más información acerca de los estándares y las especificaciones de las direcciones IPv4 privadas, consulte [RFC 1918](http://www.faqs.org/rfcs/rfc1918.html). Asignamos direcciones IPv4 privadas a las instancias mediante DHCP.

**nota**  
Puede crear una VPC con un bloque de CIDR direccionable públicamente externo a los intervalos de direcciones IPv4 privadas especificadas en RFC 1918. Sin embargo, para esta documentación, las direcciones IP privadas IPv4 (o "direcciones IP privadas") son aquellas que se encuentran en el intervalo de CIDR IPv4 de su VPC.

Las subredes de VPC pueden ser de uno de los siguientes tipos:
+ Subredes solo IPv4: solo puede crear recursos en estas subredes con direcciones IPv4 asignadas a ellas.
+ Subredes solo IPv6: solo puede crear recursos en estas subredes con direcciones IPv6 asignadas a ellas.
+ Subredes IPv4 e IPv6: puede crear recursos en estas subredes con direcciones IPv4 o IPv6 asignadas a ellas.

Al iniciar una instancia de EC2 en una subred de solo IPv4 o de doble pila (IPv4 e IPv6), la instancia recibe una dirección IP privada principal del rango de direcciones IPv4 de la subred. Para obtener más información, consulte [dirección IP](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html) en la *Guía del usuario de Amazon VPC*. Si no especifica ninguna dirección IP privada principal al iniciar la instancia, se seleccionará una dirección IP disponible en el intervalo IPv4 de la subred en su nombre. Todas las instancias tienen una interfaz de red predeterminada (índice 0) a la que se asigna la dirección IPv4 privada principal. También es posible especificar direcciones IPv4 privadas adicionales, conocidas como *direcciones IPv4 privadas secundarias*. A diferencia de las direcciones IP privadas principales, es posible volver a asignar direcciones IP privadas secundarias de una instancia a otra. Para obtener más información, consulte [Varias direcciones IP](#multiple-ip-addresses). 

Una dirección IPv4 privada, independientemente de si es una dirección principal o secundaria, permanece asociada a la interfaz de red cuando se detiene y reinicia o se hiberna y se reinicia la instancia, y se libera cuando finaliza la instancia.

## Direcciones IPv4 públicas
<a name="concepts-public-addresses"></a>

Una dirección IP pública es una dirección IPv4 a la que se puede tener acceso desde Internet. Las direcciones públicas se usan para la comunicación entre sus instancias e Internet.

Cuando se inicia una instancia en una VPC predeterminada, recibe una dirección IP pública de forma predeterminada. Cuando se inicia una instancia en una VPC no predeterminada, la subred tiene un atributo que determina si las instancias iniciadas en esa subred reciben una dirección IP pública del grupo de direcciones IPv4 públicas. De forma predeterminada, las instancias iniciadas en una subred no predeterminada no reciben ninguna dirección IP pública.

Para controlar si una instancia recibe una dirección IP pública como se indica a continuación:
+ **Modifique el atributo de direcciones IP públicas de la subred.** Para obtener más información, consulte [Modificación del atributo de direcciones IPv4 públicas de su subred](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html) en la *Guía del usuario de Amazon VPC*.
+ **Habilite o deshabilite la característica de direcciones IP públicas durante el lanzamiento.** Esto anulará el atributo de direcciones IP públicas de la subred. Para obtener más información, consulte [Asignación de una dirección IPv4 pública durante el lanzamiento](working-with-ip-addresses.md#public-ip-addresses).
+ **Anule la asignación de una dirección IP pública a la instancia después del lanzamiento.** Para obtener más información, consulte [Administración de las direcciones IP de la interfaz de red](managing-network-interface-ip-addresses.md).

La dirección IP pública se asigna a su instancia de entre el grupo de direcciones IPv4 públicas de Amazon y no se asocia con su cuenta de AWS. Cuando se desvincula una dirección IP pública de su instancia, esta se libera de nuevo al grupo de direcciones IPv4 públicas y usted deja de poderlas utilizar.

En los siguientes casos, la dirección IP pública se libera de la instancia y se asigna una nueva: 
+ La dirección IP pública se libera cuando una instancia se detiene, se hiberna o se finaliza. Cuando se inicia una instancia detenida o hibernada, se asigna una dirección IP pública nueva.
+ La dirección IP pública se libera cuando asocia una dirección IP elástica a la instancia. Cuando se desvincula una dirección IP elástica de la instancia, se asigna una dirección IP pública nueva.
+ Si se libera la dirección IP pública de una instancia y esta tiene una interfaz de red secundaria, no se asigna una dirección IP pública nueva.
+ Si se libera la dirección IP pública de una instancia y esta tiene una dirección IP privada secundaria asociada a una dirección IP elástica, no se asigna una dirección IP pública nueva.

Si necesita una dirección IP pública persistente que se pueda asociar a instancias o desde instancias según sus necesidades, utilice una dirección IP elástica.

Si utiliza un DNS dinámico para asignar un nombre de DNS ya existente a la dirección IP pública de una instancia nueva, es posible que la dirección IP tarde hasta 24 horas en propagarse por Internet. A consecuencia de ello, es posible que las instancias nuevas no reciban tráfico, mientras que las instancias finalizadas sigan recibiendo solicitudes. Para solucionar este problema, use una dirección IP elástica. Puede asignar su propia dirección IP elástica y asociarla a su instancia. Para obtener más información, consulte [Direcciones IP elásticas](elastic-ip-addresses-eip.md).

Si utiliza el administrador de direcciones IP (IPAM) de Amazon VPC, puede obtener un bloque contiguo de direcciones IPv4 públicas de AWS y utilizarlo para asignar direcciones IP elásticas a los recursos de AWS. El uso de bloques de direcciones IPv4 contiguos puede reducir considerablemente la sobrecarga de administración de las listas de control de acceso de seguridad y simplificar la asignación y el seguimiento de las direcciones IP para las empresas que van escalando en AWS. Para obtener más información, consulte [Asignación de direcciones IP elásticas secuenciales de un grupo del IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) en la *Guía del usuario del Administrador de direcciones IP de Amazon VPC*.

**Consideraciones**
+ AWS cobra por todas las direcciones IPv4 públicas, incluidas las direcciones IPv4 públicas asociadas a las instancias en ejecución y las direcciones IP elásticas. Para obtener más información, consulte la pestaña **Dirección IPv4 pública** en la [página Precios de Amazon VPC](https://aws.amazon.com/vpc/pricing/).
+ Las instancias que obtienen acceso a otras instancias a través de sus direcciones IP de NAT públicas pagan por transferencias de datos regionales o de Internet, en función de si las instancias se encuentran en la misma región.

## Optimización de las direcciones IPv4 públicas
<a name="concepts-public-ip-address-opt"></a>

AWS cobra por todas las direcciones IPv4 públicas, incluidas las direcciones IPv4 públicas asociadas a las instancias en ejecución y las direcciones IP elásticas. Para obtener más información, consulte la pestaña **Dirección IPv4 pública** en la [página Precios de Amazon VPC](https://aws.amazon.com/vpc/pricing/).

La siguiente lista contiene las medidas que puede tomar para optimizar la cantidad de direcciones IPv4 públicas que utiliza:
+ Use un [equilibrador de carga elástico](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/load-balancer-getting-started.html) para equilibrar la carga del tráfico a sus instancias de EC2 y [desactive la opción **Asignar IP pública automáticamente** en la ENI principal asignada a las instancias](managing-network-interface-ip-addresses.md). Los equilibradores de carga usan una dirección IPv4 pública única, por lo que se reduce la cantidad de direcciones IPv4 públicas. También le recomendamos consolidar los equilibradores de carga existentes para reducir aún más el número de direcciones IPv4 públicas. 
+ Si el único motivo para utilizar una puerta de enlace NAT es utilizar SSH en una instancia de EC2 de una subred privada por motivos de mantenimiento o de emergencia, considere la posibilidad de utilizar el [punto de conexión a instancia de EC2](connect-using-eice.md) en su lugar. Con el punto de conexión a instancia de EC2, puede conectarse a una instancia por Internet sin necesidad de que la instancia tenga una dirección IPv4 pública.
+ Si sus instancias de EC2 se encuentran en una subred pública con direcciones IP públicas asignadas, considere trasladar las instancias a una subred privada, eliminar las direcciones IP públicas y utilizar una [puerta de enlace NAT pública](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) para permitir el acceso a las instancias de EC2 y desde estas. Tenga en cuenta que el uso de puertas de enlace NAT conlleva un costo. Utilice este método de cálculo para decidir si las puertas de enlace NAT son redituables. Para obtener el `Number of public IPv4 addresses` necesario para este cálculo, [cree un informe de facturación, costos y uso de AWS](https://aws.amazon.com/blogs/networking-and-content-delivery/identify-and-optimize-public-ipv4-address-usage-on-aws/).

  ```
  NAT gateway per hour + NAT gateway public IPs + NAT gateway transfer / Existing public IP cost
  ```

  Donde:
  + `NAT gateway per hour = $0.045 * 730 hours in a month * Number of Availability Zones the NAT gateways are in`
  + `NAT gateway public IPs = $0.005 * 730 hours in a month * Number of IPs associated with your NAT gateways`
  + `NAT gateway transfer = $0.045 * Number of GBs that will go through the NAT gateway in a month`
  + `Existing public IP cost = $0.005 * 730 hours in a month * Number of public IPv4 addresses`

  Si el total es inferior a 1, las puertas de enlace NAT son más baratas que las direcciones IPv4 públicas.
+ Use [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html) para conectarse de forma privada a los servicios de AWS o a servicios alojados en otras cuentas de AWS, en lugar de utilizar direcciones IPv4 públicas y puertas de enlace de Internet.
+ [Incorpore su propio rango de direcciones IP (BYOIP) en AWS](ec2-byoip.md) y úselo para las direcciones IPv4 públicas en lugar de usar direcciones IPv4 públicas propiedad de Amazon.
+ Desactive la opción de [asignación automática de direcciones IPv4 públicas para las instancias iniciadas en subredes](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html). Esta opción suele estar desactivada de forma predeterminada para las VPC cuando crea una subred, pero debe comprobar las subredes existentes para asegurarse de que esté desactivada.
+ Si tiene instancias EC2 que no necesitan direcciones IPv4 públicas, [ compruebe que las interfaces de red conectadas a sus instancias tengan desactivada la opción **Asignar IP pública automáticamente**.](managing-network-interface-ip-addresses.md)
+ [Configure los puntos de conexión aceleradores en AWS Global Accelerator](https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints.html) para las instancias de EC2 que estén en subredes privadas a fin de permitir que el tráfico de Internet fluya directamente hacia los puntos de conexión de sus VPC sin requerir direcciones IP públicas. También puede [incorporar sus propias direcciones en AWS Global Accelerator](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) y usar sus propias direcciones IPv4 para las direcciones IP estáticas de su acelerador.

## Direcciones IPv6
<a name="ipv6-addressing"></a>

Las direcciones de IPv6 son únicas a nivel global y se pueden configurar para que sigan siendo privadas o para que estén disponibles en Internet. Las direcciones IPv6 públicas y privadas están disponibles en AWS:
+ **Direcciones IPv6 privadas**: AWS considera que las direcciones IPv6 privadas son aquellas que no se anuncian ni se pueden anunciar en Internet desde AWS.
+ **Direcciones IPv6 públicas**: AWS considera que las direcciones IPv6 públicas son aquellas que se anuncian en Internet desde AWS.

Para más información sobre el direccionamiento IPv6 privado y público, consulte [Direcciones IPv6](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#vpc-ipv6-addresses) en la *Guía del usuario de Amazon VPC*.

Todos los tipos de instancia admiten direcciones IPv6, excepto C1, M1, M2, M3 y T1.

Sus instancias de EC2 recibirán una dirección IPv6 si hay un bloque de CIDR IPv6 asociado a la VPC y la subred, y si se cumple alguna de las condiciones siguientes:
+ La subred está configurada para asignar automáticamente una dirección IPv6 a una instancia durante la inicialización. Para obtener más información, consulte [Modificación de los atributos de las direcciones IP de sus subredes](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html).
+ Asigna una dirección IPv6 a su instancia durante la inicialización.
+ Asigna una dirección IPv6 a la interfaz de red principal de su instancia después de la inicialización.
+ Asigna una dirección IPv6 a una interfaz de red de la misma subred y conecta la interfaz de red a la instancia tras la inicialización. 

Cuando la instancia recibe una dirección IPv6 durante la inicialización, la dirección se asocia a la interfaz de red principal (índice 0) de la instancia. Puede administrar las direcciones IPv6 de la interfaz de red principal de la instancia de las siguientes maneras:
+ Asignación y anulación de la asignación de una dirección IPv6 a una interfaz de red. El número de direcciones IPv6 que puede asignar a una interfaz de red, así como el número de interfaces de red que puede conectar a una instancia varía según el tipo de instancia. Para obtener más información, consulte [Cantidad máxima de direcciones IP por interfaz de red](AvailableIpPerENI.md).
+ Habilite una dirección IPv6 principal. La asignación de una dirección IPv6 principal le permite evitar interrumpir el tráfico a las instancias o ENI. Para obtener más información, consulte [Creación de una interfaz de red para su instancia de EC2](create-network-interface.md) o [Administración de las direcciones IP de la interfaz de red](managing-network-interface-ip-addresses.md). 

Tenga en cuenta que la dirección IPv6 persiste al detener e iniciar, o hibernar e iniciar la instancia. Asimismo, se libera al finalizar la instancia. No puede volver a asignar la dirección IPv6 mientras esté asignada a otra interfaz de red. Primero debe desasignarla.

Es posible controlar si las instancias están disponibles a través de sus direcciones IPv6 controlando el direccionamiento de su subred, o bien utilizando un grupo de seguridad y reglas de ACL de red. Para obtener más información, consulte [Privacidad del tráfico entre redes](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) en la *Guía de usuario de Amazon VPC*. 

Para obtener más información acerca de los rangos de direcciones IPv6 reservados, consulte [IANA IPv6 Special-Purpose Address Registry](http://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml) y [RFC4291](https://tools.ietf.org/html/rfc4291).

## Varias direcciones IP
<a name="multiple-ip-addresses"></a>

Puede especificar varias direcciones IPv4 e IPv6 privadas para las instancias. El número de interfaces de red y de direcciones IPv4 e IPv6 privadas que puede especificar para una instancia depende del tipo de instancia. Para obtener más información, consulte [Cantidad máxima de direcciones IP por interfaz de red](AvailableIpPerENI.md).

**Casos de uso**
+ Alojar varios sitios web en un único servidor utilizando varios certificados SSL en un único servidor y asociando cada certificado a una dirección IP específica.
+ Tratar dispositivos de red, como firewalls o balanceadores de carga, que tienen varias direcciones IP para cada interfaz de red. 
+ Redirigir el tráfico interno a una instancia en espera en el caso de que su instancia dé un error, reasignando la dirección IP secundaria a la instancia en espera. 

**Cómo funcionan varias direcciones IP**
+ Puede asignar una dirección IPv4 privada secundaria a cualquier interfaz de red.
+ Puede asignar varias direcciones IPv6 a una interfaz de red que esté en una subred que tenga un bloque de CIDR IPv6 asociado.
+ Debe elegir una dirección IPv4 secundaria de entre el intervalo del bloque de CIDR IPv4 de la subred para la interfaz de red.
+ Debe elegir las direcciones IPv6 de entre el intervalo del bloque de CIDR IPv6 de la subred para la interfaz de red.
+ Asocie los grupos de seguridad con las interfaces de red, no con direcciones IP individuales. Por lo tanto, cada dirección IP que especifique en una interfaz de red estará sujeta al grupo de seguridad de su interfaz de red.
+ Se pueden asignar varias direcciones IP a interfaces de red adjuntadas a instancias en ejecución o detenidas, y también se puede anular su asignación.
+ Las direcciones IPv4 privadas secundarias asignadas a una interfaz de red se pueden volver a asignar a otra instancia si usted lo permite explícitamente.
+ Una dirección IPv6 no se puede volver a asignar a otra interfaz de red; primero debe anular la asignación de la dirección IPv6 de la interfaz de red existente.
+ Si asigna varias direcciones IP a una interfaz de red mediante las herramientas de línea de comandos o la API, toda la operación fracasará si una de las direcciones IP no se puede asignar.
+ Las direcciones IPv4 privadas principales y secundarias, las direcciones IP elásticas y las direcciones IPv6 se quedarán en la interfaz de red cuando esta se desconecte de una instancia o cuando se conecte a otra instancia.
+ Aunque no puede desconectar la interfaz de red principal desde una instancia, puede volver a asignar la dirección IPv4 privada secundaria de la interfaz de red principal a otra interfaz de red.

Para obtener más información, consulte [Direcciones IP secundarias para sus instancias de EC2](instance-secondary-ip-addresses.md).

## Nombres de host de instancias de EC2
<a name="amazon-dns"></a>

Al crear una instancia de EC2, AWS crea un nombre de host para esa instancia. Para obtener más información sobre los tipos de nombres de host y cómo los aprovisiona AWS, consulte [Nombres de host y dominios de instancias de EC2](ec2-instance-naming.md). Amazon proporciona un servidor DNS que resuelve los nombres de host proporcionados por Amazon en direcciones IPv4 e IPv6. El servidor DNS de Amazon se encuentra en la base del rango de red de su VPC más dos. Para obtener más información, consulte [Atributos de DNS para su VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html) en la *Guía del usuario de Amazon VPC*.

## Direcciones de enlace local
<a name="link-local-addresses"></a>

Las direcciones de enlace local son direcciones IP conocidas y no enrutables. Amazon EC2 usa direcciones del espacio de direcciones de enlace local para ofrecer servicios a los que solo se puede acceder desde una instancia de EC2. Estos servicios no se ejecutan en la instancia, sino en el host subyacente. Cuando accede a las direcciones de enlace local de estos servicios, se comunica con el hipervisor Xen o con el controlador Nitro.

**Rangos de direcciones de enlace local**
+ IPv4: 169.254.0.0/16 (de 169.254.0.0 a 169.254.255.255)
+ IPv6: fe80::/10

**Servicios a los que se accede mediante direcciones de enlace local**
+ [Servicio de metadatos de instancias](instancedata-data-retrieval.md)
+ [Amazon Route 53 Resolver](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#AmazonDNS) (también conocido como servidor DNS de Amazon)
+ [Servicio de sincronización temporal de Amazon](set-time.md)
+ [AWS Servidores KMS de](common-messages.md#activate-windows)

# Administración de las direcciones IPv4 de las instancias de EC2
<a name="working-with-ip-addresses"></a>

Puede asignar una dirección IPv4 pública a su instancia cuando la lance. Puede ver las direcciones IPv4 de su instancia en la consola a través de la página **Instancias** o la página **Interfaces de red**.

**Topics**
+ [

## Asignación de una dirección IPv4 pública durante el lanzamiento
](#public-ip-addresses)
+ [

## Asignación de una dirección IPv4 privada durante el lanzamiento
](#assign-private-ipv4-address)
+ [

## Visualización de la dirección IPv4 principal
](#view-instance-ipv4-addresses)
+ [

## Visualización de las direcciones IPv4 mediante metadatos de instancia
](#view-instance-ipv4-addresses-imds)

## Asignación de una dirección IPv4 pública durante el lanzamiento
<a name="public-ip-addresses"></a>

Todas las subredes tienen un atributo que determina si se asigna una dirección IP pública a las instancias iniciadas en dichas subredes. De forma predeterminada, las subredes no predeterminadas tienen este atributo configurado como false, mientras que todas las subredes predeterminadas tienen este atributo configurado como true. Cuando inicia una instancia, también tiene a su disposición una característica de dirección IPv4 pública para que pueda controlar si se asigna a su instancia una dirección IPv4 pública; puede anular el comportamiento predeterminado del atributo de dirección IP de la subred. La dirección IPv4 pública se asigna de entre el grupo de direcciones IPv4 públicas de Amazon; se asigna a la interfaz de red con el índice de dispositivo 0. Esta característica depende de determinadas condiciones que se puedan dar en el momento en que se inicia la instancia. 

**Consideraciones**
+ Para anular la asignación de la dirección IP pública desde la instancia tras iniciarla, [administre las direcciones IP asociadas a una interfaz de red](managing-network-interface-ip-addresses.md). Para obtener más información acerca de las direcciones IPv4 públicas, consulte [Direcciones IPv4 públicas](using-instance-addressing.md#concepts-public-addresses).
+ No puede asignar automáticamente una dirección IP pública si especifica más de una interfaz de red. Además, no puede anular la configuración de la subred con la característica de asignación automática de IP pública si especifica una interfaz de red existente para el índice de dispositivo 0.
+ Independientemente de si asigna una dirección IP pública a su instancia durante la inicialización o no, puede asociar una dirección IP elástica a su instancia luego de iniciarla. Para obtener más información, consulte [Direcciones IP elásticas](elastic-ip-addresses-eip.md). También puede modificar el comportamiento de las direcciones IPv4 públicas de su subred. Para obtener más información, consulte [Modificación del atributo de direcciones IPv4 públicas de su subred](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html).

------
#### [ Console ]

**Asignación de una dirección IPv4 pública durante el lanzamiento**  
Siga el procedimiento para [iniciar una instancia](ec2-launch-instance-wizard.md) y, cuando defina la configuración en [Configuración de red](ec2-instance-launch-parameters.md#liw-network-settings), elija la opción **Asignar automáticamente IP pública**.

------
#### [ AWS CLI ]

**Asignación de una dirección IPv4 pública durante el lanzamiento**  
Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) con la opción `--associate-public-ip-address`.

```
--associate-public-ip-address
```

------
#### [ PowerShell ]

**Asignación de una dirección IPv4 pública durante el lanzamiento**  
Utilice el cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) con el parámetro `-AssociatePublicIp`.

```
-AssociatePublicIp $true
```

------

## Asignación de una dirección IPv4 privada durante el lanzamiento
<a name="assign-private-ipv4-address"></a>

Puede especificar una dirección IPv4 privada del rango de direcciones IPv4 de la subred o dejar que Amazon EC2 elija una por usted. Esta dirección se asigna a la interfaz de red principal.

Para asignar direcciones IPv4 después del lanzamiento, consulte [Asignación de direcciones IP secundarias a una instancia](instance-secondary-ip-addresses.md#assign-secondary-ip-address).

------
#### [ Console ]

**Asignación de una dirección IPv4 privada durante el lanzamiento**  
Siga el procedimiento para [Iniciar una instancia](ec2-launch-instance-wizard.md). Al establecer [Configuración de red](ec2-instance-launch-parameters.md#liw-network-settings), expanda **Configuración de red avanzada** y especifique un valor para **IP principal**.

------
#### [ AWS CLI ]

**Asignación de una dirección IPv4 privada durante el lanzamiento**  
Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) con la opción `--private-ip-address`.

```
--private-ip-addresses 10.251.50.12
```

Para permitir que Amazon EC2 elija la dirección IP, omita esta opción.

------
#### [ PowerShell ]

**Asignación de una dirección IPv4 privada durante el lanzamiento**  
Utilice el cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) con el parámetro `-PrivateIpAddress`.

```
-PrivateIpAddress 10.251.50.12
```

Para permitir que Amazon EC2 elija la dirección IP, omita este parámetro.

------

## Visualización de la dirección IPv4 principal
<a name="view-instance-ipv4-addresses"></a>

La dirección IPv4 pública se muestra como propiedad de la interfaz de red en la consola, aunque se asigna a la dirección IPv4 privada principal mediante NAT. Por lo tanto, si consulta las propiedades de su interfaz de red en su instancia como, por ejemplo, mediante `ifconfig` (Linux) o `ipconfig` (Windows), verá que no se muestra la dirección IPv4 pública.

------
#### [ Console ]

**Visualización de las direcciones IPv4 de una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instancias**.

1. Seleccione la instancia.

1. En la pestaña **Redes**, busque **Dirección IPv4 pública** y **Direcciones IPv4 privadas**. 

1. (Opcional) La pestaña **Redes** también contiene las interfaces de red y las direcciones IP elásticas de la instancia.

------
#### [ AWS CLI ]

**Visualización de la dirección IPv4 principal de una instancia**  
Utilice el comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[].Instances[].PrivateIpAddress" \
    --output text
```

A continuación, se muestra un ejemplo del resultado.

```
10.251.50.12
```

------
#### [ PowerShell ]

**Visualización de la dirección IPv4 principal de una instancia**  
Utilice el cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance `
    -InstanceId i-1234567890abcdef0).Instances.PrivateIpAddress
```

A continuación, se muestra un ejemplo del resultado.

```
10.251.50.12
```

------

## Visualización de las direcciones IPv4 mediante metadatos de instancia
<a name="view-instance-ipv4-addresses-imds"></a>

Para obtener las direcciones IPv4 de la instancia, puede recuperar los metadatos de la instancia. Para obtener más información, consulte [Uso de los metadatos de la instancia para administrar su instancia de EC2](ec2-instance-metadata.md).

**Visualización de las direcciones IPv4 mediante metadatos de instancia**

1. Conéctese a la instancia. Para obtener más información, consulte [Conexión con instancias EC2](connect.md).

1. Ejecute uno de los siguientes comandos.

------
#### [ IMDSv2 ]

**Linux**  
Ejecute el siguiente comando en la instancia de Linux.

   ```
   TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
   && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/local-ipv4
   ```

**Windows**  
Ejecute el siguiente comando en la instancia de Windows.

   ```
   [string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
       -Method PUT -Uri http://169.254.169.254/latest/api/token
   ```

   ```
   Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} `
       -Method GET -Uri http://169.254.169.254/latest/meta-data/local-ipv4
   ```

------
#### [ IMDSv1 ]

**Linux**  
Ejecute el siguiente comando en la instancia de Linux.

   ```
   curl http://169.254.169.254/latest/meta-data/local-ipv4
   ```

**Windows**  
Ejecute el siguiente comando en la instancia de Windows.

   ```
   Invoke-RestMethod http://169.254.169.254/latest/meta-data/local-ipv4
   ```

------

1. Utilice uno de los siguientes comandos para obtener acceso a la dirección IP pública. Si hay asociada a la instancia una dirección IP elástica, el comando devuelve la dirección IP elástica.

------
#### [ IMDSv2 ]

**Linux**  
Ejecute el siguiente comando en la instancia de Linux.

   ```
   [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
   && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/public-ipv4
   ```

**Windows**  
Ejecute el siguiente comando en la instancia de Windows.

   ```
   [string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
       -Method PUT -Uri http://169.254.169.254/latest/api/token
   ```

   ```
   Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} `
       -Method GET -Uri http://169.254.169.254/latest/meta-data/public-ipv4
   ```

------
#### [ IMDSv1 ]

**Linux**  
Ejecute el siguiente comando en la instancia de Linux.

   ```
   curl http://169.254.169.254/latest/meta-data/public-ipv4
   ```

**Windows**  
Ejecute el siguiente comando en la instancia de Windows.

   ```
   Invoke-RestMethod http://169.254.169.254/latest/meta-data/public-ipv4
   ```

------

# Administración de las direcciones IPv6 de las instancias de EC2
<a name="working-with-ipv6-addresses"></a>

Si su VPC y las subredes tienen bloques de CIDR IPv6 asociados, puede asignar una dirección IPv6 a su instancia durante la inicialización o después de este. Puede acceder a las direcciones IPv6 de las instancias en la consola en la página **Instancias** o la página **Interfaces de red**. Las siguientes tareas configuran las direcciones IP de las instancias. Para configurar las direcciones IP de las interfaces de red como alternativa, consulte [Administración de las direcciones IP de la interfaz de red](managing-network-interface-ip-addresses.md).

**Topics**
+ [

## Asignar una dirección IPv6 a una instancia
](#assign-ipv6-address)
+ [

## Visualización de las direcciones IPv6 de una instancia
](#view-ipv6-addresses)
+ [

## Visualización de las direcciones IPv6 mediante metadatos de instancia
](#view-ipv6-addresses-imds)
+ [

## Anular la asignación de una dirección IPv6 de una instancia
](#unassign-ipv6-address)

## Asignar una dirección IPv6 a una instancia
<a name="assign-ipv6-address"></a>

Puede especificar una dirección IPv6 del rango de direcciones IPv6 de la subred o dejar que Amazon EC2 elija una en su nombre. Esta dirección se asigna a la interfaz de red principal. Tenga en cuenta que los siguientes tipos de instancias no admiten direcciones IPv6: C1, M1, M2, M3 y T1.

------
#### [ Console ]

**Asignación de una dirección IPv6 durante el lanzamiento**  
Siga el procedimiento para [Iniciar una instancia](ec2-launch-instance-wizard.md). Al configurar los [Ajustes de red](ec2-instance-launch-parameters.md#liw-network-settings), elija la opción de **Asignar automáticamente la IP de IPv6**. Si no ve esta opción, la subred seleccionada no tiene asociado ningún bloque de CIDR IPv6.

**Para asignar una dirección IPv6 después de la inicialización**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione su instancia y elija **Acciones**, **Redes**, **Administrar direcciones IP**.

1. Amplíe la interfaz de red. En **Direcciones IP IPv6**, elija **Asignar nueva dirección IP**. 

1. Escriba una dirección IPv6 del rango de la subred o deje el campo en blanco para permitir que Amazon EC2 elija una dirección IPv6 automáticamente. Si no ve esta opción, la subred de la instancia no tiene asociado ningún bloque de CIDR IPv6.

1. Seleccione **Save**.

------
#### [ AWS CLI ]

**Asignación de una dirección IPv6 durante el lanzamiento**  
Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) con la opción `--ipv6-addresses`. En el siguiente ejemplo, se asignan dos direcciones IPv6.

```
--ipv6-addresses Ipv6Address=2001:db8::1234:5678:1.2.3.4 Ipv6Address=2001:db8::1234:5678:5.6.7.8
```

Para permitir que Amazon EC2 elija las direcciones IPv6, utilice la opción `--ipv6-address-count` en su lugar. En el siguiente ejemplo, se asignan dos direcciones IPv6.

```
--ipv6-address-count 2
```

**Para asignar una dirección IPv6 después de la inicialización**  
Utilice el comando [assign-ipv6-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-ipv6-addresses.html). En el siguiente ejemplo, se asignan dos direcciones IPv6.

```
aws ec2 assign-ipv6-addresses \ 
    --network-interface-id eni-1234567890abcdef0 \
    --ipv6-addresses 2001:db8::1234:5678:1.2.3.4 2001:db8::1234:5678:5.6.7.8
```

Para permitir que Amazon EC2 elija las direcciones IPv6, utilice la opción `--ipv6-address-count` en su lugar. En el siguiente ejemplo, se asignan dos direcciones IPv6.

```
aws ec2 assign-ipv6-addresses \
    --network-interface-id eni-1234567890abcdef0 \
    --ipv6-address-count 2
```

------
#### [ PowerShell ]

**Asignación de una dirección IPv6 durante el lanzamiento**  
Utilice el cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) con el parámetro `-Ipv6Address`. En el siguiente ejemplo, se asignan dos direcciones IPv6.

```
-Ipv6Address $ipv6addr1,$ipv6addr2
```

Defina las direcciones IPv6 de la siguiente manera.

```
$ipv6addr1 = New-Object Amazon.EC2.Model.InstanceIpv6Address
$ipv6addr1.Ipv6Address = "2001:db8::1234:5678:1.2.3.4"
$ipv6addr2 = New-Object Amazon.EC2.Model.InstanceIpv6Address
$ipv6addr2.Ipv6Address = "2001:db8::1234:5678:5.6.7.8"
```

Para permitir que Amazon EC2 elija las direcciones IPv6, utilice el parámetro `-Ipv6AddressCount` en su lugar. En el siguiente ejemplo, se asignan dos direcciones IPv6.

```
-Ipv6AddressCount 2
```

**Para asignar una dirección IPv6 después de la inicialización**  
Utilice el cmdlet [Register-EC2Ipv6AddressList](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Ipv6AddressList.html). En el siguiente ejemplo, se asignan dos direcciones IPv6.

```
Register-EC2Ipv6AddressList `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Ipv6Address "2001:db8::1234:5678:1.2.3.4","2001:db8::1234:5678:5.6.7.8"
```

Para permitir que Amazon EC2 elija las direcciones IPv6, utilice el parámetro `-Ipv6AddressCount` en su lugar. En el siguiente ejemplo, se asignan dos direcciones IPv6.

```
Register-EC2Ipv6AddressList `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Ipv6AddressCount 2
```

------

## Visualización de las direcciones IPv6 de una instancia
<a name="view-ipv6-addresses"></a>

Puede ver las direcciones IPv6 de sus instancias.

------
#### [ Console ]

**Visualización de las direcciones IPv6 de una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instancias**.

1. Seleccione la instancia.

1. En la pestaña **Redes**, localice **Direcciones IPv6**.

------
#### [ AWS CLI ]

**Visualización de la dirección IPv6 de una instancia**  
Utilice el comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[*].Instances[].Ipv6Address" \
    --output text
```

A continuación, se muestra un ejemplo del resultado.

```
2001:db8::1234:5678:1.2.3.4
```

------
#### [ PowerShell ]

**Visualización de la dirección IPv6 de una instancia**  
Utilice el cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance `
    -InstanceId i-1234567890abcdef0).Instances.Ipv6Address
```

A continuación, se muestra un ejemplo del resultado.

```
2001:db8::1234:5678:1.2.3.4
```

------

## Visualización de las direcciones IPv6 mediante metadatos de instancia
<a name="view-ipv6-addresses-imds"></a>

Después de conectarse a la instancia, puede recuperar las direcciones IPv6 mediante los metadatos de la instancia. En primer lugar, debe obtener la dirección MAC de la instancia de `http://169.254.169.254/latest/meta-data/network/interfaces/macs/`.

------
#### [ IMDSv2 ]

**Linux**  
Ejecute el siguiente comando en la instancia de Linux.

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s
```

**Windows**  
Ejecute los siguientes cmdlets en la instancia de Windows.

```
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} `
    -Method GET -Uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s
```

------
#### [ IMDSv1 ]

**Linux**  
Ejecute el siguiente comando en la instancia de Linux.

```
curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s
```

**Windows**  
Ejecute los siguientes cmdlets en la instancia de Windows.

```
Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s
```

------

## Anular la asignación de una dirección IPv6 de una instancia
<a name="unassign-ipv6-address"></a>

Puede anular la asignación de una dirección IPv6 de una instancia en cualquier momento.

------
#### [ Console ]

**Para anular una dirección IPv6 de una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione su instancia y elija **Acciones**, **Redes**, **Administrar direcciones IP**.

1. Amplíe la interfaz de red. En **Direcciones IPv6**, elija **Desasignar** junto a la dirección IPv6.

1. Seleccione **Save**.

------
#### [ AWS CLI ]

**Para anular una dirección IPv6 de una instancia**  
Utilice el comando [unassign-ipv6-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/unassign-ipv6-addresses.html).

```
aws ec2 unassign-ipv6-addresses \ 
    --network-interface-id eni-1234567890abcdef0 \
    --ipv6-addresses 2001:db8::1234:5678:1.2.3.4
```

------
#### [ PowerShell ]

**Para anular una dirección IPv6 de una instancia**  
Utilice el cmdlet [Unregister-EC2Ipv6AddressList](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2Ipv6AddressList.html).

```
Unregister-EC2Ipv6AddressList `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Ipv6Address 2001:db8::1234:5678:1.2.3.4
```

------

# Direcciones IP secundarias para sus instancias de EC2
<a name="instance-secondary-ip-addresses"></a>

La primera dirección IPv4 asignada a una interfaz de red se conoce como dirección IP principal. Las direcciones IP secundarias son direcciones IPv4 adicionales asignadas a una interfaz de red. Para obtener más información, consulte [Varias direcciones IP](using-instance-addressing.md#multiple-ip-addresses).

Además, puede asignar a la instancia varias direcciones IPv6. Para obtener más información, consulte [Administración de las direcciones IPv6 de las instancias de EC2](working-with-ipv6-addresses.md).

**Topics**
+ [

## Asignación de direcciones IP secundarias a una instancia
](#assign-secondary-ip-address)
+ [

## Configuración del sistema operativo para usar direcciones IP secundarias
](#StepTwoConfigOS)
+ [

## Desasignación de una dirección IP secundaria de una instancia
](#unassign-secondary-ip-address)

## Asignación de direcciones IP secundarias a una instancia
<a name="assign-secondary-ip-address"></a>

Puede asignar direcciones IP secundarias a la interfaz de red para una instancia cuando inicia la instancia o después de que esta esté ejecutándose.

------
#### [ Console ]

**Asignación de una dirección IP secundaria durante el lanzamiento**

1. Siga el procedimiento para [Iniciar una instancia](ec2-launch-instance-wizard.md). Al establecer [Configuración de red](ec2-instance-launch-parameters.md#liw-network-settings), expanda **Configuración de red avanzada**.

1. En **IP secundaria**, elija **Asignar automáticamente** y especifique el número de direcciones IP que quiere que Amazon EC2 asigne. Como alternativa, elija **Asignar manualmente** y especifique las direcciones IPv4.

1. Complete los pasos restantes para iniciar la instancia.

**Asignación de una dirección IP secundaria después del lanzamiento**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione su instancia y elija **Acciones**, **Redes**, **Administrar direcciones IP**.

1. Amplíe la interfaz de red.

1. Para agregar una dirección IPv4, en **Direcciones IPv4**, elija **Asignar nueva dirección IP**. Ingrese una dirección IPv4 del rango de la subred o deje el campo en blanco para que Amazon EC2 elija una automáticamente.

1. Seleccione **Save**.

------
#### [ AWS CLI ]

**Asignación de una dirección IP secundaria durante el lanzamiento**  
Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) con la opción `--secondary-private-ip-addresses`.

```
--secondary-private-ip-addresses 10.251.50.12
```

Para permitir que Amazon EC2 elija la dirección IP, utilice la opción `--secondary-private-ip-address-count` en su lugar. En el siguiente ejemplo se asigna una dirección IP secundaria.

```
--secondary-private-ip-address-count 1
```

De manera alternativa, puede crear una interfaz de red. Para obtener más información, consulte [Creación de una interfaz de red para su instancia de EC2](create-network-interface.md).

**Asignación de una dirección IP secundaria después del lanzamiento**  
Utilice el comando [assign-private-ip-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-private-ip-addresses.html) con la opción `--private-ip-addresses`.

```
aws ec2 assign-private-ip-addresses \
    --network-interface-ids eni-1234567890abcdef0 \
    --private-ip-addresses 10.251.50.12
```

Para permitir que Amazon EC2 elija la dirección IPv4, utilice el parámetro `--secondary-private-ip-address-count` en su lugar. En el siguiente ejemplo, se asignan dos direcciones IPv4.

```
aws ec2 assign-private-ip-addresses \
    --network-interface-ids eni-1234567890abcdef0 \
    --secondary-private-ip-address-count 1
```

------
#### [ PowerShell ]

**Asignación de una dirección IP secundaria durante el lanzamiento**  
Debe crear una interfaz de red. Para obtener más información, consulte [Creación de una interfaz de red para su instancia de EC2](create-network-interface.md).

**Asignación de una dirección IP secundaria después del lanzamiento**  
Utilice el cmdlet [Register-EC2PrivateIpAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2PrivateIpAddress.html) con el parámetro `-PrivateIpAddress`.

```
Register-EC2PrivateIpAddress `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -PrivateIpAddress 10.251.50.12
```

Para permitir que Amazon EC2 elija las direcciones IPv4, utilice el parámetro `-SecondaryPrivateIpAddressCount` en su lugar. En el siguiente ejemplo, se asignan dos direcciones IPv4.

```
Register-EC2PrivateIpAddress `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -SecondaryPrivateIpAddressCount 1
```

------

## Configuración del sistema operativo para usar direcciones IP secundarias
<a name="StepTwoConfigOS"></a>

Después de asignar una dirección IP secundaria a su instancia, tiene que configurar el sistema operativo de su instancia para reconocer la dirección IPv4 privada adicional.

**Instancias de Linux**
+ Si utiliza Amazon Linux, el paquete ec2-net-utils puede ejecutar este paso en su lugar. Configura las interfaces de red adicionales que adjunta mientras la instancia se ejecuta, actualiza las direcciones IPv4 secundarias durante la renovación de la concesión DHCP y actualiza las reglas de enrutamiento relacionadas. Puede actualizar inmediatamente la lista de interfaces con uno de los siguientes comandos, en función de su sistema: `sudo systemctl restart systemd-networkd` (AL2023) o `sudo service network restart` (Amazon Linux 2). Puede ver la lista actualizada con el siguiente comando: `ip addr li`. Si necesita tener un control manual de la configuración de la red, puede eliminar el paquete ec2-net-utils. Para obtener más información, consulte [Configure your network interface using ec2-net-utils](https://docs.aws.amazon.com/linux/al2/ug/ec2-net-utils.html).
+ Si utiliza otra distribución de Linux, consulte la documentación sobre la distribución de Linux. Busque información sobre cómo configurar interfaces de red adicionales y direcciones IPv4 secundarias. Si la instancia tiene dos o varias interfaces en la misma subred, busque información sobre cómo usar reglas de enrutamiento para evitar el enrutamiento asimétrico.

**instancias de Windows**  
Para obtener más información, consulte [Configuración de direcciones IPv4 privadas secundarias para instancias de Windows](config-windows-multiple-ip.md).

## Desasignación de una dirección IP secundaria de una instancia
<a name="unassign-secondary-ip-address"></a>

Si ya no necesita una dirección IP secundaria, puede desasignarla de la instancia o de la interfaz de red. Cuando se anula la asignación de una dirección IPv4 privada secundaria de una interfaz de red, también se anula la asociación de la dirección IP elástica (si existe).

------
#### [ Console ]

**Para anular la asignación de una dirección IPv4 privada secundaria de una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione una instancia y elija **Acciones**, **Redes**, **Administrar direcciones IP**.

1. Amplíe la interfaz de red. En **Direcciones IPv4**, elija **Anular la asignación** para la dirección IPv4 cuya asignación va a anular.

1. Seleccione **Save**.

------
#### [ AWS CLI ]

**Desasignación de una dirección IP privada secundaria**  
Utilice el comando [unassign-private-ip-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/unassign-private-ip-addresses.html).

```
aws ec2 unassign-private-ip-addresses \
    --network-interface eni-1234567890abcdef0\
    --private-ip-addresses 10.251.50.12
```

------
#### [ PowerShell ]

**Desasignación de una dirección IP privada secundaria**  
Utilice el cmdlet [Unregister-EC2PrivateIpAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2PrivateIpAddress.html).

```
Unregister-EC2PrivateIpAddress `
    -NetworkInterface eni-1234567890abcdef0 `
    -PrivateIpAddress 10.251.50.12
```

------

# Configuración de direcciones IPv4 privadas secundarias para instancias de Windows
<a name="config-windows-multiple-ip"></a>

Puede especificar varias direcciones IPv4 privadas para las instancias. Después de asignar una dirección IPv4 privada secundaria a una instancia, debe configurar el sistema operativo en la instancia para que reconozca la dirección IPv4 privada secundaria.

**nota**  
Estas instrucciones se basan en Windows Server 2022. La implementación de estos pasos puede variar según el sistema operativo de la instancia de Windows.

**Topics**
+ [

## Requisitos previos
](#prereq-steps)
+ [

## Paso 1: Configurar una dirección IP estática en la instancia
](#step1)
+ [

## Paso 2: Configurar una dirección IP privada secundaria para la instancia
](#step2)
+ [

## Paso 3: Configurar las aplicaciones para que usen la dirección IP privada secundaria
](#step3)

## Requisitos previos
<a name="prereq-steps"></a>
+ Asigne la dirección IPv4 privada secundaria a la interfaz de red para la instancia. Puede asignar la dirección IPv4 privada secundaria cuando inicia la instancia o después de esta esté ejecutándose. Para obtener más información, consulte [Asignación de direcciones IP secundarias a una instancia](instance-secondary-ip-addresses.md#assign-secondary-ip-address).

## Paso 1: Configurar una dirección IP estática en la instancia
<a name="step1"></a>

Para habilitar una instancia de Windows para que use varias direcciones IP, debe configurarla para usar direcciones IP estáticas en lugar de un servidor DHCP.

**importante**  
Cuando configura una dirección IP estática en la instancia, la dirección IP debe coincidir exactamente con lo que se muestra en la consola, la CLI o la API. Si escribe estas direcciones IP de forma incorrecta, la instancia podría no ser alcanzable. 

**Para configurar direcciones IP estáticas en una instancia de Windows**

1. Conéctese a la instancia.

1. Busque la dirección IP, la máscara de subred y las direcciones de puertas de enlace predeterminadas de la instancia siguiendo los pasos siguientes: 

   1. Ejecute el siguiente comando en PowerShell:

     ```
     ipconfig /all
     ```

     Examine el resultado que obtenga y anote los valores **IPv4 Address** (Dirección IPv4), **Subnet Mask** (Máscara de subred), **Default Gateway** (Puerta de enlace predeterminada) y **DNS Servers** (Servidores DNS) de la interfaz de red. El resultado debería parecerse al siguiente ejemplo:

     ```
     ...
     
     Ethernet adapter Ethernet 4:
     
        Connection-specific DNS Suffix  . : us-west-2.compute.internal
        Description . . . . . . . . . . . : Amazon Elastic Network Adapter #2
        Physical Address. . . . . . . . . : 02-9C-3B-FC-8E-67
        DHCP Enabled. . . . . . . . . . . : Yes
        Autoconfiguration Enabled . . . . : Yes
        Link-local IPv6 Address . . . . . : fe80::f4d1:a773:5afa:cd1%7(Preferred)
        IPv4 Address. . . . . . . . . . . : 10.200.0.128(Preferred)
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Lease Obtained. . . . . . . . . . : Monday, April 8, 2024 12:19:29 PM
        Lease Expires . . . . . . . . . . : Monday, April 8, 2024 4:49:30 PM
        Default Gateway . . . . . . . . . : 10.200.0.1
        DHCP Server . . . . . . . . . . . : 10.200.0.1
        DHCPv6 IAID . . . . . . . . . . . : 151166011
        DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2D-67-AC-FC-12-34-9A-BE-A5-E7
        DNS Servers . . . . . . . . . . . : 10.200.0.2
        NetBIOS over Tcpip. . . . . . . . : Enabled
     ```

1. Ejecute el siguiente comando en PowerShell para abrir el **Centro de redes y recursos compartidos**:

   ```
   & $env:SystemRoot\system32\control.exe ncpa.cpl
   ```

1. Abra el menú contextual (haga clic con el botón derecho) de la interfaz de red (conexión de área local o Ethernet) y elija **Propiedades**.

1. Elija **Protocolo de Internet versión 4 (TCP/IPv4)**, **Propiedades**.

1. En el cuadro de diálogo **Propiedades: Protocolo de Internet, versión 4 (TCP/IPv4)**, elija **Usar la siguiente dirección IP**, escriba los valores siguientes y elija **Aceptar**.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/config-windows-multiple-ip.html)
**importante**  
Si establece la dirección IP en un valor que no sea la dirección IP actual, perderá la conexión con la instancia.  
![\[Direcciones IP\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/windows-ip-static.png)

Perderá la conexión RDP con la instancia de Windows durante unos segundos mientras la instancia pasa de usar DHCP a usar direcciones estáticas. La instancia retiene la misma información de la dirección IP que antes, pero ahora esta información es estática y no está administrada por DHCP.

## Paso 2: Configurar una dirección IP privada secundaria para la instancia
<a name="step2"></a>

Una vez configurada la dirección IP estática en la instancia de Windows, puede pasar a preparar una segunda dirección IP privada.

**Para configurar una dirección IP secundaria**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Instances** (Instancia[s]) y seleccione la instancia.

1. En **Redes**, anota la dirección IP secundaria.

1. Conéctese a la instancia.

1. En la instancia de Windows, elija **Inicio**, **Panel de control**.

1. Elija **Redes e Internet**, **Centro de redes y recursos compartidos**.

1. Seleccione la interfaz de red (conexión de área local o Ethernet) y elija **Propiedades**.

1. En la página **Propiedades de Conexión de área local**, elija **Protocolo de Internet, versión 4 (TCP/IPv4)**, **Propiedades**, **Opciones avanzadas**.

1. Elija **Add (Añadir)**.

1. En el cuadro de diálogo **Dirección TCP/IP**, escriba la dirección IP privada secundaria en **Dirección IP**. En **Subnet mask (Máscara de subred)**, escriba la misma que escribió para la dirección IP privada principal en [Paso 1: Configurar una dirección IP estática en la instancia](#step1) y elija **Add (Agregar)**.   
![\[Cuadro de diálogo Dirección TCP/IP\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/windows-ip-add.png)

1. Compruebe la configuración de la dirección IP y elija **Aceptar**.  
![\[Pestaña Configuración de IP\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/windows-ip-advanced-tcpip.png)

1. Elija **Aceptar**, **Cerrar**.

1. Para confirmar la dirección IP secundaria que se ha añadido al sistema operativo, ejecute el comando `ipconfig /all` en PowerShell. El resultado debe tener el siguiente aspecto:

   ```
   Ethernet adapter Ethernet 4:
   
      Connection-specific DNS Suffix  . :
      Description . . . . . . . . . . . : Amazon Elastic Network Adapter #2
      Physical Address. . . . . . . . . : 02-9C-3B-FC-8E-67
      DHCP Enabled. . . . . . . . . . . : No
      Autoconfiguration Enabled . . . . : Yes
      Link-local IPv6 Address . . . . . : fe80::f4d1:a773:5afa:cd1%7(Preferred)
      IPv4 Address. . . . . . . . . . . : 10.200.0.128(Preferred)
      Subnet Mask . . . . . . . . . . . : 255.255.255.0
      IPv4 Address. . . . . . . . . . . : 10.200.0.129(Preferred)
      Subnet Mask . . . . . . . . . . . : 255.255.255.0
      Default Gateway . . . . . . . . . : 10.200.0.1
      DHCPv6 IAID . . . . . . . . . . . : 151166011
      DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2D-67-AC-FC-12-34-9A-BE-A5-E7
      DNS Servers . . . . . . . . . . . : 10.200.0.2
      NetBIOS over Tcpip. . . . . . . . : Enabled
   ```

## Paso 3: Configurar las aplicaciones para que usen la dirección IP privada secundaria
<a name="step3"></a>

Puede configurar las aplicaciones para que usen la dirección IP privada secundaria. Por ejemplo, si la instancia ejecuta un sitio web en IIS, puede configurar IIS para que use la dirección IP privada secundaria.

**Para configurar IIS para el uso de la dirección IP privada secundaria**

1. Conéctese a la instancia.

1. Abra el Administrador de Internet Information Services (IIS).

1. En el panel, **Conexiones**, expanda **Sitios**.

1. Abra el menú contextual del sitio web (haga clic con el botón derecho) y elija **Modificar enlaces**.

1. En el cuadro de diálogo **Enlaces de sitios**, en **Tipo**, elija **http**, **Modificar**.

1. En el cuadro de diálogo **Modificar enlace del sitio**, en **Dirección IP**, seleccione la dirección IP privada secundaria. (De manera predeterminada, cada sitio web acepta solicitudes HTTP de todas las direcciones IP).  
![\[Direcciones IP\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/windows-ip-iis-site-binding.png)

1. Elija **Aceptar**, **Cerrar**.

# Nombres de host y dominios de instancias de EC2
<a name="ec2-instance-naming"></a>

Es importante comprender los dominios y los nombres de host de las instancias EC2 para administrar y acceder a las instancias de Amazon EC2 de forma eficaz. Cada instancia de EC2 puede tener distintos tipos de nombres de host (privados y públicos) que sirven para distintos propósitos y siguen convenciones de nomenclatura específicas.

En este tema, se explica la estructura de los nombres de host de las instancias de EC2, cómo se construyen y los distintos tipos de nombres de host disponibles. Aprenderá a ver y modificar la configuración de los nombres de host, a comprender cuándo usar cada tipo y a aprender las prácticas recomendadas para la administración de los nombres de host en su entorno de AWS.

**Topics**
+ [

# Comprensión de los nombres de host y dominios de instancias de EC2
](understanding-ec2-instance-hostnames-domains.md)
+ [

# Tipos de nombres de host
](hostname-types.md)

# Comprensión de los nombres de host y dominios de instancias de EC2
<a name="understanding-ec2-instance-hostnames-domains"></a>

Una dirección de una instancia de EC2 se integra de diferentes componentes. A continuación, se muestra un ejemplo de una dirección de instancia de EC2 que usa la dirección IPv4 privada de la instancia:

```
   IP address         Domain name                   
   ↓--------↓ ↓------------------------↓
ip-10-24-34-0.us-west-2.compute.internal
↑-----------↑   
  Hostname      
↑--------------------------------------↑ 
    Fully qualified domain name (FQDN)
```

Donde:
+ **Dirección IP**: la dirección IPv4 principal de la interfaz de red principal asociada a una instancia.
+ **Nombre de host**: el nombre local de una instancia de EC2 específica (utilizado por el sistema operativo y para la identificación de la red local).
+ **Nombre de dominio**: la parte del FQDN que proporciona AWS.
+ **Nombre de dominio completo (FQDN)**: la dirección completa que incluye tanto el nombre de host como el nombre de dominio. Este es el identificador completo y único a nivel mundial que se utiliza para acceder a su instancia a través de las redes.

Según el tipo de nombre de host que elija para la instancia o la interfaz de red principal conectada a la instancia, los formatos del nombre de host y del nombre de dominio serán diferentes del ejemplo anterior. En esta sección, se explican las opciones de tipo de nombre de host.

# Tipos de nombres de host
<a name="hostname-types"></a>

AWS proporciona dos tipos de nombres de host: **privados** y **públicos**. En la siguiente tabla, se comparan las principales diferencias entre los nombres de host privados y públicos, incluida la forma en que se resuelven, cómo se configuran y cuándo se debe usar cada tipo.


| ​ | Nombres de host DNS privados | Nombres de host públicos | 
| --- | --- | --- | 
| Resolución de los DNS | Los nombres de host privados permiten FQDN privados que no son accesibles desde la Internet pública. Los nombres de host privados solo permiten que las solicitudes se resuelvan en direcciones IPv4 privadas y direcciones GUA IPv6 dentro de la VPC. | Los nombres de host públicos habilitan los FQDN públicos a los que se puede acceder desde la Internet pública. Los nombres de host públicos permiten que las solicitudes se resuelvan en direcciones IPv4 e IPv6 GUA privadas dentro de la VPC y en IP públicas desde Internet (DNS de horizonte dividido). | 
| Configuración | Los nombres de host privados se configuran a nivel de instancia. | Los nombres de host públicos se configuran a nivel de interfaz de red. | 
| Cuándo se debe usar |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/hostname-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/hostname-types.html)  | 

**Topics**
+ [

## Nombres de host públicos
](#public-hostnames)
+ [

## Nombres de host DNS privados
](#ec2-instance-private-hostnames)

## Nombres de host públicos
<a name="public-hostnames"></a>

Puede usar *nombres de host públicos* para acceder a las instancias de EC2 mediante nombres de host que se resuelvan en la dirección IPv4 o IPv6 pública de la instancia y facilitar la transición a IPv6.

Los nombres de host públicos le permiten:
+ Acceder a sus instancias de EC2 mediante IPv4 e IPv6, lo que le brinda más flexibilidad en la forma de conectarse a sus recursos.
+ Migrar de entornos IPv4 a IPv6 a su propio ritmo. Puede, por ejemplo, disociar las migraciones de bases de datos y aplicaciones, reduciendo la complejidad y el riesgo.
+ Utilizar varias opciones de nombres de host (solo para IPv4, solo para IPv6 y de doble pila) que se resuelvan automáticamente en las direcciones IP adecuadas.
+ Beneficiarse de una seguridad mejorada con el [DNS de horizonte dividido](https://en.wikipedia.org/wiki/Split-horizon_DNS), que resuelve los nombres de host en direcciones IP privadas cuando se consultan desde su VPC.

**Topics**
+ [

### Tipos de nombres de host públicos y cuándo utilizarlos
](#public-hostname-types)
+ [

### Ver nombres de host públicos
](#view-public-hostnames)
+ [

### Modificación de los tipos de nombres de host públicos
](#modify-public-hostnames)

### Tipos de nombres de host públicos y cuándo utilizarlos
<a name="public-hostname-types"></a>

Para utilizar nombres de host públicos, debe modificar una interfaz de red existente. En esta sección, se describen las tres opciones de tipo de nombre de host público y lo ayuda a decidir cuál usar:
+ **Pila doble: nombre basado en IP**
  + Esta es la mejor opción si está migrando o planea migrar de IPv4 a IPv6. Esta opción permite la conectividad mediante IPv4 e IPv6, lo que brinda flexibilidad a los clientes que pueden usar cualquiera de los protocolos y permite a los clientes mantener el mismo nombre de host durante la migración a IPv6.
  + Las solicitudes desde dentro de la VPC se resuelven tanto en la dirección IPv4 privada como en la dirección de unidifusión global (GUA) IPv6 de la interfaz de red. Las solicitudes de Internet se resuelven tanto en la dirección IPv4 pública como en la dirección GUA IPv6 de la interfaz de red.
  + **Ejemplo**
    + Cuando elija esta opción, se generará un FQDN de doble pila para esta interfaz de red. Este es un ejemplo del FQDN que se generará:
      + f5lnz-0khrm-nt2u3-gyqqt-nbdl5-q3cdpO.ap-southeast-2.ip.aws
    + Donde:
      + f5lnz-0khrm-nt2u3-gyqqt-nbdl5-q3cdpO es el nombre de host que es una representación [en base36](https://en.wikipedia.org/wiki/Base36) de la dirección IPv6 pública principal (f5lnz-0khrm-nt2u3-gyqqt-nbdl5) en la interfaz de red junto con una representación en base36 de la dirección IPv4 pública principal (q3cdpO) en la interfaz de red.
      + f5lnz-0khrm-nt2u3-gyqqt-nbdl5 es resuelto por el solucionador de Amazon DNS a la dirección GUA IPv6 FFFF:1407:4:f000:81d:2689:1066:4489. Esta es la primera GUA IPv6 asignada a la interfaz de red.
      + q3cdpO se resuelve a la dirección IPv4 52.54.55.56. Esta es la dirección IPv4 pública adjunta a la interfaz de red principal.
      + ap-southeast-2 es la región de la subred en la que se encuentra la interfaz de red.
      + ip.aws es el dominio proporcionado por AWS.
+ **IPv6: nombre basado en IP**
  + Esta es una buena opción si ya ha migrado a IPv6 y solo necesita conectividad a través de IPv6.
  + Las solicitudes desde la VPC o desde Internet se resuelven en la GUA IPv6 de la interfaz de red.
  + **Ejemplo**
    + Al elegir esta opción, se generará un FQDN para esta interfaz de red. Este es un ejemplo del FQDN que se generará:
      + f5lnz-0khrm-nt2u3-gyqqt-nbdl5.ap-southeast-2.ip.aws
    + Donde:
      + f5lnz-0khrm-nt2u3-gyqqt-nbdl5 es un nombre de host que es una representación en base36 de la dirección IPv6 pública principal de la interfaz de red.
      + f5lnz-0khrm-nt2u3-gyqqt-nbdl5 es resuelto por el solucionador de Amazon DNS a la dirección GUA IPv6 FFFF:1407:4:f000:81d:2689:1066:4489. Esta es la primera GUA IPv6 asignada a la interfaz de red.
      + ap-southeast-2 es la región de la subred en la que se encuentra la interfaz de red.
      + ip.aws es el dominio proporcionado por AWS.
+ **IPv4: nombre basado en IP**
  + Esta es una buena opción si la instancia que usa esta interfaz de red necesita mantener el acceso a IPv4 durante la transición a IPv6 o si las aplicaciones o los sistemas que se ejecutan en la instancia solo admiten IPv4. Esta es la mejor opción si solo necesita mantener la conectividad IPv4 y sus cargas de trabajo no requieren compatibilidad con IPv6. Por ejemplo, si está migrando a IPv6, puede decidir mantener algunas aplicaciones en IPv4 mientras otras pasan a IPv6.
  + Las solicitudes desde dentro de la VPC se resuelven en la dirección IPv4 privada principal de la interfaz de red. Las solicitudes desde Internet se resuelven en la dirección IPv4 pública de la interfaz de red.
  + **Ejemplo**
    + Si elige esta opción, se generará un nombre de host público habilitado para IPv4 para esta interfaz de red. Este es un ejemplo del nombre DNS que se generará:
      + ec2-52-54-55-66.ap-southeast-2.compute.amazonaws.com
    + Donde:
      + ec2-52-54-55-66 es un nombre de host que es una representación en base36 de la dirección IPv4 pública principal de una interfaz de red.
      + ec2-52-54-55-66 se resuelve en la dirección IPv4 52.54.55.56. Esta es la dirección IPv4 pública adjunta a la interfaz de red principal.
      + ap-southeast-2 es la región de la subred en la que se encuentra la interfaz de red.
      + ip.aws es el dominio proporcionado por AWS.

**importante**  
En los ejemplos anteriores, puede ver que las direcciones IP se utilizan para generar el nombre de host. Si cambia la dirección IPv4 privada principal o la primera GUA IPv6 asignada a la interfaz de red, la parte del nombre de host que se traduce a la dirección IP cambiará y **el nombre de host público generado anteriormente dejará de ser válido**. Además, el cambio de la dirección pública IPv4 principal obliga a actualizar posteriormente el [servicio de metadatos de instancias (IMDS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html) en la *Guía del usuario de Amazon EC2*, por lo que los metadatos del IMDS de la instancia de EC2 se actualizan automáticamente.

### Ver nombres de host públicos
<a name="view-public-hostnames"></a>

Si la VPC en la que se encuentra la interfaz de red no tiene habilitadas las opciones EnableDnsHostnames y EnableDnsSupport, no se ha definido ni generado ningún tipo de nombre de host.

------
#### [ Console ]

Puede ver los nombres de host públicos de una instancia o de una interfaz de red principal.

**Cómo ver el tipo de nombre de host y los nombres de DNS de una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la casilla de verificación de la instancia.

1. En la pestaña **Red**, en **Nombre de host y DNS**, busque lo siguiente:
   + **Tipo de nombre de host público**
   + **DNS público**
   + **Solo IPv4: nombre basado en IP**
   + **Solo IPv6: nombre basado en IP**
   + **Pila doble: nombre basado en IP**

**Cómo ver el tipo de nombre de host y los nombres de DNS de una interfaz de red**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Network Interfaces**.

1. En el campo de búsqueda, introduzca el ID de la instancia. Seleccione el ID de la interfaz de red para abrir su página de detalles.

1. En **Nombre de host y DNS**, busque lo siguiente:
   + **Tipo de nombre de host público**
   + **Nombre DNS público**
   + **Nombre de DNS de IPv4 público**
   + **Nombre de DNS de IPv6 público**
   + **Nombre de DNS público de pila doble**

------
#### [ AWS CLI ]

**Cómo ver el tipo de nombre de host y los nombres de DNS de una interfaz de red**  
Utilice el comando [describe-network-interfaces](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-network-interfaces.html).

```
aws ec2 describe-network-interfaces \
    --network-interface-id eni-1234567890abcdef0 \
    --query NetworkInterfaces[].PublicIpDnsNameOptions
```

A continuación, se muestra un ejemplo del resultado. Como el tipo de nombre de host es `public-dual-stack-dns-name`, el nombre de host del DNS es el mismo que `PublicDualStackDnsName`.

```
[
     {
          "DnsHostnameType": "public-dual-stack-dns-name",
          "PublicIpv4DnsName": "ec2-52-54-55-66.ap-southeast-2.compute.amazonaws.com",
          "PublicIpv6DnsName": "f5lnz-0khrm-nt2u3-gyqqt-nbdl5.ap-southeast-2.ip.aws",
          "PublicDualStackDnsName": "f5lnz-0khrm-nt2u3-gyqqt-nbdl5-q3cdpO.ap-southeast-2.ip.aws"
     }
]
```

------
#### [ PowerShell ]

**Cómo ver el tipo de nombre de host y los nombres de DNS de una interfaz de red**  
Utilice el cmdlet [Get-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2NetworkInterface.html).

```
(Get-EC2NetworkInterface `
    -NetworkInterfaceId eni-1234567890abcdef0).PublicIpDnsNameOptions
```

A continuación, se muestra un ejemplo del resultado. Como el tipo de nombre de host es `public-dual-stack-dns-name`, el nombre de host del DNS es el mismo que `PublicDualStackDnsName`.

```
DnsHostnameType        : public-dual-stack-dns-name
PublicDualStackDnsName : f5lnz-0khrm-nt2u3-gyqqt-nbdl5-q3cdpO.ap-southeast-2.ip.aws
PublicIpv4DnsName      : ec2-52-54-55-66.ap-southeast-2.compute.amazonaws.com
PublicIpv6DnsName      : f5lnz-0khrm-nt2u3-gyqqt-nbdl5.ap-southeast-2.ip.aws
```

------

### Modificación de los tipos de nombres de host públicos
<a name="modify-public-hostnames"></a>

Las opciones de tipo de nombre de host público dependen de las direcciones IP asociadas a la interfaz de red:
+ Si la interfaz de red solo tiene una dirección IPv4 pública, el tipo de nombre de host debe ser **IPv4: nombre basado en IP**.
+ Si la interfaz de red solo tiene una dirección IPv6, el tipo de nombre de host debe ser **IPv6: nombre basado en IP**.
+ Si la interfaz de red tiene tanto una dirección IPv4 pública como una dirección IPv6, el tipo de nombre de host puede ser **doble pila: nombre basado en IP.**

**Requisitos previos**
+ La interfaz de red debe tener una dirección IPv4 pública asociada o una dirección IPv6.
+ La VPC en la que se encuentra la interfaz de red debe tener habilitados EnableDnsHostnames y EnableDnsSupport. Consulte [Ver y actualizar los atributos de DNS de su VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns-updating.html) en la *Guía del usuario de Amazon VPC*.

------
#### [ Console ]

**Cómo modificar el tipo de nombre de host público**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Network Interfaces**.

1. En el campo de búsqueda, introduzca el ID de la instancia. Seleccione la casilla de verificación de la interfaz de red.

   Como alternativa, desde la página de detalles de la instancia, elija la pestaña **Redes** y seleccione el ID de la interfaz de red para el índice de dispositivo 0.

1. Elija **Acciones**, **Modificar tipo de nombre de host público**.

1. Elija una opción:
   + **Doble pila: nombre basado en IP**: un nombre de host público de doble pila para una interfaz de red. Las solicitudes desde la VPC se resuelven tanto en la dirección IPv4 privada como en la dirección de unidifusión global IPv6 de la interfaz de red. Las solicitudes de Internet se resuelven tanto en la dirección IPv4 pública como en la dirección GUA IPv6 de la interfaz de red.
   + **IPv4: nombre basado en IP**: un nombre de host público habilitado para IPv4 para una interfaz de red. Las solicitudes desde dentro de la VPC se resuelven en la dirección IPv4 privada principal de la interfaz de red. Las solicitudes desde Internet se resuelven en la dirección IPv4 pública de la interfaz de red.
   + **IPv6: nombre basado en IP**: un nombre de host público habilitado para IPv6 para una interfaz de red. Las solicitudes desde la VPC o desde Internet se resuelven en la GUA IPv6 de la interfaz de red.

1. Elija **Modificar**.

------
#### [ AWS CLI ]

**Cómo modificar el tipo de nombre de host público**  
Utilice el comando [modify-public-ip-dns-name-options](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-public-ip-dns-name-options.html).

```
aws ec2 modify-public-ip-dns-name-options \
    --network-interface-id eni-1234567890abcdef0 \
    --hostname-type public-dual-stack-dns-name
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "Successful": true
}
```

------
#### [ PowerShell ]

**Cómo modificar el tipo de nombre de host público**  
Utilice el cmdlet [Edit-EC2PublicIpDnsNameOption](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2PublicIpDnsNameOption.html).

```
Edit-EC2PublicIpDnsNameOption `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -HostNameType public-dual-stack-dns-name
```

------

## Nombres de host DNS privados
<a name="ec2-instance-private-hostnames"></a>

En esta sección, se describen los tipos de nombres de host privados de la instancia de Amazon EC2 disponibles al iniciar las instancias en las subredes de la VPC.

El nombre de host privado distingue las instancias de EC2 de la red. Puede utilizar el nombre de host privado de una instancia si, por ejemplo, desea ejecutar scripts para comunicarse con algunas o todas las instancias de la red.

**Topics**
+ [

### Tipos de nombres de host privados
](#instance-naming-types)
+ [

### Dónde encontrar los nombres de los recursos y los nombres de IP
](#instance-naming-presence)
+ [

### Elección entre nombres de recursos y nombres de IP
](#instance-naming-choose)
+ [

### Cambio de las opciones de nomenclatura basadas en recursos para Amazon EC2
](#instance-naming-modify)

### Tipos de nombres de host privados
<a name="instance-naming-types"></a>

Hay dos tipos de nombre de host privados para el nombre de host del sistema operativo invitado cuando se inician las instancias de EC2 en una VPC: 
+ **Nombre de IP**: el esquema de nomenclatura heredado en el que, al iniciar una instancia, la *dirección IPv4 privada* de la instancia se incluye en el nombre de host de la instancia. El nombre de IP existe durante toda la vida de la instancia de EC2. Cuando se utiliza como nombre de host DNS privado, solo devolverá la dirección IPv4 privada (registro A).
+ **Nombre de recurso**: al iniciar una instancia, el *ID de la instancia de EC2* se incluye en el nombre de host de la instancia. El nombre de recurso existe durante toda la vida de la instancia de EC2. Cuando se usa como nombre de host DNS privado, puede devolver tanto la dirección privada IPv4 (registro A) como la dirección de unidifusión global IPv6 (registro AAAA).

El tipo de nombre de host del SO invitado de la instancia de EC2 depende de la configuración de la subred:
+ Si la instancia se inicia en una subred solo IPv4, puede seleccionar el nombre de IP o el nombre de recurso. 
+ Si la instancia se inicia en una subred de doble pila (IPv4\$1IPv6), puede seleccionar el nombre de IP o el nombre de recurso. 
+ Si la instancia se inicia en una subred solo IPv6, se utiliza el nombre de recurso automáticamente.

**Topics**
+ [

#### Nombre de IP
](#instance-naming-ipbn)
+ [

#### Nombre del recurso
](#instance-naming-rbn)
+ [

#### La diferencia entre el nombre de IP y el nombre de recurso
](#instance-naming-diff)

#### Nombre de IP
<a name="instance-naming-ipbn"></a>

Cuando se inicia una instancia de EC2 con el **Tipo de nombre de host** de **Nombre de IP**, el nombre de host del SO invitado se configura para utilizar la dirección IPv4 privada.
+ Formato de una instancia en us-east-1: `private-ipv4-address.ec2.internal`
+ Ejemplo:: `ip-10-24-34-0.ec2.internal`
+ Formato de una instancia en cualquier otra región de AWS: `private-ipv4-address.region.compute.internal`
+ Ejemplo:: `ip-10-24-34-0.us-west-2.compute.internal`

#### Nombre del recurso
<a name="instance-naming-rbn"></a>

Cuando se inician instancias de EC2 en subredes solo IPv6, el **Tipo de nombre de host** de **Nombre de recurso** está seleccionado de forma predeterminada. La opción **Nombre de recurso** se puede seleccionar cuando se inicia una instancia en subredes solo IPv4 o de doble pila (IPv4\$1IPv6). Después de iniciar una instancia, puede administrar la configuración del nombre de host. Para obtener más información, consulte [Cambio de las opciones de nomenclatura basadas en recursos para Amazon EC2](#instance-naming-modify).

Cuando se inicia una instancia de EC2 con el **Tipo de nombre de host** de **Nombre de recurso**, el nombre de host del SO invitado se configura para utilizar el ID de la instancia de EC2.
+ Formato de una instancia en us-east-1: `ec2-instance-id.ec2.internal`
+ Ejemplo:: `i-0123456789abcdef.ec2.internal`
+ Formato de una instancia en cualquier otra región de AWS: `ec2-instance-id.region.compute.internal`
+ Ejemplo:: `i-0123456789abcdef.us-west-2.compute.internal`

#### La diferencia entre el nombre de IP y el nombre de recurso
<a name="instance-naming-diff"></a>

Las consultas de DNS para nombres de IP y nombres de recurso coexisten para garantizar la compatibilidad con versiones anteriores y permitir la migración de nomenclatura basada en IP para nombres de host a nomenclatura basada en recursos. Para nombres de host DNS privados basados en nombres de IP, no se puede configurar si se responde o no una consulta al registro DNS A para la instancia. Las consultas al registro DNS A siempre se responden independientemente de la configuración del nombre de host del SO invitado. En cambio, para nombres de host DNS privados basados en nombre de recurso, es posible configurar si se responden o no las consultas de DNS A o DNS AAAA para la instancia. El comportamiento de respuesta se configura cuando inicia una instancia o modifica una subred. Para obtener más información, consulte [Cambio de las opciones de nomenclatura basadas en recursos para Amazon EC2](#instance-naming-modify).

### Dónde encontrar los nombres de los recursos y los nombres de IP
<a name="instance-naming-presence"></a>

Puede ver los tipos de nombre de host, los nombres del recurso y nombres de IP en la consola de Amazon EC2.

**Topics**
+ [

#### Al crear instancias de EC2
](#instance-naming-presence-create)
+ [

#### Al consultar los detalles de una instancia de EC2 existente
](#instance-naming-presence-view)

#### Al crear instancias de EC2
<a name="instance-naming-presence-create"></a>

Cuando crea una instancia de EC2, según el tipo de subred que seleccione, el **Tipo de nombre de host** de **Nombre de recurso** puede estar disponible o puede que esté seleccionado y no sea modificable. En esta sección, se explican las situaciones en las que puede ver los tipos de nombre de host nombre de recurso y nombre de IP.

##### Escenario 1
<a name="instance-naming-presence-create-1"></a>

Crea una instancia de EC2 en el asistente (consulte [Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola](ec2-launch-instance-wizard.md)) y, al configurar los detalles, elige una subred que configuró para que sea solo IPv6.

En este caso, **Tipo de nombre de host** de **Nombre de recurso** se selecciona automáticamente y no se puede modificar. La selección de las opciones **Nombre de host DNS** de **Habilitar solicitudes DNS IPv4 de nombre de IP (registro A)** e **Habilitar solicitudes DNS IPv4 basadas en recursos (registro A)** se anulan automáticamente y no se pueden modificar. La opción **Habilitar solicitudes DNS IPv6 basadas en recursos (registro AAAA)** está seleccionada de forma predeterminada pero es modificable. Si se selecciona, las solicitudes DNS del nombre de recurso se resolverán en la dirección IPv6 (registro AAAA) de esta instancia de EC2.

##### Escenario 2
<a name="instance-naming-presence-create-2"></a>

Crea una instancia de EC2 en el asistente (consulte [Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola](ec2-launch-instance-wizard.md)) y, al configurar los detalles, elige una subred configurada con un bloque de CIDR IPv4 o un bloque de CIDR con IPv4 e IPv6 (“pila dual”).

En este caso, **Habilitar solicitudes DNS IPv4 de nombre de IP (registro A)** se selecciona automáticamente y no se puede cambiar. Esto significa que las solicitudes al nombre IP se resolverán en la dirección IPv4 (registro A) de esta instancia de EC2.

Las opciones están predeterminadas para las configuraciones de la subred, pero puede modificar las opciones de esta instancia en función de la configuración de la subred:
+ **Tipo de nombre de host**: determina si desea que el nombre de host del SO invitado de la instancia de EC2 sea el nombre de recurso o el nombre de IP. El valor predeterminado es **Nombre de IP**.
+ **Habilitar solicitudes DNS IPv4 basadas en recursos (registro A)**: determina si las solicitudes del nombre de recurso se resuelven en la dirección IPv4 privada (registro A) de esta instancia de EC2. Esta opción no está seleccionada de forma predeterminada.
+ **Enable resource-based IPv6 (AAAA record) DNS requests** (Habilitar solicitudes DNS IPv6 basadas en recursos [registro AAAA]): determina si las solicitudes del nombre de recurso se resuelven en la dirección GUA IPv6 (registro AAAA) de esta instancia de EC2. Esta opción no está seleccionada de forma predeterminada.

#### Al consultar los detalles de una instancia de EC2 existente
<a name="instance-naming-presence-view"></a>

Puede ver los valores de nombre de host de una instancia de EC2 existente en la pestaña **Detalles** de la instancia de EC2:
+ **Tipo de nombre de host**: nombre de host en formato de nombre IP o nombre de recurso.
+ **Nombre DNS de IP privada (solo IPv4)**: nombre de IP que siempre se resolverá en la dirección IPv4 privada de la instancia.
+ **Nombre DNS del recurso privado**: nombre de recurso que se resuelve en los registros DNS seleccionados para esta instancia.
+ **Responder el nombre DNS del recurso privado**: el nombre de recurso se resuelve en registros DNS IPv4 (A), IPv6 (AAAA) o IPv4 e IPv6 (A y AAAA).

Además, si se conecta a la instancia de EC2 directamente a través de SSH e ingresa el comando `hostname`, verá el nombre de host en formato de nombre de IP o nombre de recurso. 

### Elección entre nombres de recursos y nombres de IP
<a name="instance-naming-choose"></a>

Cuando se inicia una instancia de EC2 (consulte [Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola](ec2-launch-instance-wizard.md)), si elige un **Tipo de nombre de host** de **Nombre de recurso**, la instancia de EC2 se inicia con un nombre de host en formato de nombre de recurso. En tales casos, el registro DNS de esta instancia de EC2 también puede apuntar al nombre de recurso. Esto le da la flexibilidad de elegir si ese nombre de host se resuelve en la dirección IPv4, la dirección IPv6 o la dirección IPv4 e IPv6 de la instancia. Si planea utilizar IPv6 en el futuro o si está utilizando subredes de doble pila hoy, es mejor utilizar un **Tipo de nombre de host** de **Nombre de recurso** de modo que cambie la resolución DNS de los nombres de host de las instancias sin realizar ningún cambio en los propios registros DNS. El nombre del recurso le permite agregar y eliminar la resolución DNS IPv4 e IPv6 en una instancia de EC2.

Si, en cambio, elige un **Tipo de nombre de host** de **Nombre de IP**, y lo utiliza como el nombre de host DNS, solo se puede resolver en la dirección IPv4 de la instancia. No se resolverá en la dirección IPv6 de la instancia incluso si la instancia tiene una dirección IPv4 y una dirección IPv6 asociadas a ella.

### Cambio de las opciones de nomenclatura basadas en recursos para Amazon EC2
<a name="instance-naming-modify"></a>

Puede cambiar el tipo de host y las configuraciones del nombre de host DNS de las subredes, lo que afectará a todas las inicializaciones de instancias posteriores en ese tema, o puede cambiarlos para una instancia de EC2 después de lanzarla.

**Opciones de nomenclatura basadas en recursos**
+ **Tipo de nombre de host**: determina la configuración predeterminada para el nombre de host del SO invitado de las instancias EC2 iniciadas en la subred. Este es el nombre del recurso o el nombre IP.
+ **Habilitar solicitudes IPv4 de nombre de host DNS (registro A)**: determina si las solicitudes o consultas DNS al nombre del recurso se resuelven en la dirección IPv4 privada (registro A) de la instancia EC2.
+ **Habilitar solicitudes IPv6 de nombre de host DNS (registro AAAA)**: determina si las solicitudes o consultas DNS al nombre del recurso se resuelven en la dirección IPv6 (registro AAAA) de la instancia EC2.

#### Subredes
<a name="instance-naming-modify-subnets"></a>

Cambiar la configuración de subred no cambia la configuración de las instancias de EC2 que ya se iniciaron en la subred.

------
#### [ Console ]

**Para modificar las opciones de una subred**  
Abra la consola de Amazon VPC y seleccione la subred. Elija **Acciones**, **Editar configuración de la subred**. Modifique la configuración según sea necesario y, a continuación, guarde los cambios.

------
#### [ AWS CLI ]

**Para modificar las opciones de una subred**  
Utilice el comando [modify-subnet-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-subnet-attribute.html).

```
aws ec2 modify-subnet-attribute \
    --subnet-id subnet-0abcdef1234567890 \
    --private-dns-hostname-type-on-launch resource-name \
    --enable-resource-name-dns-a-record-on-launch \
    --enable-resource-name-dns-aaaa-record-on-launch
```

------
#### [ PowerShell ]

**Para modificar las opciones de una subred**  
Utilice el cmdlet [Edit-EC2SubnetAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SubnetAttribute.html).

```
Edit-EC2SubnetAttribute `
    -SubnetId subnet-0abcdef1234567890 `
    -PrivateDnsHostnameTypeOnLaunch ResourceName `
    -EnableResourceNameDnsAAAARecordOnLaunch $true `
    -EnableResourceNameDnsARecordOnLaunch $true
```

------

#### instancias de EC2
<a name="instance-naming-modify-instances"></a>

**Consideraciones**
+ Para cambiar el tipo de nombre de host, primero debe detener la instancia. No es necesario detener una instancia para cambiar las otras dos opciones.
+ Dado que no se puede detener una instancia con un volumen raíz del almacén de instancias, solo se pueden configurar las opciones de tipo de nombre de host y nombre de host DNS al iniciar la instancia. Solo los siguientes tipos de instancia admiten volúmenes raíz del almacén de instancias: C1, C3, D2, I2, M1, M2, M3, R3 y X1.

------
#### [ Console ]

**Para modificar el tipo de nombre de host y las opciones de nombre de host DNS de una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Si va a cambiar la configuración **Utilizar nomenclatura basada en recursos como nombre de host del SO invitado**, primero detenga la instancia de EC2. De lo contrario, omita este paso.

   Para detener la instancia, selecciónela y elija **Estado de la instancia** y **Detener instancia**.

1. Seleccione la instancia y elija **Acciones**, **Configuración de la instancia**, **Cambiar las opciones de nomenclatura basada en recursos**.
   + **Utilizar nomenclatura basada en recursos como nombre de host del SO invitado**: determina si desea que el nombre de host del SO invitado de la instancia de EC2 sea el nombre de recurso o el nombre de IP.
   + **Responder solicitudes de nombre de host DNS IPv4 (registro A)**: determina si las solicitudes o consultas DNS del nombre del recurso se resuelven en la dirección IPv4 de esta instancia de EC2.
   + **Responder solicitudes de nombre de host DNS IPv6 (registro AAAA)**: determina si las solicitudes o consultas DNS del nombre del recurso se resuelven en la dirección IPv6 (registro AAAA) de esta instancia de EC2.

1. Seleccione **Save**.

1. Si detuvo la instancia, iníciela de nuevo.

------
#### [ AWS CLI ]

**Para modificar el tipo de nombre de host y las opciones de nombre de host DNS de una instancia**  
Utilice el comando [modify-private-dns-name-options](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-private-dns-name-options.html).

```
aws ec2 modify-private-dns-name-options \
    --instance-id i-1234567890abcdef0 \
    --private-dns-hostname-type resource-name \
    --enable-resource-name-dns-a-record \
    --enable-resource-name-dns-aaaa-record
```

------
#### [ PowerShell ]

**Para modificar el tipo de nombre de host y las opciones de nombre de host DNS de una instancia**  
Utilice el cmdlet [Edit-EC2PrivateDnsNameOption](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2PrivateDnsNameOption.html).

```
Edit-EC2PrivateDnsNameOption `
    -InstanceId i-1234567890abcdef0 `
    -PrivateDnsHostnameType ResourceName `
    -EnableResourceNameDnsAAAARecord $true`
    -EnableResourceNameDnsARecord $true
```

------

# Traiga sus propias direcciones IP (BYOIP) a Amazon EC2
<a name="ec2-byoip"></a>

Puede traer todo su rango de direcciones IPv4 o IPv6 direccionables públicamente de su red en las instalaciones a su Cuenta de AWS o solo una parte. Usted conserva el control del rango de direcciones y puede anunciarlo en Internet a través de AWS. Una vez que traiga su rango de direcciones a Amazon EC2, aparecerá en su Cuenta de AWS como un grupo de direcciones.

**nota**  
En esta documentación se describe cómo traer su propio rango de direcciones IP para usarlo solo en Amazon EC2. Para traer su propio rango de direcciones IP para su uso en AWS Global Accelerator, consulte [Traiga sus propias direcciones IP (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) en la *Guía para desarrolladores de AWS Global Accelerator*. Para usar su propio rango de direcciones IP con Amazon VPC IP Address Manager, consulte [Tutorial: Cómo convertir sus direcciones IP en IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoip-ipam.html) en la *Guía del usuario de IPAM de Amazon VPC*.

Al llevar un rango de direcciones IP a AWS, AWS valida que usted controla el rango de direcciones IP. Hay dos métodos que puede utilizar para demostrar que controla el rango:
+ Si su rango de direcciones IP está registrado en un registro de Internet compatible con el RDAP (como ARIN, RIPE y APNIC), puede comprobar el control de su dominio con un certificado X.509 mediante el proceso que se describe en esta página. El certificado solo debe ser válido durante el proceso de aprovisionamiento. Puede eliminar el certificado del registro de su RIR una vez que se haya completado la etapa de aprovisionamiento.
+ Independientemente de si su registro de Internet admite RDAP, puede utilizar el IPAM de Amazon VPC para verificar el control de su dominio con un registro TXT de DNS. Este proceso se documenta en el [Tutorial: transfiera sus direcciones IP a IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoip-ipam.html) en la *Guía del usuario de IPAM de Amazon VPC*.

Para obtener más información, consulte la charla tecnológica online de AWS [Deep Dive on Bring Your Own IP](https://pages.awscloud.com/Deep-Dive-on-Bring-Your-Own-IP_1024-NET_OD.html).

**Topics**
+ [

## Definiciones BYOIP
](#byoip-definitions)
+ [

## Requisitos y cuotas
](#byoip-requirements)
+ [

## Disponibilidad en las regiones
](#byoip-reg-avail)
+ [

## Disponibilidad en la zona local
](#byoip-zone-avail)
+ [Requisitos previos](prepare-for-byoip.md)
+ [Incorporación de su rango de direcciones](byoip-onboard.md)
+ [Uso del rango de direcciones](byoip-working-with.md)

## Definiciones BYOIP
<a name="byoip-definitions"></a>
+ **Certificado X.509 con autofirma**: estándar de certificado utilizado con mayor frecuencia para cifrar y autenticar datos dentro de una red. Es un certificado utilizado por AWS para validar el control sobre el espacio de IP desde un registro RDAP. Para obtener más información sobre los certificados X.509, consulte [RFC 3280](https://datatracker.ietf.org/doc/html/rfc3280).
+ **Número de sistema autónomo (ASN)**: identificador único mundial que define un grupo de prefijos IP administrados por uno o más operadores de red que mantienen una política de enrutamiento única y claramente definida.
+ **Registro regional de Internet (RIR)**: organización que administra la asignación y el registro de direcciones IP y ASN en una región del mundo.
+ **Protocolo de acceso a datos de registro (RDAP)**: protocolo de solo lectura para consultar los datos de registro actuales dentro de un RIR. Las entradas de la base de datos de RIR consultada se denominan “registros de RDAP”. Los clientes deben actualizar ciertos tipos de registros mediante un mecanismo proporcionado por el RIR. AWS consulta estos registros para verificar el control de un espacio de direcciones en el RIR.
+ **Autorización de origen de ruta (ROA)**: objeto creado por el Registro regional de Internet (RIR) para que los clientes autentiquen la publicidad de IP en sistemas autónomos determinados. Para obtener información general, consulte [Route Origin Authorizations (ROAs)](https://www.arin.net/resources/manage/rpki/roa_request/) en el sitio web de ARIN.
+ **Registro local de Internet (LIR)**: organizaciones como proveedores de servicios de Internet que asignan un bloque de direcciones IP de un RIR a sus clientes.

## Requisitos y cuotas
<a name="byoip-requirements"></a>
+ El rango de direcciones debe estar inscrito en el Registro regional de Internet (RIR). Consulte su RIR para conocer las políticas relacionadas con las regiones geográficas. Actualmente, BYOIP permite el Registro Norteamericano de Números de Internet (ARIN), el Centro de Coordinación de Redes IP Europeas (RIPE) o el Centro de Información de Redes de Asia-Pacífico (APNIC). Debe estar registrado con un negocio o entidad institucional y no puede registrarse con el nombre de un individuo.
+ El intervalo de direcciones IPv4 más específico que puede traer es /24.
+ El intervalo de direcciones IPv6 más específico que puede utilizar es /48 para los CIDR que se anuncian públicamente y /60 para los CIDR que [no se anuncian públicamente](byoip-onboard.md#byoip-provision-non-public).
+ Las ROA no son necesarias para los rangos de CIDR que no se anuncian públicamente, pero los registros de RDAP aún deben actualizarse.
+ Solo puede traer cada rango de direcciones a una región de AWS de forma simultánea.
+ Puede traer un total de cinco rangos de direcciones BYOIP IPv4 e IPv6 por región de AWS a su cuenta de AWS. No puede ajustar las cuotas para los CIDR de BYOIP mediante la consola de Service Quotas, pero puede comunicarse con el Centro de soporte de AWS como se describe en [AWS service quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) en *Referencia general de AWS*.
+ No puede compartir su rango de direcciones IP con otras cuentas mediante AWS RAM a menos que utilice el IP Address Manager (IPAM) de Amazon VPC e integre IPAM con AWS Organizations. Para obtener más información, consulte [Integración de IPAM con AWS Organizations](https://docs.aws.amazon.com/vpc/latest/ipam/enable-integ-ipam.html) en la *Guía del usuario de Amazon VPC IPAM*.
+ Las direcciones del rango de direcciones IP deben tener un historial limpio. Podemos investigar la reputación del intervalo de direcciones IP y reservarnos el derecho a rechazar un intervalo de direcciones IP si contiene una dirección IP con una mala reputación o asociada a un comportamiento malicioso.
+ El espacio de direcciones heredado, el espacio de direcciones IPv4 distribuido por el registro central de la Autoridad de Números Asignados de Internet (IANA) antes de la creación del sistema de Registro regional de Internet (RIR), aún requiere el objeto ROA correspondiente.
+ En el caso de los LIR, es común que utilicen un proceso manual para actualizar sus registros. Esto puede tardar días en implementarse en función del LIR.
+ Se necesita un único objeto ROA y un registro de RDAP para un bloque de CIDR grande. Puede traer varios bloques de CIDR más pequeños de ese rango a AWS, incluso en varias regiones de AWS, con el objeto único y el registro.
+ El BYOIP no es compatible en zonas de Wavelength o en AWS Outposts.
+ No realice ningún cambio manual para BYOIP en la base de datos de activos de enrutamiento (RADb) ni en ningún otro IRR. BYOIP actualizará automáticamente la RADb. Cualquier cambio manual que incluya el ASN de BYOIP provocará un error en la operación de aprovisionamiento de BYOIP.
+ Una vez que haya llevado un rango de direcciones IPv4 aAWS, podrá usar todas las direcciones IP del rango, incluidas la primera dirección (la dirección de red) y la última dirección (la dirección de transmisión).

## Disponibilidad en las regiones
<a name="byoip-reg-avail"></a>

La característica BYOIP está disponible actualmente en todas [las regiones comerciales de AWS](https://aws.amazon.com//about-aws/global-infrastructure/regions_az/), excepto en las regiones de China.

## Disponibilidad en la zona local
<a name="byoip-zone-avail"></a>

Una [zona local](https://docs.aws.amazon.com/local-zones/latest/ug/how-local-zones-work.html) es una extensión de una región de AWS que se encuentra geográficamente cerca de los usuarios. Las zonas locales se agrupan en “grupos fronterizos de red”. En AWS, un grupo fronterizo de red es un conjunto de zonas de disponibilidad (AZ), zonas locales o zonas de Wavelength desde las que AWS anuncia una dirección IP pública. Es posible que las zonas locales tengan grupos fronterizos de red diferentes a los de las AZ de una región de AWS para garantizar una latencia o una distancia física mínima entre la red de AWS y los clientes que acceden a los recursos de estas zonas.

Puede aprovisionar intervalos de direcciones BYOIPv4 y anunciarlos en los siguientes grupos fronterizos de red de las zonas locales mediante la opción `--network-border-group`:
+ af-south-1-los-1
+ ap-northeast-1-tpe-1
+ ap-south-1-ccu-1
+ ap-south-1-del-1
+ ap-southeast-1-bkk-1
+ ap-southeast-1-mnl-1
+ ap-southeast-2-akl-1
+ ap-southeast-2-per-1
+ eu-central-1-ham-1
+ eu-central-1-waw-1
+ eu-north-1-cph-1
+ eu-north-1-hel-1
+ me-south-1-mct-1
+ us-east-1-atl-2
+ us-east-1-bos-1
+ us-east-1-bue-1
+ us-east-1-chi-2
+ us-east-1-dfw-2
+ us-east-1-iah-2
+ us-east-1-lim-1
+ us-east-1-mci-1
+ us-east-1-mia-2
+ us-east-1-msp-1
+ us-east-1-nyc-1
+ us-east-1-nyc-2
+ us-east-1-phl-1
+ us-east-1-qro-1
+ us-east-1-scl-1
+ us-west-2-den-1
+ us-west-2-hnl-1
+ us-west-2-las-1
+ us-west-2-lax-1
+ us-west-2-pdx-1
+ us-west-2-phx-2
+ us-west-2-sea-1

Si tiene zonas locales habilitadas (consulte [Habilitar una zona local](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html#getting-started-find-local-zone)), puede elegir un grupo fronterizo de red para las zonas locales al aprovisionar y anunciar un CIDR de BYOIPv4. Elija el grupo de bordes de red con cuidado, ya que la EIP y el recurso de AWS al que está asociado deben residir en el mismo grupo de bordes de red.

**nota**  
En este momento, no puede aprovisionar ni anunciar intervalos de direcciones BYOIPv6 en las zonas locales.

# Requisitos previos de BYOIP en Amazon EC2
<a name="prepare-for-byoip"></a>

El proceso de incorporación de BYOIP tiene dos fases, para las cuales debe realizar tres pasos. Estos pasos corresponden a los pasos descritos en el siguiente diagrama. Incluimos pasos manuales en esta documentación, pero su RIR puede ofrecer servicios administrados para ayudarlo con estos pasos.

**sugerencia**  
Las tareas de esta sección requieren un terminal Linux y se pueden realizar mediante Linux, [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) o el [Subsistema de Windows para Linux](https://learn.microsoft.com/en-us/windows/wsl/about).

**Topics**
+ [

## Descripción general
](#byoip-onboarding-overview)
+ [

## Cree una clave privada y genere un certificado X.509
](#byoip-certificate)
+ [

## Cargue el certificado X.509 al registro RDAP de su RIR
](#byoip-add-certificate)
+ [

## Creación de un objeto ROA en su Registro Regional de Internet (RIR)
](#byoip-create-roa-object)

## Descripción general
<a name="byoip-onboarding-overview"></a>

**Fase de preparación**  
[1] [Cree una clave privada](#byoip-certificate) y úsela para generar un certificado X.509 autofirmado para fines de autenticación. Este certificado solo se usa durante la fase de aprovisionamiento. Puede eliminar el certificado del registro de su RIR una vez que se haya completado el aprovisionamiento.

**Fase de configuración del RIR**

[2] [Cargue el certificado autofirmado](#byoip-add-certificate) en los comentarios del registro de RDAP.

[3] [Cree un objeto ROA](#byoip-create-roa-object) en su Registro Regional de Internet (RIR). La autorización de origen de ruta (ROA) define el rango de direcciones deseado, los números de sistema autónomo (ASN) permitidos para anunciar el rango de direcciones y una fecha de vencimiento para registrarse en la infraestructura de clave pública de recursos (RPKI) de su RIR.

**nota**  
No se requiere una ROA para el espacio de direcciones IPv6 que no se anuncia públicamente.

![\[El proceso de incorporación de 3 pasos para BYOIP.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/byoip-preonboarding.png)


Para incorporar varios rangos de direcciones no contiguos, debe repetir este proceso con cada rango de direcciones. Sin embargo, no es necesario repetir los pasos de preparación y de configuración del RIR si se divide un bloque contiguo en varias regiones de AWS diferentes.

La incorporación de un rango de direcciones no tiene ningún efecto en ninguno de los rangos de direcciones que haya incorporado con anterioridad.

## Cree una clave privada y genere un certificado X.509
<a name="byoip-certificate"></a>

Use el siguiente procedimiento para crear un certificado autofirmado X.509 y agréguelo al registro de RDAP para su RIR. Este par de claves se utiliza para autenticar el rango de direcciones con el RIR. Los comandos **openssl** requieren la versión 1.0.2 o posterior de OpenSSL.

Copie los comandos siguientes y reemplace solo los valores del marcador de posición (en cursiva y de color).

Este procedimiento sigue la práctica recomendada de cifrar su clave de RSA privada y de requerir una frase de contraseña para acceder a ella.

1. Genere una clave RSA privada de 2048 bits del siguiente modo.

   ```
   $ openssl genpkey -aes256 -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out private-key.pem
   ```

   El parámetro `-aes256` especifica el algoritmo utilizado para cifrar la clave privada. El comando devuelve el siguiente resultado, incluidos los pedidos para establecer una frase de contraseña:

   ```
   ......+++
   .+++
   Enter PEM pass phrase: xxxxxxx
   Verifying - Enter PEM pass phrase: xxxxxxx
   ```

   Puede inspeccionar la clave mediante el siguiente comando:

   ```
   $ openssl pkey -in private-key.pem -text
   ```

   Esto devuelve un pedido de frase de contraseña y el contenido de la clave, que debería ser similar a lo siguiente:

   ```
   Enter pass phrase for private-key.pem: xxxxxxx
   -----BEGIN PRIVATE KEY-----
   MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDFBXHRI4HVKAhh
   3seiciooizCRTbJe1+YsxNTja4XyKypVGIFWDGhZs44FCHlPOOSVJ+NqP74w96oM
   7DPS3xo9kaQyZBFn2YEp2EBq5vf307KHNRmZZUmkn0zHOSEpNmY2fMxISBxewlxR
   FAniwmSd/8TDvHJMY9FvAIvWuTsv5l0tJKk+a91K4+tO3UdDR7Sno5WXExfsBrW3
   g1ydo3TBsx8i5/YiVOcNApy7ge2/FiwY3aCXJB6r6nuF6H8mRgI4r4vkMRsOlAhJ
   DnZPNeweboo+K3Q3lwbgbmOKD/z9svk8N/+hUTBtIX0fRtbG+PLIw3xWRHGrMSn2
   BzsPVuDLAgMBAAECggEACiJUj2hfJkKv47Dc3es3Zex67A5uDVjXmxfox2Xhdupn
   fAcNqAptV6fXt0SPUNbhUxbBKNbshoJGufFwXPli1SXnpzvkdU4Hyco4zgbhXFsE
   RNYjYfOGzTPwdBLpNMB6k3Tp4RHse6dNrlH0jDhpioL8cQEBdBJyVF5X0wymEbmV
   mC0jgH/MxsBAPWW6ZKicg9ULMlWiAZ3MRAZPjHHgpYkAAsUWKAbCBwVQcVjGO59W
   jfZjzTX5pQtVVH68ruciH88DTZCwjCkjBhxg+OIkJBLE5wkh82jIHSivZ63flwLw
   z+E0+HhELSZJrn2MY6Jxmik3qNNUOF/Z+3msdj2luQKBgQDjwlC/3jxp8zJy6P8o
   JQKv7TdvMwUj4VSWOHZBHLv4evJaaia0uQjIo1UDa8AYitqhX1NmCCehGH8yuXj/
   v6V3CzMKDkmRr1NrONnSz5QsndQ04Z6ihAQlPmJ96g4wKtgoC7AYpyP0g1a+4/sj
   b1+o3YQI4pD/F71c+qaztH7PRwKBgQDdc23yNmT3+Jyptf0fKjEvONK+xwUKzi9c
   L/OzBq5yOIC1Pz2T85gOe1i8kwZws+xlpG6uBT6lmIJELd0k59FyupNu4dPvX5SD
   6GGqdx4jk9KvI74usGeOBohmF0phTHkrWKBxXiyT0oS8zjnJlEn8ysIpGgO28jjr
   LpaHNZ/MXQKBgQDfLNcnS0LzpsS2aK0tzyZU8SMyqVHOGMxj7quhneBq2T6FbiLD
   T9TVlYaGNZ0j71vQaLI19qOubWymbautH0Op5KV8owdf4+bf1/NJaPIOzhDUSIjD
   Qo01WW31Z9XDSRhKFTnWzmCjBdeIcajyzf10YKsycaAW9lItu8aBrMndnQKBgQDb
   nNp/JyRwqjOrNljk7DHEs+SD39kHQzzCfqd+dnTPv2sc06+cpym3yulQcbokULpy
   fmRo3bin/pvJQ3aZX/Bdh9woTXqhXDdrrSwWInVYMQPyPk8f/D9mIOJp5FUWMwHD
   U+whIZSxsEeE+jtixlWtheKRYkQmzQZXbWdIhYyI3QKBgD+F/6wcZ85QW8nAUykA
   3WrSIx/3cwDGdm4NRGct8ZOZjTHjiy9ojMOD1L7iMhRQ/3k3hUsin5LDMp/ryWGG
   x4uIaLat40kiC7T4I66DM7P59euqdz3w0PD+VU+h7GSivvsFDdySUt7bNK0AUVLh
   dMJfWxDN8QV0b5p3WuWH1U8B
   -----END PRIVATE KEY-----
   Private-Key: (2048 bit)
   modulus:
       00:c5:05:71:d1:23:81:d5:28:08:61:de:c7:a2:72:
       2a:28:8b:30:91:4d:b2:5e:d7:e6:2c:c4:d4:e3:6b:
       85:f2:2b:2a:55:18:81:56:0c:68:59:b3:8e:05:08:
       79:4f:38:e4:95:27:e3:6a:3f:be:30:f7:aa:0c:ec:
       33:d2:df:1a:3d:91:a4:32:64:11:67:d9:81:29:d8:
       40:6a:e6:f7:f7:d3:b2:87:35:19:99:65:49:a4:9f:
       4c:c7:39:21:29:36:66:36:7c:cc:48:48:1c:5e:c2:
       5c:51:14:09:e2:c2:64:9d:ff:c4:c3:bc:72:4c:63:
       d1:6f:00:8b:d6:b9:3b:2f:e6:5d:2d:24:a9:3e:6b:
       dd:4a:e3:eb:4e:dd:47:43:47:b4:a7:a3:95:97:13:
       17:ec:06:b5:b7:83:5c:9d:a3:74:c1:b3:1f:22:e7:
       f6:22:54:e7:0d:02:9c:bb:81:ed:bf:16:2c:18:dd:
       a0:97:24:1e:ab:ea:7b:85:e8:7f:26:46:02:38:af:
       8b:e4:31:1b:0e:94:08:49:0e:76:4f:35:ec:1e:6e:
       8a:3e:2b:74:37:97:06:e0:6e:63:8a:0f:fc:fd:b2:
       f9:3c:37:ff:a1:51:30:6d:21:7d:1f:46:d6:c6:f8:
       f2:c8:c3:7c:56:44:71:ab:31:29:f6:07:3b:0f:56:
       e0:cb
   publicExponent: 65537 (0x10001)
   privateExponent:
       0a:22:54:8f:68:5f:26:42:af:e3:b0:dc:dd:eb:37:
       65:ec:7a:ec:0e:6e:0d:58:d7:9b:17:e8:c7:65:e1:
       76:ea:67:7c:07:0d:a8:0a:6d:57:a7:d7:b7:44:8f:
       50:d6:e1:53:16:c1:28:d6:ec:86:82:46:b9:f1:70:
       5c:f9:62:d5:25:e7:a7:3b:e4:75:4e:07:c9:ca:38:
       ce:06:e1:5c:5b:04:44:d6:23:61:f3:86:cd:33:f0:
       74:12:e9:34:c0:7a:93:74:e9:e1:11:ec:7b:a7:4d:
       ae:51:f4:8c:38:69:8a:82:fc:71:01:01:74:12:72:
       54:5e:57:d3:0c:a6:11:b9:95:98:2d:23:80:7f:cc:
       c6:c0:40:3d:65:ba:64:a8:9c:83:d5:0b:32:55:a2:
       01:9d:cc:44:06:4f:8c:71:e0:a5:89:00:02:c5:16:
       28:06:c2:07:05:50:71:58:c6:3b:9f:56:8d:f6:63:
       cd:35:f9:a5:0b:55:54:7e:bc:ae:e7:22:1f:cf:03:
       4d:90:b0:8c:29:23:06:1c:60:f8:e2:24:24:12:c4:
       e7:09:21:f3:68:c8:1d:28:af:67:ad:df:97:02:f0:
       cf:e1:34:f8:78:44:2d:26:49:ae:7d:8c:63:a2:71:
       9a:29:37:a8:d3:54:38:5f:d9:fb:79:ac:76:3d:a5:
       b9
   prime1:
       00:e3:c2:50:bf:de:3c:69:f3:32:72:e8:ff:28:25:
       02:af:ed:37:6f:33:05:23:e1:54:96:38:76:41:1c:
       bb:f8:7a:f2:5a:6a:26:b4:b9:08:c8:a3:55:03:6b:
       c0:18:8a:da:a1:5f:53:66:08:27:a1:18:7f:32:b9:
       78:ff:bf:a5:77:0b:33:0a:0e:49:91:af:53:6b:38:
       d9:d2:cf:94:2c:9d:d4:34:e1:9e:a2:84:04:25:3e:
       62:7d:ea:0e:30:2a:d8:28:0b:b0:18:a7:23:f4:83:
       56:be:e3:fb:23:6f:5f:a8:dd:84:08:e2:90:ff:17:
       bd:5c:fa:a6:b3:b4:7e:cf:47
   prime2:
       00:dd:73:6d:f2:36:64:f7:f8:9c:a9:b5:fd:1f:2a:
       31:2f:38:d2:be:c7:05:0a:ce:2f:5c:2f:f3:b3:06:
       ae:72:38:80:b5:3f:3d:93:f3:98:0e:7b:58:bc:93:
       06:70:b3:ec:65:a4:6e:ae:05:3e:a5:98:82:44:2d:
       dd:24:e7:d1:72:ba:93:6e:e1:d3:ef:5f:94:83:e8:
       61:aa:77:1e:23:93:d2:af:23:be:2e:b0:67:8e:06:
       88:66:17:4a:61:4c:79:2b:58:a0:71:5e:2c:93:d2:
       84:bc:ce:39:c9:94:49:fc:ca:c2:29:1a:03:b6:f2:
       38:eb:2e:96:87:35:9f:cc:5d
   exponent1:
       00:df:2c:d7:27:4b:42:f3:a6:c4:b6:68:ad:2d:cf:
       26:54:f1:23:32:a9:51:ce:18:cc:63:ee:ab:a1:9d:
       e0:6a:d9:3e:85:6e:22:c3:4f:d4:d5:95:86:86:35:
       9d:23:ef:5b:d0:68:b2:35:f6:a3:ae:6d:6c:a6:6d:
       ab:ad:1f:43:a9:e4:a5:7c:a3:07:5f:e3:e6:df:d7:
       f3:49:68:f2:0e:ce:10:d4:48:88:c3:42:8d:35:59:
       6d:f5:67:d5:c3:49:18:4a:15:39:d6:ce:60:a3:05:
       d7:88:71:a8:f2:cd:fd:74:60:ab:32:71:a0:16:f6:
       52:2d:bb:c6:81:ac:c9:dd:9d
   exponent2:
       00:db:9c:da:7f:27:24:70:aa:33:ab:36:58:e4:ec:
       31:c4:b3:e4:83:df:d9:07:43:3c:c2:7e:a7:7e:76:
       74:cf:bf:6b:1c:d3:af:9c:a7:29:b7:ca:e9:50:71:
       ba:24:50:ba:72:7e:64:68:dd:b8:a7:fe:9b:c9:43:
       76:99:5f:f0:5d:87:dc:28:4d:7a:a1:5c:37:6b:ad:
       2c:16:22:75:58:31:03:f2:3e:4f:1f:fc:3f:66:20:
       e2:69:e4:55:16:33:01:c3:53:ec:21:21:94:b1:b0:
       47:84:fa:3b:62:c6:55:ad:85:e2:91:62:44:26:cd:
       06:57:6d:67:48:85:8c:88:dd
   coefficient:
       3f:85:ff:ac:1c:67:ce:50:5b:c9:c0:53:29:00:dd:
       6a:d2:23:1f:f7:73:00:c6:76:6e:0d:44:67:2d:f1:
       93:99:8d:31:e3:8b:2f:68:8c:c3:83:d4:be:e2:32:
       14:50:ff:79:37:85:4b:22:9f:92:c3:32:9f:eb:c9:
       61:86:c7:8b:88:68:b6:ad:e3:49:22:0b:b4:f8:23:
       ae:83:33:b3:f9:f5:eb:aa:77:3d:f0:d0:f0:fe:55:
       4f:a1:ec:64:a2:be:fb:05:0d:dc:92:52:de:db:34:
       ad:00:51:52:e1:74:c2:5f:5b:10:cd:f1:05:74:6f:
       9a:77:5a:e5:87:d5:4f:01
   ```

   Mantenga su clave privada en un lugar seguro cuando no la esté utilizando.

1. Genere un certificado X.509 con la clave privada que creó en el paso anterior. En este ejemplo, el certificado vence en 365 días. Pasada dicha cantidad de días, no será fiable. Asegúrese de fijar la fecha de vencimiento en concordancia. El certificado solo debe ser válido durante el proceso de aprovisionamiento. Puede eliminar el certificado del registro de su RIR una vez que se haya completado la etapa de aprovisionamiento. El comando `tr -d "\n"` elimina caracteres de nueva línea (saltos de línea) del resultado. Cuando se le solicite, debe proporcionar un nombre común, pero los demás campos se pueden dejar en blanco.

   ```
   $ openssl req -new -x509 -key private-key.pem -days 365 | tr -d "\n" > certificate.pem
   ```

   Esto devuelve un resultado similar a lo siguiente:

   ```
   Enter pass phrase for private-key.pem: xxxxxxx
   You are about to be asked to enter information that will be incorporated
   into your certificate request.
   What you are about to enter is what is called a Distinguished Name or a DN.
   There are quite a few fields but you can leave some blank
   For some fields there will be a default value,
   If you enter '.', the field will be left blank.
   -----
   Country Name (2 letter code) []:
   State or Province Name (full name) []:
   Locality Name (eg, city) []:
   Organization Name (eg, company) []:
   Organizational Unit Name (eg, section) []:
   Common Name (eg, fully qualified host name) []:example.com
   Email Address []:
   ```
**nota**  
El nombre común no es necesario para el aprovisionamiento de AWS. Puede ser cualquier nombre de dominio interno o público.

   Puede inspeccionar el certificado con el siguiente comando:

   ```
   $ cat certificate.pem
   ```

   El resultado debe ser una cadena larga, codificada en PEM, sin saltos de línea, precedida por `-----BEGIN CERTIFICATE-----` y seguida por `-----END CERTIFICATE-----`.

## Cargue el certificado X.509 al registro RDAP de su RIR
<a name="byoip-add-certificate"></a>

Agregue el certificado que creó anteriormente al registro de RDAP para su RIR. Asegúrese de incluir las cadenas `-----BEGIN CERTIFICATE-----` y `-----END CERTIFICATE-----` antes y después de la parte codificada. Todo este contenido debe estar en una sola línea larga. El procedimiento para actualizar el RDAP depende de su RIR:
+ Para ARIN, utilice el [portal del administrador de cuentas](https://account.arin.net/public/secure/dashboard) para agregar el certificado en la sección “Comentarios públicos” del objeto “Información de red” que representa su rango de direcciones. No lo añada a la sección de comentarios de su organización.
+ Para RIPE, agregue el certificado como un nuevo campo “descr” al objeto “inetnum” o “inet6num” que representa su rango de direcciones. Por lo general, se encuentran en la sección “Mis recursos” del [portal de bases de datos de RIPE](https://apps.db.ripe.net/db-web-ui/myresources/overview). No lo agregue a la sección de comentarios de la organización ni al campo “comentarios” de los objetos anteriores.
+ Para APNIC, agregue el certificado editando las observaciones en el registro “inetnum” o “inet6num”.

Puede eliminar el certificado del registro de su RIR una vez que se haya completado la siguiente etapa de aprovisionamiento. 

## Creación de un objeto ROA en su Registro Regional de Internet (RIR)
<a name="byoip-create-roa-object"></a>

Cree un objeto ROA para permitir que los ASN de Amazon 16509 y 14618 anuncien su rango de direcciones, así como también los ASN que cuentan actualmente con autorización para anunciar el rango de direcciones. Para AWS GovCloud (US) Regions, autorice ASN 8987 en lugar de 16509 y 14618. Se debe fijar la longitud máxima en función del tamaño del CIDR que traiga. El prefijo IPv4 más específico que puede traer es /24. El intervalo de direcciones IPv6 más específico que puede traer es /48 para los CIDR que se anuncian públicamente y /60 para los CIDR que no se anuncian públicamente.

**importante**  
Si va a crear un objeto ROA para Amazon VPC IP Address Manager (IPAM), al crear los ROA, para los CIDR de IPv4 debe establecer la longitud máxima de un prefijo de dirección IP en `/24`. Para los CIDR IPv6, si los agregará a un grupo que se puede anunciar, la longitud máxima de un prefijo de dirección IP debe ser `/48`. Esto garantiza que tenga total flexibilidad para dividir su dirección IP pública entre regiones de AWS. IPAM impone la longitud máxima que establezca. Para obtener más información sobre las direcciones BYOIP para IPAM, consulte [Tutorial: CIDR con dirección BYOIP a IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoip-ipam.html) en la *Guía del usuario de Amazon VPC IPAM*.

Es posible que pasen 24 horas hasta que la ROA esté disponible en Amazon. Para obtener más información, consulte su RIR:
+ ARIN — [ROA Requests](https://www.arin.net/resources/rpki/roarequest.html)
+ RIPE — [Managing ROAs](https://www.ripe.net/manage-ips-and-asns/resource-management/rpki/resource-certification-roa-management/)
+ APNIC — [Route Management](https://www.apnic.net/wp-content/uploads/2017/01/route-roa-management-guide.pdf)

Al migrar anuncios desde una carga de trabajo en las instalaciones a AWS, debe crear una ROA para su ASN existente antes de crear las ROA para los ASN de Amazon. De lo contrario, podría afectar al enrutamiento y a los anuncios existentes.

**importante**  
Para que Amazon anuncie y siga anunciando su intervalo de direcciones IP, sus ROA con los ASN de Amazon deben cumplir con las directrices anteriores. Si sus ROA no son válidas o no cumplen con las normas anteriores, Amazon se reserva el derecho de dejar de anunciar su rango de direcciones IP.

**nota**  
Este paso no se requiere para el espacio de direcciones IPv6 que no se anuncia públicamente.

# Incorporación de su rango de direcciones para usarlo en Amazon EC2
<a name="byoip-onboard"></a>

El proceso de incorporación de BYOIP incluye las siguientes tareas en función de sus necesidades.

**Topics**
+ [

## Aprovisione un intervalo de direcciones que se anuncie públicamente en AWS
](#byoip-provision)
+ [

## Aprovisione un intervalo de direcciones IPv6 que no se anuncie públicamente
](#byoip-provision-non-public)
+ [

## Anunciar el rango de direcciones mediante AWS
](#byoip-advertise)
+ [

## Desaprovisionar el rango de direcciones
](#byoip-deprovision)
+ [

## Validación de su BYOIP
](#byoip-validation)

## Aprovisione un intervalo de direcciones que se anuncie públicamente en AWS
<a name="byoip-provision"></a>

Cuando aprovisiona un rango de direcciones para utilizarlo con AWS, usted confirma que controla el rango de direcciones y autoriza que Amazon lo anuncie. También verificamos que controla el rango de direcciones a través de un mensaje de autorización firmado. Este mensaje se firma con el par de claves autofirmado X.509 que utilizó cuando actualizó el registro de RDAP con el certificado X.509. AWS requiere un mensaje de autorización firmado criptográficamente que presenta al RIR. El RIR autentica la firma con el certificado que agregó al RDAP y verifica los detalles de autorización con la ROA.

**Para aprovisionar el rango de direcciones**

1. 

**Redactar mensajes**

   Redacte el mensaje de autorización de texto sin formato. El formato del mensaje es el siguiente, donde la fecha es la fecha de vencimiento del mensaje: 

   ```
   1|aws|account|cidr|YYYYMMDD|SHA256|RSAPSS
   ```

   Reemplace el número de cuenta, el rango de direcciones y la fecha de vencimiento con sus propios valores para crear un mensaje similar al siguiente:

   ```
   text_message="1|aws|0123456789AB|198.51.100.0/24|20211231|SHA256|RSAPSS"
   ```

   Esto no debe confundirse con un mensaje de ROA, que es similar.

1. 

**Firmar el mensaje**

   Firme el mensaje de texto sin formato con la clave privada que creó anteriormente. La firma que devuelve este comando es una cadena larga que deberá usar en el siguiente paso.
**importante**  
Le recomendamos que copie y pegue este comando. Excepto por el contenido del mensaje, no modifique ni reemplace ninguno de los valores.

   ```
   signed_message=$( echo -n $text_message | openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -sign private-key.pem -keyform PEM | openssl base64 | tr -- '+=/' '-_~' | tr -d "\n")
   ```

1. 

**Aprovisionar la dirección**

   Para aprovisionar el rango de direcciones, use el comando [provision-byoip-cidr](https://docs.aws.amazon.com/cli/latest/reference/ec2/provision-byoip-cidr.html) de la AWS CLI. La opción `--cidr-authorization-context` utiliza las cadenas de mensaje y firma que creó anteriormente.
**importante**  
Debe especificar la región de AWS en la que se debe aprovisionar el rango de BYOIP si difiere del `Default region name` de [Configure the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).

   ```
   aws ec2 provision-byoip-cidr --cidr address-range --cidr-authorization-context Message="$text_message",Signature="$signed_message" --region us-east-1
   ```

   Aprovisionar un rango de direcciones es una operación asincrónica, por lo que la llamada se devuelve de forma inmediata, pero el rango de direcciones no se podrá utilizar hasta que su estado pase de `pending-provision` a `provisioned`.

1. 

**Monitorear el progreso**

   Si bien la mayoría del aprovisionamiento se completará en dos horas, el proceso de aprovisionamiento de los intervalos que se pueden anunciar públicamente puede tardar hasta una semana en completarse. Utilice el comando [describe-byoip-cidrs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-byoip-cidrs.html) para monitorear el progreso, como en este ejemplo:

   ```
   aws ec2 describe-byoip-cidrs --max-results 5 --region us-east-1
   ```

   Si hay problemas durante el aprovisionamiento y el estado pasa a `failed-provision`, debe ejecutar el comando `provision-byoip-cidr` de nuevo una vez que se hayan resuelto los problemas.

## Aprovisione un intervalo de direcciones IPv6 que no se anuncie públicamente
<a name="byoip-provision-non-public"></a>

De forma predeterminada, se aprovisiona un intervalo de direcciones para que se anuncie públicamente en Internet. Puede aprovisionar un intervalo de direcciones IPv6 que no se anunciará públicamente. Para las rutas que no son anunciables públicamente, el proceso de aprovisionamiento generalmente se completa en cuestión de minutos. Cuando asocia un bloque de CIDR IPv6 de un rango de direcciones no público a una VPC, solo se puede acceder al CIDR IPv6 a través de opciones de conectividad híbrida que admiten IPv6, como [Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html), [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) o [puertas de enlace de tránsito de Amazon VPC](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html).

No se requiere una ROA para aprovisionar un intervalo de direcciones no públicas.

**importante**  
Solo puede especificar si un intervalo de direcciones se anuncia públicamente durante el aprovisionamiento. No puede cambiar el estado anunciable de un rango de direcciones con posterioridad.
Amazon VPC no admite los CIDR de [direcciones locales únicas](https://en.wikipedia.org/wiki/Unique_local_address) (ULA). Todas las VPC deben tener CIDR de IPv6 únicos. Dos VPC no pueden tener el mismo rango de CIDR de IPv6. 

Para aprovisionar un intervalo de direcciones IPv6 que no se anunciará públicamente, use el siguiente comando [provision-byoip-cidr](https://docs.aws.amazon.com/cli/latest/reference/ec2/provision-byoip-cidr.html).

```
aws ec2 provision-byoip-cidr --cidr address-range --cidr-authorization-context Message="$text_message",Signature="$signed_message" --no-publicly-advertisable --region us-east-1
```

## Anunciar el rango de direcciones mediante AWS
<a name="byoip-advertise"></a>

Una vez aprovisionado el rango de direcciones, ya se puede anunciar. Debe anunciar el rango de direcciones exacto que ha aprovisionado. No puede anunciar solo una parte del rango de direcciones aprovisionado.

Si ha aprovisionado un intervalo de direcciones IPv6 que no se anunciará públicamente, no es necesario que complete este paso.

Le recomendamos que deje de anunciar el rango de direcciones o una parte de él desde otras ubicaciones antes de anunciarlo a través de AWS. Si sigue anunciando su rango de direcciones IP o una parte de él desde otras ubicaciones, no podremos asistirle de forma fiable ni solucionar los problemas. En especial, no podremos garantizar que el tráfico hacia el rango de direcciones o una parte de él entre en nuestra red.

Para minimizar el tiempo de inactividad, puede configurar sus recursos de AWS para que utilicen una dirección de su grupo de direcciones antes de que se anuncie. Luego puede dejar de anunciarla de forma simultánea desde la ubicación actual y empezar a anunciarla a través de AWS. Para obtener más información acerca de cómo asignar una dirección IP elástica desde su grupo de direcciones, consulte [Asignar una dirección IP elástica](working-with-eips.md#using-instance-addressing-eips-allocating).

**Limitaciones**
+ Puede ejecutar el comando **advertise-byoip-cidr** como mucho una vez cada 10 segundos, incluso si indica rangos de direcciones diferentes cada vez.
+ Puede ejecutar el comando **withdraw-byoip-cidr** como mucho una vez cada 10 segundos, incluso si indica rangos de direcciones diferentes cada vez.

Para anunciar el rango de direcciones, use el siguiente comando [advertise-byoip-cidr](https://docs.aws.amazon.com/cli/latest/reference/ec2/advertise-byoip-cidr.html).

```
aws ec2 advertise-byoip-cidr --cidr address-range --region us-east-1
```

Para dejar de anunciar el rango de direcciones, use el siguiente comando [withdraw-byoip-cidr](https://docs.aws.amazon.com/cli/latest/reference/ec2/withdraw-byoip-cidr.html).

```
aws ec2 withdraw-byoip-cidr --cidr address-range --region us-east-1
```

## Desaprovisionar el rango de direcciones
<a name="byoip-deprovision"></a>

Para dejar de utilizar el rango de direcciones con AWS, primero libere las direcciones IP elásticas y desasocie los bloques de CIDR IPv6 que todavía estén asignados del grupo de direcciones. A continuación, deje de anunciar el intervalo de direcciones y, finalmente, desaprovisione el intervalo de direcciones.

No puede desaprovisionar una parte del intervalo de direcciones. Si desea utilizar un rango de direcciones más específico con AWS, desaprovisione todo el rango de direcciones y aprovisione un rango de direcciones más específico.

(IPv4) Para liberar cada dirección IP elástica, utilice el siguiente comando [release-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/release-address.html).

```
aws ec2 release-address --allocation-id eipalloc-12345678abcabcabc --region us-east-1
```

(IPv6) Para desasociar un bloque de CIDR IPv6, utilice el siguiente comando [disassociate-vpc-cidr-block](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-vpc-cidr-block.html).

```
aws ec2 disassociate-vpc-cidr-block --association-id vpc-cidr-assoc-12345abcd1234abc1 --region us-east-1
```

Para dejar de anunciar el rango de direcciones, use el siguiente comando [withdraw-byoip-cidr](https://docs.aws.amazon.com/cli/latest/reference/ec2/withdraw-byoip-cidr.html).

```
aws ec2 withdraw-byoip-cidr --cidr address-range --region us-east-1
```

Para desaprovisionar el rango de direcciones, use el siguiente comando [deprovision-byoip-cidr](https://docs.aws.amazon.com/cli/latest/reference/ec2/deprovision-byoip-cidr.html).

```
aws ec2 deprovision-byoip-cidr --cidr address-range --region us-east-1
```

Puede tardar hasta un día en desaprovisionar un intervalo de direcciones.

## Validación de su BYOIP
<a name="byoip-validation"></a>

1. Validación del par de claves del X.509 autofirmado

   Valide que el certificado se ha cargado y es válido a través del comando whois.

   Para ARIN, utilice `whois -h whois.arin.net r + 2001:0DB8:6172::/48` para buscar el registro de RDAP para su rango de direcciones. Compruebe la sección `Public Comments` para el `NetRange` (rango de red) en la salida del comando. El certificado debe agregarse en la sección `Public Comments` para el rango de direcciones.

   Puede inspeccionar la sección `Public Comments` que contiene el certificado con el siguiente comando:

   ```
   whois -h whois.arin.net r + 2001:0DB8:6172::/48 | grep Comments | grep BEGIN
   ```

   Esto devuelve un resultado con el contenido de la clave, que debería ser similar a lo siguiente:

   ```
   Public Comments:
   -----BEGIN CERTIFICATE-----
   MIID1zCCAr+gAwIBAgIUBkRPNSLrPqbRAFP8RDAHSP+I1TowDQYJKoZIhvcNAQE
   LBQAwezELMAkGA1UEBhMCTloxETAPBgNVBAgMCEF1Y2tsYW5kMREwDwYDVQQHDA
   hBdWNrbGFuZDEcMBoGA1UECgwTQW1hem9uIFdlYiBTZXJ2aWNlczETMBEGA1UEC
   wwKQllPSVAgRGVtbzETMBEGA1UEAwwKQllPSVAgRGVtbzAeFw0yMTEyMDcyMDI0
   NTRaFw0yMjEyMDcyMDI0NTRaMHsxCzAJBgNVBAYTAk5aMREwDwYDVQQIDAhBdWN
   rbGFuZDERMA8GA1UEBwwIQXVja2xhbmQxHDAaBgNVBAoME0FtYXpvbiBXZWIgU2
   VydmljZXMxEzARBgNVBAsMCkJZT0lQIERlbW8xEzARBgNVBAMMCkJZT0lQIERlb
   W8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfmacvDp0wZ0ceiXXc
   R/q27mHI/U5HKt7SST4X2eAqufR9wXkfNanAEskgAseyFypwEEQr4CJijI/5hp9
   prh+jsWHWwkFRoBRR9FBtwcU/45XDXLga7D3stsI5QesHVRwOaXUdprAnndaTug
   mDPkD0vrl475JWDSIm+PUxGWLy+60aBqiaZq35wU/x+wXlAqBXg4MZK2KoUu27k
   Yt2zhmy0S7Ky+oRfRJ9QbAiSu/RwhQbh5Mkp1ZnVIc7NqnhdeIW48QaYjhMlUEf
   xdaqYUinzz8KpjfADZ4Hvqj9jWZ/eXo/9b2rGlHWkJsbhr0VEUyAGu1bwkgcdww
   3A7NjOxQbAgMBAAGjUzBRMB0GA1UdDgQWBBStFyujN6SYBr2glHpGt0XGF7GbGT
   AfBgNVHSMEGDAWgBStFyujN6SYBr2glHpGt0XGF7GbGTAPBgNVHRMBAf8EBTADA
   QH/MA0GCSqGSIb3DQEBCwUAA4IBAQBX6nn6YLhz521lfyVfxY0t6o3410bQAeAF
   08ud+ICtmQ4IO4A4B7zV3zIVYr0clrOOaFyLxngwMYN0XY5tVhDQqk4/gmDNEKS
   Zy2QkX4Eg0YUWVzOyt6fPzjOvJLcsqc1hcF9wySL507XQz76Uk5cFypBOzbnk35
   UkWrzA9KK97cXckfIESgK/k1N4ecwxwG6VQ8mBGqVpPpey+dXpzzzv1iBKN/VY4
   ydjgH/LBfdTsVarmmy2vtWBxwrqkFvpdhSGCvRDl/qdO/GIDJi77dmZWkh/ic90
   MNk1f38gs1jrCj8lThoar17Uo9y/Q5qJIsoNPyQrJRzqFU9F3FBjiPJF
   -----END CERTIFICATE-----
   ```

   Para RIPE, utilice `whois -r -h whois.ripe.net 2001:0DB8:7269::/48` para buscar el registro de RDAP para su rango de direcciones. Compruebe la sección `descr` para el objeto `inetnum` (rango de red) en la salida del comando. El certificado debe agregarse como un nuevo campo `descr` para el rango de direcciones.

   Puede inspeccionar la sección `descr` que contiene el certificado con el siguiente comando:

   ```
   whois -r -h whois.ripe.net 2001:0DB8:7269::/48 | grep descr | grep BEGIN
   ```

   Esto devuelve un resultado con el contenido de la clave, que debería ser similar a lo siguiente:

   ```
   descr:
   -----BEGIN CERTIFICATE-----MIID1zCCAr+gAwIBAgIUBkRPNSLrPqbRAFP8
   RDAHSP+I1TowDQYJKoZIhvcNAQELBQAwezELMAkGA1UEBhMCTloxETAPBgNVBAg
   MCEF1Y2tsYW5kMREwDwYDVQQHDAhBdWNrbGFuZDEcMBoGA1UECgwTQW1hem9uIF
   dlYiBTZXJ2aWNlczETMBEGA1UECwwKQllPSVAgRGVtbzETMBEGA1UEAwwKQllPS
   VAgRGVtbzAeFw0yMTEyMDcyMDI0NTRaFw0yMjEyMDcyMDI0NTRaMHsxCzAJBgNV
   BAYTAk5aMREwDwYDVQQIDAhBdWNrbGFuZDERMA8GA1UEBwwIQXVja2xhbmQxHDA
   aBgNVBAoME0FtYXpvbiBXZWIgU2VydmljZXMxEzARBgNVBAsMCkJZT0lQIERlbW
   8xEzARBgNVBAMMCkJZT0lQIERlbW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwg
   gEKAoIBAQCfmacvDp0wZ0ceiXXcR/q27mHI/U5HKt7SST4X2eAqufR9wXkfNanA
   EskgAseyFypwEEQr4CJijI/5hp9prh+jsWHWwkFRoBRR9FBtwcU/45XDXLga7D3
   stsI5QesHVRwOaXUdprAnndaTugmDPkD0vrl475JWDSIm+PUxGWLy+60aBqiaZq
   35wU/x+wXlAqBXg4MZK2KoUu27kYt2zhmy0S7Ky+oRfRJ9QbAiSu/RwhQbh5Mkp
   1ZnVIc7NqnhdeIW48QaYjhMlUEfxdaqYUinzz8KpjfADZ4Hvqj9jWZ/eXo/9b2r
   GlHWkJsbhr0VEUyAGu1bwkgcdww3A7NjOxQbAgMBAAGjUzBRMB0GA1UdDgQWBBS
   tFyujN6SYBr2glHpGt0XGF7GbGTAfBgNVHSMEGDAWgBStFyujN6SYBr2glHpGt0
   XGF7GbGTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBX6nn6Y
   Lhz521lfyVfxY0t6o3410bQAeAF08ud+ICtmQ4IO4A4B7zV3zIVYr0clrOOaFyL
   xngwMYN0XY5tVhDQqk4/gmDNEKSZy2QkX4Eg0YUWVzOyt6fPzjOvJLcsqc1hcF9
   wySL507XQz76Uk5cFypBOzbnk35UkWrzA9KK97cXckfIESgK/k1N4ecwxwG6VQ8
   mBGqVpPpey+dXpzzzv1iBKN/VY4ydjgH/LBfdTsVarmmy2vtWBxwrqkFvpdhSGC
   vRDl/qdO/GIDJi77dmZWkh/ic90MNk1f38gs1jrCj8lThoar17Uo9y/Q5qJIsoN
   PyQrJRzqFU9F3FBjiPJF
   -----END CERTIFICATE-----
   ```

   Para APNIC, utilice `whois -h whois.apnic.net 2001:0DB8:6170::/48` para buscar el registro de RDAP para su rango de direcciones BYOIP. Compruebe la sección `remarks` para el objeto `inetnum` (rango de red) en la salida del comando. El certificado debe agregarse como un nuevo campo `remarks` para el rango de direcciones.

   Puede inspeccionar la sección `remarks` que contiene el certificado con el siguiente comando:

   ```
   whois -h whois.apnic.net 2001:0DB8:6170::/48 | grep remarks | grep BEGIN
   ```

   Esto devuelve un resultado con el contenido de la clave, que debería ser similar a lo siguiente:

   ```
   remarks:
   -----BEGIN CERTIFICATE-----
   MIID1zCCAr+gAwIBAgIUBkRPNSLrPqbRAFP8RDAHSP+I1TowDQYJKoZIhvcNAQE
   LBQAwezELMAkGA1UEBhMCTloxETAPBgNVBAgMCEF1Y2tsYW5kMREwDwYDVQQHDA
   hBdWNrbGFuZDEcMBoGA1UECgwTQW1hem9uIFdlYiBTZXJ2aWNlczETMBEGA1UEC
   wwKQllPSVAgRGVtbzETMBEGA1UEAwwKQllPSVAgRGVtbzAeFw0yMTEyMDcyMDI0
   NTRaFw0yMjEyMDcyMDI0NTRaMHsxCzAJBgNVBAYTAk5aMREwDwYDVQQIDAhBdWN
   rbGFuZDERMA8GA1UEBwwIQXVja2xhbmQxHDAaBgNVBAoME0FtYXpvbiBXZWIgU2
   VydmljZXMxEzARBgNVBAsMCkJZT0lQIERlbW8xEzARBgNVBAMMCkJZT0lQIERlb
   W8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfmacvDp0wZ0ceiXXc
   R/q27mHI/U5HKt7SST4X2eAqufR9wXkfNanAEskgAseyFypwEEQr4CJijI/5hp9
   prh+jsWHWwkFRoBRR9FBtwcU/45XDXLga7D3stsI5QesHVRwOaXUdprAnndaTug
   mDPkD0vrl475JWDSIm+PUxGWLy+60aBqiaZq35wU/x+wXlAqBXg4MZK2KoUu27k
   Yt2zhmy0S7Ky+oRfRJ9QbAiSu/RwhQbh5Mkp1ZnVIc7NqnhdeIW48QaYjhMlUEf
   xdaqYUinzz8KpjfADZ4Hvqj9jWZ/eXo/9b2rGlHWkJsbhr0VEUyAGu1bwkgcdww
   3A7NjOxQbAgMBAAGjUzBRMB0GA1UdDgQWBBStFyujN6SYBr2glHpGt0XGF7GbGT
   AfBgNVHSMEGDAWgBStFyujN6SYBr2glHpGt0XGF7GbGTAPBgNVHRMBAf8EBTADA
   QH/MA0GCSqGSIb3DQEBCwUAA4IBAQBX6nn6YLhz521lfyVfxY0t6o3410bQAeAF
   08ud+ICtmQ4IO4A4B7zV3zIVYr0clrOOaFyLxngwMYN0XY5tVhDQqk4/gmDNEKS
   Zy2QkX4Eg0YUWVzOyt6fPzjOvJLcsqc1hcF9wySL507XQz76Uk5cFypBOzbnk35
   UkWrzA9KK97cXckfIESgK/k1N4ecwxwG6VQ8mBGqVpPpey+dXpzzzv1iBKN/VY4
   ydjgH/LBfdTsVarmmy2vtWBxwrqkFvpdhSGCvRDl/qdO/GIDJi77dmZWkh/ic90
   MNk1f38gs1jrCj8lThoar17Uo9y/Q5qJIsoNPyQrJRzqFU9F3FBjiPJF
   -----END CERTIFICATE-----
   ```

1. Validación de la creación de un objeto ROA

   Valide la creación correcta de los objetos ROA mediante la API de datos RIPEstat. Asegúrese de probar su rango de direcciones con los ASN 16509 y 14618 de Amazon, además de los ASN que cuentan actualmente con autorización para anunciar el rango de direcciones.

   Puede inspeccionar los objetos ROA desde distintos ASN de Amazon con su rango de direcciones mediante el siguiente comando:

   ```
   curl --location --request GET "https://stat.ripe.net/data/rpki-validation/data.json?resource=ASN&prefix=CIDR
   ```

   En este resultado de ejemplo, la respuesta tiene un resultado de `"status": "valid"` para el ASN 16509 de Amazon. Esto indica que el objeto ROA para el rango de direcciones se creó correctamente:

   ```
   {
       "messages": [],
       "see_also": [],
       "version": "0.3",
       "data_call_name": "rpki-validation",
       "data_call_status": "supported",
       "cached": false,
       "data": {
           "validating_roas": [
               {
                   "origin": "16509",
                   "prefix": "2001:0DB8::/32",
                   "max_length": 48,
                   "validity": "valid"
               },
               {
                   "origin": "14618",
                   "prefix": "2001:0DB8::/32",
                   "max_length": 48,
                   "validity": "invalid_asn"
               },
               {
                   "origin": "64496",
                   "prefix": "2001:0DB8::/32",
                   "max_length": 48,
                   "validity": "invalid_asn"
               }
           ],
           "status": "valid",
           "validator": "routinator",
           "resource": "16509",
           "prefix": "2001:0DB8::/32"
       },
       "query_id": "20230224152430-81e6384e-21ba-4a86-852a-31850787105f",
       "process_time": 58,
       "server_id": "app116",
       "build_version": "live.2023.2.1.142",
       "status": "ok",
       "status_code": 200,
       "time": "2023-02-24T15:24:30.773654"
   }
   ```

El estado `“unknown”` indica que el objeto ROA para el rango de direcciones no se ha creado. El estado `“invalid_asn”` indica que el objeto ROA para el rango de direcciones no se creó correctamente.

# Uso del rango de direcciones BYOIP en Amazon EC2
<a name="byoip-working-with"></a>

Puede ver y usar los rangos de direcciones IPv4 e IPv6 que haya aprovisionado en su cuenta. Para obtener más información, consulte [Incorporación de su rango de direcciones para usarlo en Amazon EC2](byoip-onboard.md).

## Intervalos de direcciones IPv4
<a name="byoip-work-with-ipv4"></a>

Puede crear una dirección IP elástica a partir de su grupo de direcciones IPv4 y utilizarla con los recursos de AWS como las instancias de EC2, las puertas de enlace de NAT y los Equilibradores de carga de red.

Para ver información sobre los grupos de direcciones IPv4 que ha aprovisionado en su cuenta, utilice el siguiente comando [describe-public-ipv4-pools](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-public-ipv4-pools.html).

```
aws ec2 describe-public-ipv4-pools --region us-east-1
```

Para crear una dirección IP elástica en su grupo de direcciones IPv4, use el comando [allocate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-address.html). Puede usar la opción `--public-ipv4-pool` para especificar el ID del grupo de direcciones devuelto por `describe-byoip-cidrs`. O puede usar la opción `--address` para especificar una dirección del rango de direcciones que ha aprovisionado.

## Intervalos de direcciones IPv6
<a name="byoip-work-with-ipv6"></a>

Para ver información sobre los grupos de direcciones IPv6 que ha aprovisionado en su cuenta, utilice el siguiente comando [describe-ipv6-pools](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-ipv6-pools.html).

```
aws ec2 describe-ipv6-pools --region us-east-1
```

Para crear una VPC y especificar un CIDR IPv6 desde el grupo de direcciones IPv6, utilice el siguiente comando [create-vpc](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc.html). Para permitir que Amazon elija el CIDR IPv6 de su grupo de direcciones IPv6, omita la opción `--ipv6-cidr-block`.

```
aws ec2 create-vpc --cidr-block 10.0.0.0/16 --ipv6-cidr-block ipv6-cidr --ipv6-pool pool-id --region us-east-1
```

Para asociar un bloque de CIDR IPv6 del grupo de direcciones IPv6 a una VPC, utilice el siguiente comando [associate-vpc-cidr-block](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-vpc-cidr-block.html). Para permitir que Amazon elija el CIDR IPv6 de su grupo de direcciones IPv6, omita la opción `--ipv6-cidr-block`.

```
aws ec2 associate-vpc-cidr-block --vpc-id vpc-123456789abc123ab --ipv6-cidr-block ipv6-cidr --ipv6-pool pool-id --region us-east-1
```

Para ver las VPC y la información del grupo de direcciones IPv6 asociada, utilice el comando [describe-vpcs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpcs.html). Para ver información acerca de los bloques de CIDR IPv6 asociados de un grupo de direcciones IPv6 específico, utilice el siguiente comando [get-associated-ipv6-pool-cidrs](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-associated-ipv6-pool-cidrs.html).

```
aws ec2 get-associated-ipv6-pool-cidrs --pool-id pool-id --region us-east-1
```

Si desasocia el bloque de CIDR IPv6 de la VPC, se vuelve a liberar en el grupo de direcciones IPv6.

# Direcciones IP elásticas
<a name="elastic-ip-addresses-eip"></a>

Las *direcciones IP elásticas* son direcciones IPv4 estáticas diseñadas para la informática en la nube dinámica. Se asigna una dirección IP elástica a su cuenta de AWS, que es suya hasta que la libere. Con una dirección IP elástica, puede enmascarar los errores de una instancia o software volviendo a mapear rápidamente la dirección a otra instancia de su cuenta. Si lo prefiere, puede especificar la dirección IP elástica en un registro DNS para el dominio, de modo que el dominio apunte a la instancia. Para obtener más información, consulte la documentación del registrador de dominios.

Una dirección IP elástica es una dirección IPv4 pública, a la que se puede tener acceso desde Internet. Si necesita conectarse a una instancia que no tiene una dirección IPv4 pública, puede asociar una dirección IP elástica con su instancia para habilitar la comunicación con internet.

**Topics**
+ [

## Precios de las direcciones IP elásticas
](#eip-pricing)
+ [

## Conceptos básicos de las direcciones IP elásticas
](#eip-basics)
+ [

## Cuota de direcciones IP elásticas
](#using-instance-addressing-limit)
+ [

# Asociación de una dirección IP elástica a una instancia
](working-with-eips.md)
+ [

# Transferencia de una dirección IP elástica entre Cuentas de AWS
](transfer-EIPs-intro-ec2.md)
+ [

# Liberar una dirección IP elástica
](using-instance-addressing-eips-releasing.md)
+ [

# Creación de un registro de DNS inverso para el correo electrónico en Amazon EC2
](Using_Elastic_Addressing_Reverse_DNS.md)

## Precios de las direcciones IP elásticas
<a name="eip-pricing"></a>

Se aplica un cargo a todas las direcciones IP elásticas, independientemente de que estén en uso (asignadas a un recurso, como una instancia de EC2) o inactivas (creadas en su cuenta, pero sin asignar).

AWS cobra por todas las direcciones IPv4 públicas, incluidas las direcciones IPv4 públicas asociadas a las instancias en ejecución y las direcciones IP elásticas. Para obtener más información, consulte la pestaña **Dirección IPv4 pública** en la [página Precios de Amazon VPC](https://aws.amazon.com/vpc/pricing/).

## Conceptos básicos de las direcciones IP elásticas
<a name="eip-basics"></a>

A continuación, se describen las características básicas de una dirección IP elástica:
+ Una dirección IP elástica es estática; no cambia con el tiempo.
+ Una dirección IP elástica se utiliza únicamente en una región específica y no se puede mover a otra región.
+ Una dirección IP elástica proviene del grupo de direcciones IPv4 de Amazon o de un grupo de direcciones IPv4 personalizado que haya llevado a su Cuenta de AWS. No se admiten las direcciones IP elásticas en IPv6.
+ Para utilizar una dirección IP elástica, primero asigne una a su cuenta y, a continuación, asóciela a su instancia o a una interfaz de red.
+ Cuando asocia una dirección IP elástica a una instancia, también se asocia a la interfaz de red principal de la instancia. Cuando asocia una dirección IP elástica con una interfaz de red asociada a una instancia, también se asocia a la instancia.
+ Si asocia una dirección IP elástica a una instancia o a su interfaz de red principal, la dirección IPv4 pública de la instancia (en caso de que tenga una asociada) se liberará de nuevo al grupo de direcciones IPv4 públicas de Amazon y la dirección IP elástica se asociará a la instancia en su lugar. No se puede reutilizar una dirección IPv4 pública asociada previamente a la instancia y no se puede convertir una dirección IPv4 pública en una dirección IP elástica. Para obtener más información, consulte [Direcciones IPv4 públicas](using-instance-addressing.md#concepts-public-addresses).
+ Puede anular la asociación de una dirección IP elástica de un recurso y, a continuación, volver a asociarla a otro recurso. Para evitar comportamientos inesperados, asegúrese de que todas las conexiones activas al recurso nombrado en la asociación existente estén cerradas antes de realizar el cambio. Después de asociar la dirección IP elástica a un recurso diferente, puede volver a abrir las conexiones al recurso recién asociado.
+ Una dirección IP elástica desasociada sigue asociada a su cuenta hasta que la libera explícitamente. Se le cobrará por todas las direcciones IP elásticas de su cuenta, independientemente de si están asociadas o disociadas a una instancia. Para obtener más información, consulte la pestaña **Dirección IPv4 pública** en la [página Precios de Amazon VPC](https://aws.amazon.com/vpc/pricing/).
+ Si asocia una dirección IP elástica a una instancia que anteriormente tenía una dirección IPv4 pública, el nombre de host del DNS público de la instancia cambia para que coincida con la dirección IP elástica.
+ Resolvemos un nombre de host de DNS público en la dirección IPv4 pública o la dirección IP elástica de la instancia fuera de la red de la instancia y en una dirección IPv4 privada de la instancia desde dentro de la red de la instancia.
+ Al asignar una dirección IP elástica desde un grupo de direcciones IP llevadas a su cuenta de AWS, esta no se incluye en el recuento del límite de direcciones IP elásticas. Para obtener más información, consulte [Cuota de direcciones IP elásticas](#using-instance-addressing-limit).
+ Cuando asigne direcciones IP elásticas, puede asociarlas a un grupo de bordes de red. Esta es la ubicación desde la que anunciamos el bloque de CIDR. Si se establece el grupo de bordes de red, el bloque de CIDR queda restringido a este grupo. Si no se especifica el grupo de bordes de red, establecemos el grupo de bordes que contiene todas las zonas de disponibilidad de la región (por ejemplo, `us-west-2`).
+ Una dirección IP elástica solo se puede utilizar para su uso en un grupo de bordes de red específico.

## Cuota de direcciones IP elásticas
<a name="using-instance-addressing-limit"></a>

De manera predeterminada, todas las Cuentas de AWS tienen una cuota de cinco (5) direcciones IP elásticas por región, porque las direcciones públicas de Internet (IPv4) son un recurso público escaso. Se recomienda encarecidamente utilizar direcciones IP elásticas principalmente para poder reasignar la dirección a otra instancia en caso de que genere un error y utilizar [nombres de host DNS](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html#vpc-dns-hostnames) para toda la comunicación entre nodos restante.

Si cree que su arquitectura garantiza direcciones IP elásticas adicionales, puede solicitar un aumento de cuota directamente desde la consola de Service Quotas. Para solicitar un aumento de cuota, elija **Solicitud de aumento a nivel de cuenta**. Para obtener más información, consulte [Cuotas de servicio de Amazon EC2](ec2-resource-limits.md).

# Asociación de una dirección IP elástica a una instancia
<a name="working-with-eips"></a>

Tras asignar una dirección IP elástica, podrá asociarla a un recurso de AWS, como una instancia de EC2, una puerta de enlace NAT o un equilibrador de carga de red. Para asociar una dirección IP elástica con un recurso de AWS diferente más adelante, puede desconectarla de su recurso actual y, a continuación, asociarla al nuevo recurso.

**Topics**
+ [

## Asignar una dirección IP elástica
](#using-instance-addressing-eips-allocating)
+ [

## Asociar una dirección IP elástica
](#using-instance-addressing-eips-associating)
+ [

## Anulación de la asociación de una dirección IP elástica
](#using-instance-addressing-eips-associating-different)

## Asignar una dirección IP elástica
<a name="using-instance-addressing-eips-allocating"></a>

Puede asignar una dirección IP elástica para su uso en una región. Se aplica un cargo por todas las direcciones IP elásticas, tanto si están en uso (asociadas a un recurso, como una instancia EC2) como si están inactivas (creadas en su cuenta pero no asociadas).

------
#### [ Console ]

**Para asignar una dirección IP elástica**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Red y seguridad**, **IP elásticas**.

1. Elija **Asignar dirección IP elástica**.

1. (Opcional) Si asigna una dirección IP elástica (EIP), elija el **Grupo de bordes de red** al que desea asignar la EIP. Un grupo de bordes de red es un conjunto de zonas de disponibilidad (AZ), zonas locales o zonas de Wavelength desde las que AWS anuncia una dirección IP pública. Es posible que las zonas locales y las zonas de Wavelength tengan grupos de bordes de red diferentes a los de las AZ de una región para garantizar una latencia o una distancia física mínima entre la red de AWS y los clientes que acceden a los recursos de estas zonas.
**importante**  
Debe asignar una EIP en el mismo grupo de bordes de red que el recurso de AWS que se asociará a la EIP. Una EIP de un grupo de bordes de red solo se puede anunciar en zonas de ese grupo de bordes de red y no en otras zonas representadas por otros grupos de bordes de red.

   Si tiene zonas locales o zonas de Wavelength habilitadas (para obtener más información, consulte [Habilitar una zona local](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html#getting-started-find-local-zone) o [Habilitar zonas de Wavelength](https://docs.aws.amazon.com//wavelength/latest/developerguide/get-started-wavelength.html#enable-zone-group)), puede elegir un grupo de bordes de red para las AZ, las zonas locales o las zonas de Wavelength. Elija el grupo de bordes de red con cuidado, ya que la EIP y el recurso de AWS al que está asociado deben residir en el mismo grupo de bordes de red. Puede utilizar la consola de EC2 para ver el grupo de bordes de red en el que se encuentran las zonas de disponibilidad, las zonas locales o las zonas de Wavelength. Por lo general, todas las zonas de disponibilidad de una región pertenecen al mismo grupo de bordes de red, mientras que las zonas locales o las zonas de Wavelength pertenecen a sus propios grupos de bordes de red independientes.

   Si las zonas locales o las zonas de Wavelength no están habilitadas, cuando asigna una EIP, el grupo de bordes de red que representa a todas las AZ de la región (por ejemplo `us-west-2`) se predefine para usted y no puede cambiarlo. Esto significa que la EIP que asigne a este grupo de bordes de red se anunciará en todas las zonas de disponibilidad de la región en la que usted se encuentre.

1. En **Grupo de direcciones IPv4 públicas**, elija una de las siguientes opciones:
   + **Grupo de direcciones IPv4 de Amazon**: si desea que una dirección IPv4 se asigne desde un grupo de direcciones IPv4 de Amazon.
   + **Direcciones IPv4 públicas que trae a su cuenta de AWS**: si desea asignar una dirección IPv4 pública no contigua (no secuencial) de un grupo de direcciones IP que trajo a su cuenta de AWS. Esta opción está deshabilitada si no tiene grupos de direcciones IP. Para obtener más información acerca de llevar su rango de direcciones IP a su cuenta de AWS, consulte [Traiga sus propias direcciones IP (BYOIP) a Amazon EC2](ec2-byoip.md).
   + **Grupo de direcciones IPv4 propiedad del cliente**: si desea asignar una dirección IPv4 de un grupo creado desde la red en las instalaciones para su uso con un AWS Outpost. Esta opción está desactivada si no tiene un Outpost de AWS.
   + **Asigne mediante un grupo IPv4 de IPAM**: si desea asignar direcciones IP elásticas secuenciales de un bloque IPv4 público contiguo en un grupo de IPAM. La asignación de direcciones IP elásticas secuenciales puede reducir considerablemente la sobrecarga de la administración de las listas de control de acceso de seguridad y simplificar la asignación y el seguimiento de las direcciones IP para las empresas que van escalando en AWS. Para obtener más información, consulte [Asignación de direcciones IP elásticas secuenciales de un grupo de IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) en la *Guía del usuario de IPAM de Amazon VPC*.

1. (Opcional) Para agregar una etiqueta, elija **Agregar nueva etiqueta** e introduzca una clave y un valor de etiqueta.

------
#### [ AWS CLI ]

**Para asignar una dirección IP elástica**  
Utilice el comando [allocate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-address.html) de la AWS CLI.

En el siguiente ejemplo, Amazon EC2 selecciona una dirección del grupo de direcciones de Amazon.

```
aws ec2 allocate-address
```

En el siguiente ejemplo, Amazon EC2 selecciona una dirección del grupo especificado que transfirió a AWS mediante la opción “utilice su propia dirección IP” (BYOIP).

```
aws ec2 allocate-address \
    --public-ipv4-pool ipv4pool-ec2-012345abcdef67890
```

En el siguiente ejemplo, se especifica una dirección del grupo IPv4 de IPAM especificado.

```
aws ec2 allocate-address \
    --ipam-pool-id ipam-pool-1234567890abcdef0 \
    --address 192.0.2.0
```

------
#### [ PowerShell ]

**Para asignar una dirección IP elástica**  
Utilice el cmdlet [New-EC2Address](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Address.html).

En el siguiente ejemplo, Amazon EC2 selecciona una dirección del grupo de direcciones de Amazon.

```
New-EC2Address
```

En el siguiente ejemplo, Amazon EC2 selecciona una dirección del grupo especificado que transfirió a AWS mediante la opción “utilice su propia dirección IP” (BYOIP).

```
New-EC2Address `
    -PublicIpv4Pool ipv4pool-ec2-012345abcdef67890
```

En el siguiente ejemplo, se especifica una dirección del grupo IPv4 de IPAM especificado.

```
New-EC2Address `
    -IpamPoolId ipam-pool-1234567890abcdef0 `
    -Address 192.0.2.0
```

------

## Asociar una dirección IP elástica
<a name="using-instance-addressing-eips-associating"></a>

Si va a asociar una dirección IP elástica a la instancia para permitir la comunicación con Internet, también debe asegurarse de que la instancia esté en una subred pública. Para obtener más información, consulte [Concesión del acceso a Internet de la VPC con puertas de enlace de Internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) en la *Guía del usuario de Amazon VPC*.

------
#### [ Console ]

**Para asociar una dirección IP elástica a una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija** Elastic IPs (Direcciones IP elásticas)**. 

1. Seleccione la dirección IP elástica que desea asociar y elija **Acciones**, **Asociar dirección IP elástica**. 

1. En **Tipo de recurso**, elija **Instancia**.

1. Por ejemplo, elija la instancia con la que asociar la dirección IP elástica. También puede escribir texto para buscar una instancia específica.

1. (Opcional) En **Dirección IP privada**, especifique una dirección IP privada a la que asociar la dirección IP elástica.

1. Elija **Associate**.

**Para asociar una dirección IP elástica a una interfaz de red**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija** Elastic IPs (Direcciones IP elásticas)**. 

1. Seleccione la dirección IP elástica que desea asociar y elija **Acciones**, **Asociar dirección IP elástica**. 

1. En **Tipo de recurso**, elija **Interfaz de red**.

1. En **Interfaz de red**, elija la interfaz de red con la que asociar la dirección IP elástica. También puede escribir texto para buscar una interfaz de red específica.

1. (Optional) En **Private IP address (Dirección IP privada)**, especifique una dirección IP privada con la que asociar la dirección IP elástica.

1. Elija **Associate**.

------
#### [ AWS CLI ]

**Para asociar una dirección IP elástica**  
Utilice el comando [associate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-address.html) de la AWS CLI.

```
aws ec2 associate-address \
    --instance-id i-0b263919b6498b123 \
    --allocation-id eipalloc-64d5890a
```

------
#### [ PowerShell ]

**Para asociar una dirección IP elástica**  
Utilice el cmdlet [Register-EC2Address](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Address.html).

```
Register-EC2Address `
    -InstanceId i-0b263919b6498b123 `
    -AllocationId eipalloc-64d5890a
```

------

## Anulación de la asociación de una dirección IP elástica
<a name="using-instance-addressing-eips-associating-different"></a>

Puede anular la asociación de una dirección IP elástica de una instancia o interfaz de red en cualquier momento. Después de anular la asociación de la dirección IP elástica, puede asociarla con otro recurso.

------
#### [ Console ]

**Para anular la asociación y volver a asociar una dirección IP elástica**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija** Elastic IPs (Direcciones IP elásticas)**.

1. Seleccione la dirección IP elástica cuya asociación desea anular, elija **Acciones**, **Anular la asociación de la dirección IP elástica**.

1. Elija **Desasociar**.

------
#### [ AWS CLI ]

**Para anular la asociación de una dirección IP elástica**  
Utilice el comando [disassociate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-address.html) de la AWS CLI.

```
aws ec2 disassociate-address --association-id eipassoc-12345678
```

------
#### [ PowerShell ]

**Para anular la asociación de una dirección IP elástica**  
Utilice el cmdlet [Unregister-EC2Address](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2Address.html).

```
Unregister-EC2Address -AssociationId eipassoc-12345678
```

------

# Transferencia de una dirección IP elástica entre Cuentas de AWS
<a name="transfer-EIPs-intro-ec2"></a>

Puede transferir una dirección IP elástica de una Cuenta de AWS a otra. Esto puede resultar útil en las situaciones siguientes:
+ **Recuperación de desastres**: reasigne con rapidez las direcciones IP a las cargas de trabajo de Internet orientadas al público durante eventos de emergencia.
+ **Reestructuración organizativa**: mueva con rapidez las cargas de trabajo de una Cuenta de AWS a otra. La transferencia de direcciones evita tener que esperar a que sus grupos de seguridad y ACL de red permitan nuevas direcciones IP elásticas.
+ **Administración de seguridad centralizada**: utilice una cuenta de seguridad de AWS centralizada para rastrear y transferir direcciones IP elásticas que se hayan examinado y cumplan con las normas de seguridad.

**Precios**  
La transferencia de direcciones IP elásticas no implica cargos.

**Topics**
+ [

## Habilitar la transferencia de direcciones IP elásticas
](#using-instance-addressing-eips-transfer-enable-ec2)
+ [

## Aceptar una dirección IP elástica transferida
](#using-instance-addressing-eips-transfer-accept-ec2)
+ [

## Deshabilitar la transferencia de direcciones IP elásticas
](#using-instance-addressing-eips-transfer-disable-ec2)

## Habilitar la transferencia de direcciones IP elásticas
<a name="using-instance-addressing-eips-transfer-enable-ec2"></a>

En esta sección, se describe cómo aceptar una dirección IP elástica que se ha transferido. Tenga en cuenta las siguientes limitaciones relacionadas con la habilitación de direcciones IP elásticas para su transferencia:
+ Puede transferir direcciones IP elásticas de cualquier Cuenta de AWS (cuenta de origen) a cualquier otra Cuenta de AWS de la misma Región de AWS (cuenta de transferencia). No puede transferir direcciones IP elásticas a una región distinta.
+ Al transferir una dirección IP elástica, hay un protocolo de enlace de dos pasos entre Cuentas de AWS. Cuando la cuenta de origen inicie la transferencia, las cuentas de transferencia tienen siete días para aceptar la transferencia de la dirección IP elástica. Durante esos siete días, la cuenta de origen puede ver la transferencia pendiente (por ejemplo, en la consola de AWS o mediante el comando [describe-address-transfers](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-address-transfers.html)). Transcurridos siete días, la transferencia caduca y la propiedad de la dirección IP elástica vuelve a la cuenta de origen.
+ Las transferencias aceptadas aparecerán en la cuenta de origen (por ejemplo, en la consola de AWS o mediante el comando [describe-address-transfers](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-address-transfers.html)) durante 14 días después de que se hayan aceptado las transferencias.
+ AWS no notifica a las cuentas de transferencia sobre las solicitudes pendientes de transferencia de direcciones IP elásticas. El propietario de la cuenta de origen debe notificar al propietario de la cuenta de transferencia que hay una solicitud de transferencia de direcciones IP elásticas que debe aceptar.
+ Todas las etiquetas asociadas a la dirección IP elástica que se transfiere se restablecen cuando se completa la transferencia.
+ No puede transferir las direcciones IP elásticas asignadas desde los grupos de direcciones IPv4 públicas que incorpore a su Cuenta de AWS (normalmente denominados grupos de direcciones traiga su propia IP [BYOIP]).
+ No puede transferir direcciones IP elásticas asignadas desde un grupo de administrador de direcciones IP (IPAM) de Amazon VPC de IPv4 públicos contiguos provistos por Amazon. En cambio, IPAM le permite compartir grupos de IPAM entre cuentas de AWS mediante la integración de IPAM con AWS Organizations al usar AWS RAM. Para obtener más información, consulte [Asignación de direcciones IP elásticas secuenciales de un grupo de IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) en la *Guía del usuario de IPAM de Amazon VPC*.
+ Si intenta transferir una dirección IP elástica que tenga un registro DNS inverso asociado, puede iniciar el proceso de transferencia, pero la cuenta de transferencia no podrá aceptar la transferencia hasta que se elimine el registro DNS asociado.
+ Si ha habilitado y configurado AWS Outposts, es posible que haya asignado direcciones IP elásticas de un grupo de direcciones IP (CoIP) que son propiedad del cliente. No puede transferir direcciones IP elásticas asignadas desde una CoIP. Sin embargo, puede usar AWS RAM para compartir un CoIP con otra cuenta. Para obtener más información, consulte [Direcciones IP propiedad del cliente](https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing) en la *Guía del usuario de AWS Outposts*.
+ Puede utilizar Amazon VPC IPAM para hacer un seguimiento de la transferencia de direcciones IP elásticas a cuentas de una organización desde AWS Organizations. Para obtener más información, consulte [Ver historial de direcciones IP](https://docs.aws.amazon.com/vpc/latest/ipam/view-history-cidr-ipam.html). Si se transfiere una dirección IP elástica a una Cuenta de AWS fuera de la organización, se pierde el historial de auditoría de IPAM de la dirección IP elástica.

La cuenta de origen debe completar estos pasos.

------
#### [ Console ]

**Para habilitar la transferencia de direcciones IP elásticas**

1. Asegúrese de utilizar la cuenta de AWS de origen.

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija** Direcciones IP elásticas**.

1. Seleccione una o más direcciones IP elásticas para habilitar la transferencia y elija **Acciones**, **Habilitar la transferencia**.

1. Si está transfiriendo varias direcciones IP elásticas, verá la opción **Tipo de transferencia**. Elija una de las siguientes opciones:
   + Elija **Una sola cuenta** si va a transferir las direcciones IP elásticas a una sola cuenta de AWS.
   + Elija **Varias cuentas** si va a transferir las direcciones IP elásticas a varias cuentas de AWS.

1. En **Transferir ID de cuenta**, ingrese los ID de las cuentas de AWS a las que quiere transferir las direcciones IP elásticas.

1. Para confirmar la transferencia, ingrese **enable** en el cuadro de texto.

1. Elija **Enviar**.

1. Para aceptar la transferencia, consulte [Aceptar una dirección IP elástica transferida](#using-instance-addressing-eips-transfer-accept-ec2). Para deshabilitar la transferencia, consulte [Deshabilitar la transferencia de direcciones IP elásticas](#using-instance-addressing-eips-transfer-disable-ec2).

------
#### [ AWS CLI ]

**Para habilitar la transferencia de direcciones IP elásticas**

Utilice el comando [enable-address-transfer](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-address-transfer.html).

```
aws ec2 enable-address-transfer \
    --allocation-id eipalloc-09ad461b0d03f6aaf \
    --transfer-account-id 123456789012
```

------
#### [ PowerShell ]

**Para habilitar la transferencia de direcciones IP elásticas**  
Utilice el cmdlet [Enable-EC2AddressTransfer](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2AddressTransfer.html).

```
Enable-EC2AddressTransfer `
    -AllocationId eipalloc-09ad461b0d03f6aaf `
    -TransferAccountId 123456789012
```

------

## Aceptar una dirección IP elástica transferida
<a name="using-instance-addressing-eips-transfer-accept-ec2"></a>

En esta sección, se describe cómo aceptar una dirección IP elástica que se ha transferido.

Al transferir una dirección IP elástica, hay un protocolo de enlace de dos pasos entre Cuentas de AWS. Cuando la cuenta de origen inicie la transferencia, las cuentas de transferencia tienen siete días para aceptar la transferencia de la dirección IP elástica. Durante esos siete días, la cuenta de origen puede ver la transferencia pendiente (por ejemplo, en la consola de AWS o mediante el comando [describe-address-transfers](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-address-transfers.html)). Transcurridos siete días, la transferencia caduca y la propiedad de la dirección IP elástica vuelve a la cuenta de origen.

Al aceptar las transferencias, tenga en cuenta las siguientes excepciones que pueden tener lugar y cómo solucionarlas:
+ **AddressLimitExceed**: si su cuenta de transferencia superó la cuota de direcciones IP elásticas, la cuenta de origen puede habilitar la transferencia de direcciones IP elásticas, pero esta excepción se produce cuando la cuenta de transferencia intenta aceptarla. De forma predeterminada, todas las cuentas de AWS están limitadas a cinco (5) direcciones IP elásticas por región. Consulte [Cuota de direcciones IP elásticas](elastic-ip-addresses-eip.md#using-instance-addressing-limit) para obtener instrucciones sobre cómo aumentar el límite.
+ **InvalidTransfer.AddressCustomPtrset**: si usted o alguien de su organización ha configurado la dirección IP elástica que intenta transferir para utilizar la búsqueda de DNS inversa, la cuenta de origen puede habilitar la transferencia de la dirección IP elástica, pero esta excepción se produce cuando la cuenta de transferencia intenta aceptarla. Para resolver este problema, la cuenta de origen debe eliminar el registro de DNS de la dirección IP elástica. Para obtener más información, consulte [Creación de un registro de DNS inverso para el correo electrónico en Amazon EC2](Using_Elastic_Addressing_Reverse_DNS.md).
+ **InvalidTransfer.AddressAssociated**: si una dirección IP elástica está asociada a una instancia de ENI o EC2, la cuenta de origen puede habilitar la transferencia de la dirección IP elástica, pero esta excepción se produce cuando la cuenta de transferencia intenta aceptarla. Para resolver este problema, la cuenta de origen debe desasociar la dirección IP elástica. Para obtener más información, consulte [Anulación de la asociación de una dirección IP elástica](working-with-eips.md#using-instance-addressing-eips-associating-different).

Para otras excepciones, [contacte con Soporte](https://aws.amazon.com/contact-us/).

La cuenta de transferencia debe completar estos pasos.

------
#### [ Console ]

**Para aceptar la transferencia de una dirección IP elástica**

1. Asegúrese de utilizar la cuenta de transferencia.

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija** Elastic IPs (Direcciones IP elásticas)**.

1. Elija **Acciones**, **Aceptar la transferencia**.

1. No se transfiere ninguna etiqueta asociada a la dirección IP elástica que se transfiere con la dirección IP elástica cuando acepta la transferencia. Si desea definir una etiqueta **Nombre** de la dirección IP elástica que acepta, seleccione **Crear una etiqueta con la clave “Nombre” y un valor que especifique**.

1. Ingrese la dirección IP elástica que quiere transferir.

1. Si acepta la transferencia de varias direcciones IP elásticas, elija **Agregar dirección** para ingresar una dirección IP elástica adicional.

1. Elija **Enviar**.

------
#### [ AWS CLI ]

**Para aceptar la transferencia de una dirección IP elástica**

Utilice el comando [accept-address-transfer](https://docs.aws.amazon.com/cli/latest/reference/ec2/accept-address-transfer.html).

```
aws ec2 accept-address-transfer --address 100.21.184.216
```

------
#### [ PowerShell ]

**Para aceptar la transferencia de una dirección IP elástica**  
Utilice el cmdlet [Approve-EC2AddressTransfer](https://docs.aws.amazon.com/powershell/latest/reference/items/Approve-EC2AddressTransfer.html).

```
Approve-EC2AddressTransfer -Address 100.21.184.216
```

------

## Deshabilitar la transferencia de direcciones IP elásticas
<a name="using-instance-addressing-eips-transfer-disable-ec2"></a>

En esta sección, se describe cómo deshabilitar una transferencia de una dirección IP elástica una vez se ha habilitado la transferencia.

La cuenta de origen que habilitó la transferencia debe llevar a cabo estos pasos.

------
#### [ Console ]

**Para deshabilitar la transferencia de una dirección IP elástica**

1. Asegúrese de utilizar la Cuenta de AWS de origen.

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija** Elastic IPs (Direcciones IP elásticas)**.

1. En la lista de recursos de IP elásticas, asegúrese de tener habilitada la propiedad que muestra la columna **Estado de la transferencia**.

1. Seleccione una o más direcciones IP elásticas que tengan un **Estado de la transferencia** en **Pendiente** y elija **Acciones**, **Deshabilitar la transferencia**.

1. Para confirmarlo, ingrese **disable** en el cuadro de texto.

1. Elija **Enviar**.

------
#### [ AWS CLI ]

**Para deshabilitar la transferencia de direcciones IP elásticas**

Utilice el comando [disable-address-transfer](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-address-transfer.html).

```
aws ec2 disable-address-transfer --allocation-id eipalloc-09ad461b0d03f6aaf
```

------
#### [ PowerShell ]

**Para deshabilitar la transferencia de direcciones IP elásticas**  
Utilice el cmdlet [Disable-EC2AddressTransfer](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2AddressTransfer.html).

```
Disable-EC2AddressTransfer -AllocationId eipalloc-09ad461b0d03f6aaf
```

------

# Liberar una dirección IP elástica
<a name="using-instance-addressing-eips-releasing"></a>

Si ya no necesita una dirección IP elástica, se recomienda que la libere. La dirección IP elástica que se va a liberar no debe estar asociada actualmente a ningún recurso de AWS.

------
#### [ Console ]

**Para liberar una dirección IP elástica**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija** Elastic IPs (Direcciones IP elásticas)**.

1. Seleccione la dirección IP elástica que desea liberar y elija **Acciones**, **Liberar direcciones IP elásticas**.

1. Elija **Liberar**.

------
#### [ AWS CLI ]

**Para liberar una dirección IP elástica**  
Utilice el comando [release-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/release-address.html) de la AWS CLI.

```
aws ec2 release-address --allocation-id eipalloc-64d5890a
```

------
#### [ PowerShell ]

**Para liberar una dirección IP elástica**  
Utilice el cmdlet [Remove-EC2Address](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Address.html).

```
Remove-EC2Address -AllocationId eipalloc-64d5890a
```

------

Tras liberar su dirección IP elástica, es posible que pueda recuperarla. Se aplican las siguientes reglas:
+ No puede recuperar una dirección IP elástica si se ha asignado a otra cuenta de AWS o si al hacerlo superará el límite de direcciones IP elásticas.
+ No es posible recuperar etiquetas asociadas a una dirección IP elástica.

------
#### [ AWS CLI ]

**Para recuperar una dirección IP elástica**  
Utilice el comando [allocate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-address.html).

```
aws ec2 allocate-address \
    --domain vpc \
    --address 203.0.113.3
```

------
#### [ PowerShell ]

**Para recuperar una dirección IP elástica**  
Utilice el cmdlet [New-EC2Address](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Address.html).

```
New-EC2Address `
    -Address 203.0.113.3 `
    -Domain vpc `
    -Region us-east-1
```

------

# Creación de un registro de DNS inverso para el correo electrónico en Amazon EC2
<a name="Using_Elastic_Addressing_Reverse_DNS"></a>

Si desea enviar correo electrónico a terceros desde una instancia de EC2, le recomendamos aprovisionar una o más direcciones IP elásticas y asignar registros de DNS inversos estáticos a las direcciones IP elásticas que utilice para enviar correo electrónico. Esto lo ayuda a evitar que algunas organizaciones antispam marquen su email como spam. AWS trabaja con ISP y organizaciones antispam de Internet para reducir las posibilidades de que sus emails que se envían desde estas direcciones se marquen como spam.

**Consideraciones**
+ Antes de crear un registro DNS inverso, debe establecer un registro DNS de reenvío correspondiente (tipo de registro A) que apunte a la dirección IP elástica.
+ Si hay asociado un registro de DNS inverso a una dirección IP elástica, esa dirección se bloquea en la cuenta y no se puede liberar hasta que se elimine el registro.
+ Si se puso en contacto con Soporte para configurar un DNS inverso para una dirección IP elástica, puede quitar el DNS inverso, pero no podrá liberar la dirección IP elástica porque Soporte la bloqueó. Para desbloquear la dirección IP elástica, contáctese con [AWS Support](https://console.aws.amazon.com/support/home#/). Una vez desbloqueada la dirección IP elástica, podrá liberarla.
+ [AWS GovCloud (US) Region] No puede crear un registro de DNS inverso. AWS debe asignar los registros de DNS inversos estáticos en su nombre. Abra un caso de soporte para eliminar las limitaciones de DNS inverso y envío de correo electrónico. Debe proporcionar las direcciones IP elásticas y los registros de DNS inverso.

## Crear un registro DNS inverso
<a name="eip-create-rdns-record"></a>

Siga el procedimiento que se indica a continuación para crear un registro de DNS inverso para su dirección IP elástica.

------
#### [ Console ]

**Para crear un registro de DNS inverso**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija** Elastic IPs (Direcciones IP elásticas)**.

1. Seleccione la dirección IP elástica y elija **Acciones**, **Actualizar DNS inverso**.

1. Para **Nombre de dominio de DNS inverso**, escriba el nombre de su dominio.

1. Escriba **update** para confirmar.

1. Elija **Actualizar**.

------
#### [ AWS CLI ]

**Para crear un registro de DNS inverso**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-address-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-address-attribute.html).

```
aws ec2 modify-address-attribute \
    --allocation-id eipalloc-abcdef01234567890 \
    --domain-name example.com
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "Addresses": [
        {
            "PublicIp": "192.0.2.0",
            "AllocationId": "eipalloc-abcdef01234567890",
            "PtrRecord": "example.net.",
            "PtrRecordUpdate": {
                "Value": "example.com.",
                "Status": "PENDING"
            }
        }
    ]
}
```

------
#### [ PowerShell ]

**Para crear un registro de DNS inverso**  
Utilice el cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2AddressAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2AddressAttribute.html).

```
Edit-EC2AddressAttribute `
    -AllocationId 'eipalloc-abcdef01234567890' `
    -DomainName 'example.com' |
Format-List `
    AllocationId, PtrRecord, PublicIp,
    @{Name='PtrRecordUpdate';Expression={$_.PtrRecordUpdate | Format-List | Out-String}}
```

A continuación, se muestra un ejemplo del resultado.

```
AllocationId    : eipalloc-abcdef01234567890
PtrRecord       : example.net.
PublicIp        : 192.0.2.0
PtrRecordUpdate : 
                  Reason :
                  Status : PENDING
                  Value  : example.com.
```

------

## Eliminación de un registro de DNS inverso
<a name="eip-remove-rdns-record"></a>

Siga el procedimiento que se indica a continuación para quitar un registro de DNS inverso de su dirección IP elástica.

Si aparece el siguiente error, puede enviar una [Solicitud para eliminar las restricciones de envío de correo electrónico](https://repost.aws/knowledge-center/ec2-port-25-throttle) a Soporte para obtener asistencia.

```
The address cannot be released because it is locked to your account.
```

------
#### [ Console ]

**Para eliminar un registro de DNS inverso**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija** Elastic IPs (Direcciones IP elásticas)**.

1. Seleccione la dirección IP elástica y elija **Acciones**, **Actualizar DNS inverso**.

1. Para **Nombre de dominio de DNS inverso**, elimine el nombre de dominio.

1. Escriba **update** para confirmar.

1. Elija **Actualizar**.

------
#### [ AWS CLI ]

**Para eliminar un registro de DNS inverso**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/reset-address-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/reset-address-attribute.html).

```
aws ec2 reset-address-attribute \
    --allocation-id eipalloc-abcdef01234567890 \
    --attribute domain-name
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "Addresses": [
        {
            "PublicIp": "192.0.2.0",
            "AllocationId": "eipalloc-abcdef01234567890",
            "PtrRecord": "example.com.",
            "PtrRecordUpdate": {
                "Value": "example.net.",
                "Status": "PENDING"
            }
        }
    ]
}
```

------
#### [ PowerShell ]

**Para eliminar un registro de DNS inverso**  
Utilice el cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Reset-EC2AddressAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Reset-EC2AddressAttribute.html).

```
Reset-EC2AddressAttribute `
    -AllocationId 'eipalloc-abcdef01234567890' `
    -Attribute domain-name |
Format-List `
    AllocationId, PtrRecord, PublicIp,
    @{Name='PtrRecordUpdate';Expression={$_.PtrRecordUpdate | Format-List | Out-String}}
```

A continuación, se muestra un ejemplo del resultado.

```
AllocationId    : eipalloc-abcdef01234567890
PtrRecord       : example.com.
PublicIp        : 192.0.2.0
PtrRecordUpdate : 
                  Reason :
                  Status : PENDING
                  Value  : example.net.
```

------

# Interfaces de red elásticas
<a name="using-eni"></a>

Una *interfaz de red elástica* es un componente de red lógico en una VPC que representa una tarjeta de red virtual. Puede crear y configurar interfaces de red y asociarlas a instancias que inicie en la misma zona de disponibilidad. Los atributos de una interfaz de red le siguen cuando se conecta o se desconecta de una instancia y se vuelve a conectar a otra instancia. Cuando mueve una interfaz de red de una instancia a otra, el tráfico de la red se redirige de la instancia original a la nueva instancia.

Tenga en cuenta que este recurso de AWS se denomina *interfaz de red* en la Consola de administración de AWS y la API de Amazon EC2. Por lo tanto, usamos “interfaz de red” en esta documentación en lugar de “interfaz de red elástica”. El término “interfaz de red” en esta documentación siempre significa “interfaz de red elástica”.

**Atributos de interfaz de red**

Una interfaz de red puede incluir los atributos siguientes:
+ Una dirección IPv4 privada principal del rango de direcciones IPv4 de la subred
+ Una dirección IPv6 principal del rango de direcciones IPv6 de la subred
+ Direcciones IPv4 privadas secundarias del rango de direcciones IPv4 de la subred
+ Una dirección IP elástica (IPv4) por cada dirección IPv4 privada
+ Una dirección IPv4 pública
+ Direcciones IPv6 secundarias
+ Grupos de seguridad
+ Una dirección MAC
+ Una marca de comprobación de origen/destino
+ Una descripción

**Monitoreo del tráfico**  
Puede habilitar un registro del flujo de VPC en la interfaz de red para capturar información acerca del tráfico que entra y sale de una interfaz de red. Una vez creado un registro del flujo, puede verlo y recuperar sus datos en Amazon CloudWatch Logs. Para obtener más información, consulte [Registros de flujo de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) en la *Guía del usuario de Amazon VPC*.

**Topics**
+ [

## Conceptos de interfaz de red
](#eni-basics)
+ [

## Tarjetas de red
](#network-cards)
+ [

# Cantidad máxima de direcciones IP por interfaz de red
](AvailableIpPerENI.md)
+ [

# Creación de una interfaz de red para su instancia de EC2
](create-network-interface.md)
+ [

# Elementos de interfaz de red para su instancia de EC2
](network-interface-attachments.md)
+ [

# Administración de las direcciones IP de la interfaz de red
](managing-network-interface-ip-addresses.md)
+ [

# Modificar atributos de interfaz de red
](modify-network-interface-attributes.md)
+ [

# Múltiples interfaces de red para sus instancias de Amazon EC2
](scenarios-enis.md)
+ [

# Interfaces de red administradas por el solicitante
](requester-managed-eni.md)
+ [

# Delegación de prefijos para las interfaces de red de Amazon EC2
](ec2-prefix-eni.md)
+ [

# Eliminar una interfaz de red
](delete_eni.md)

## Conceptos de interfaz de red
<a name="eni-basics"></a>

Los siguientes conceptos son importantes y deben comprenderse cuando se comienza a utilizar interfaces de red.

**Interfaz de red principal**  
Cada instancia tiene una interfaz de red predeterminada denominada *interfaz de red principal*. No se puede desasociar una interfaz de red principal de una instancia.

**Interfaces de red adicionales**  
Puede crear y asociar interfaces de red secundarias a su instancia. El número máximo de interfaces de red varía en función del tipo de instancia. Para obtener más información, consulte [Cantidad máxima de direcciones IP por interfaz de red](AvailableIpPerENI.md).

**Direcciones IPv4 para interfaces de red**  
Al inicializar una instancia de EC2 en una subred solo IPv4 o de doble pila, la instancia recibe una dirección IP privada principal del rango de direcciones IPv4 de la subred. También es posible especificar direcciones IPv4 privadas adicionales, conocidas como direcciones IPv4 privadas secundarias. A diferencia de las direcciones IP privadas principales, es posible volver a asignar direcciones IP privadas secundarias de una instancia a otra.

**Direcciones IPv4 públicas para interfaces de red**  
Todas las subredes tienen un atributo modificable que determina si las interfaces de red creadas en dicha subred (y, por tanto, las instancias iniciadas en ella) se asignan a una dirección IPv4 pública. Para obtener más información, consulte [Configuración de subred](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-settings) en la *Guía del usuario de Amazon VPC*. Cuando inicia una instancia, la dirección IP se asigna a la interfaz de red principal. Si especifica una interfaz de red existente como interfaz de red principal al inicializar una instancia, esta interfaz de red determina la dirección IPv4 pública.  
Cuando crea una interfaz de red, hereda el atributo de dirección IPv4 pública de la subred. Si posteriormente modifica el atributo de dirección IPv4 pública de la subred, la interfaz de red mantiene la configuración activa cuando se creó.  
La dirección IP pública se libera cuando una instancia se detiene, se hiberna o se finaliza. Cuando se inicia una instancia detenida o hibernada, se asigna una dirección IP pública nueva, a menos que tenga una interfaz de red secundaria o una dirección IPv4 privada secundaria asociada a una dirección IP elástica.

**Direcciones IPv6 públicas para interfaces de red**  
Si asocia bloques de CIDR IPv6 con una VPC y una subred, puede asignar una o varias direcciones IPv6 del rango de la subred a una interfaz de red. Cada dirección IPv6 se puede asignar a una sola interfaz de red.  
Todas las subredes tienen un atributo modificable que determina si las interfaces de red creadas en dicha subred (y, por tanto, las instancias iniciadas en dicha subred) se asignan automáticamente a una dirección IPv6 del rango de la subred. Cuando inicia una instancia, la dirección IPv6 se asigna a la interfaz de red principal.

**Direcciones IP elásticas de la interfaz de red**  
Puede asociar una dirección IP elástica a una de las direcciones IPv4 privadas de la interfaz de red. Puede asociar una dirección IP elástica con cada dirección IPv4 privada. Si desconecta una dirección IP elástica de una interfaz de red, puede publicarla o asociarla a una instancia diferente.

**Comportamiento de la finalización**  
Puede definir el comportamiento de finalización de una interfaz de red conecta a una instancia. Puede especificar si la interfaz de red se debe eliminar automáticamente cuando finaliza la instancia a la que está conectada.

**Comprobación de origen/destino**  
Puede habilitar o deshabilitar las comprobaciones de origen/destino, que garantizan que la instancia sea el origen o el destino de cualquier tráfico que reciba. Las comprobaciones de origen/destino están habilitadas de forma predeterminada. Debe deshabilitar las comprobaciones de origen/destino si la instancia ejecuta servicios tales como la traducción o el direccionamiento de direcciones de red, o firewalls.

**Interfaces de red administradas por el solicitante**  
Los Servicios de AWS crean y administran estas interfaces de red para permitirle usar algunos recursos y servicios. No puede administrar estas interfaces de red usted mismo. Para obtener más información, consulte [Interfaces de red administradas por el solicitante](requester-managed-eni.md).

**Delegación de prefijos**  
Un prefijo es un rango CIDR IPv4 o IPv6 privado reservado que se asigna para la asignación automática o manual a interfaces de red asociadas a una instancia. Si utiliza Prefijos delegados, puede iniciar servicios más rápidamente al asignar un rango de direcciones IP como un prefijo único.

**Interfaces de red administradas**  
Los proveedores de servicios, como el modo automático de Amazon EKS, se encargan de administrar las *interfaces de red administradas*. No puede modificar directamente la configuración de una interfaz de red administrada. Las interfaces de red administradas se identifican con un valor **verdadero** en el campo **Administrada**. Para obtener más información, consulte [Instancias administradas por Amazon EC2](amazon-ec2-managed-instances.md).

## Tarjetas de red
<a name="network-cards"></a>

La mayoría de los tipos de instancia admiten una tarjeta de red. Los tipos de instancias que admiten varias tarjetas de red proporcionan un mayor rendimiento de red, incluidas capacidades de ancho de banda superiores a 100 Gbps y rendimiento de velocidad de paquetes mejorado. Al conectar una interfaz de red a una instancia que admite varias tarjetas de red, puede seleccionar la tarjeta de red para la interfaz de red. La interfaz de red principal debe asignarse al índice 0 de la tarjeta de red.

Las interfaces de red EFA y solo EFA cuentan como interfaz de red. Solo puede asignar una única interfaz de red EFA o solo EFA por tarjeta de red. La interfaz de red primaria no puede ser una interfaz de red exclusiva para EFA.

Los siguientes tipos de instancias admiten varias tarjetas de red. Para obtener información sobre la cantidad de interfaces de red que admite un tipo de instancia, consulte [Cantidad máxima de direcciones IP por interfaz de red](AvailableIpPerENI.md).


| Tipo de instancia | Número de tarjetas de red | 
| --- | --- | 
| c6in.32xlarge | 2 | 
| c6in.metal | 2 | 
| c8gb.48xlarge | 2 | 
| c8gb.metal-48xl | 2 | 
| c8gn.48xlarge | 2 | 
| c8gn.metal-48xl | 2. | 
| dl1.24xlarge | 4 | 
| g6e.24xlarge | 2 | 
| g6e.48xlarge | 4 | 
| g7e.24xlarge | 2 | 
| g7e.48xlarge | 4 | 
| hpc6id.32xlarge | 2 | 
| hpc7a.12xlarge | 2 | 
| hpc7a.24xlarge | 2 | 
| hpc7a.48xlarge | 2 | 
| hpc7a.96xlarge | 2 | 
| hpc8a.96xlarge | 2 | 
| m6idn.32xlarge | 2 | 
| m6idn.metal | 2 | 
| m6in.32xlarge | 2 | 
| m6in.metal | 2 | 
| m8gb.48xlarge | 2 | 
| m8gb.metal-48xl | 2 | 
| m8gn.48xlarge | 2 | 
| m8gn.metal-48xl | 2. | 
| p4d.24xlarge | 4 | 
| p4de.24xlarge | 4 | 
| p5.48xlarge | 32 | 
| p5e.48xlarge | 32 | 
| p5en.48xlarge | 16 | 
| p6-b200.48xlarge | 8 | 
| p6-b300.48xlarge | 17 | 
| p6e-gb200.36xlarge | 17 | 
| r8gb.48xlarge | 2 | 
| r8gb.metal-48xl | 2 | 
| r8gn.48xlarge | 2 | 
| r8gn.metal-48xl | 2 | 
| r6idn.32xlarge | 2 | 
| r6idn.metal | 2 | 
| r6in.32xlarge | 2 | 
| r6in.metal | 2. | 
| trn1.32xlarge | 8 | 
| trn1n.32xlarge | 16 | 
| trn2.48xlarge | 16 | 
| trn2u.48xlarge | 16 | 
| u7in-16tb.224xlarge | 2 | 
| u7in-24tb.224xlarge | 2 | 
| u7in-32tb.224xlarge | 2 | 
| u7inh-32tb.480xlarge | 2. | 

# Cantidad máxima de direcciones IP por interfaz de red
<a name="AvailableIpPerENI"></a>

Cada tipo de instancia admite un número máximo de interfaces de red, un número máximo de direcciones IPv4 privadas por interfaz de red y un número máximo de direcciones IPv6 por interfaz de red. El límite de direcciones IPv6 es independiente del límite de direcciones IPv4 privadas por interfaz de red. Tenga en cuenta que todos los tipos de instancia admiten direccionamiento IPv6, excepto C1, M1, M2, M3 y T1.

**Interfaces de red disponibles**

La *Guía de tipos de instancia de Amazon EC2* proporciona información acerca de las interfaces de red disponibles para cada tipo de instancia. Para obtener más información, consulte los siguientes temas:
+ [Especificaciones de red: uso general](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html#gp_network)
+ [Especificaciones de red: optimizadas para computación](https://docs.aws.amazon.com/ec2/latest/instancetypes/co.html#co_network)
+ [Especificaciones de red: memoria optimizada](https://docs.aws.amazon.com/ec2/latest/instancetypes/mo.html#mo_network)
+ [Especificaciones de red: almacenamiento optimizado](https://docs.aws.amazon.com/ec2/latest/instancetypes/so.html#so_network)
+ [Especificaciones de red: computación acelerada](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html#ac_network)
+ [Especificaciones de red: computación de alto rendimiento](https://docs.aws.amazon.com/ec2/latest/instancetypes/hpc.html#hpc_network)
+ [Especificaciones de red: generación anterior](https://docs.aws.amazon.com/ec2/latest/instancetypes/pg.html#pg_network)

------
#### [ Console ]

**Recuperación del número máximo de interfaces de red**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Instances Types (Tipos de instancia)**.

1. Agregue un filtro para especificar el tipo de instancia (**Tipo de instancia=c5.12xlarge**) o la familia de instancias (**Familia de instancias=c5**).

1. (Opcional) Haga clic en el icono **Preferencias** y, a continuación, active **Número máximo de interfaces de red**. En esta columna, se indica el número máximo de interfaces de red para cada tipo de instancia.

1. (Opcional) Seleccione el tipo de instancia. En la pestaña **Redes**, busque **Número máximo de interfaces de red**.

------
#### [ AWS CLI ]

**Recuperación del número máximo de interfaces de red**  
Puede utilizar el comando [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) para mostrar información sobre un tipo de instancia, como las interfaces de red compatibles y las direcciones IP por interfaz. En el siguiente ejemplo se muestra esta información para todas las instancias C8i.

```
{ echo -e "InstanceType\tMaximumNetworkInterfaces\tIpv4AddressesPerInterface"; \
aws ec2 describe-instance-types \
    --filters "Name=instance-type,Values=c8i.*" \
    --query 'InstanceTypes[*].[InstanceType, NetworkInfo.MaximumNetworkInterfaces, NetworkInfo.Ipv4AddressesPerInterface]' \
    --output text | sort -k2 -n; } | column -t
```

A continuación, se muestra un ejemplo del resultado.

```
InstanceType    MaximumNetworkInterfaces  Ipv4AddressesPerInterface
c8i.large       3                         20
c8i.2xlarge     4                         30
c8i.xlarge      4                         30
c8i.4xlarge     8                         50
c8i.8xlarge     10                        50
c8i.12xlarge    12                        50
c8i.16xlarge    16                        64
c8i.24xlarge    16                        64
c8i.32xlarge    24                        64
c8i.48xlarge    24                        64
c8i.96xlarge    24                        64
c8i.metal-48xl  24                        64
c8i.metal-96xl  24                        64
```

------
#### [ PowerShell ]

**Recuperación del número máximo de interfaces de red**  
Puede utilizar el comando de PowerShell [Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html) para mostrar información sobre un tipo de instancia, como las interfaces de red compatibles y las direcciones IP por interfaz. En el siguiente ejemplo se muestra esta información para todas las instancias C8i.

```
Get-EC2InstanceType -Filter @{Name="instance-type"; Values="c8i.*"} |
Select-Object `
    InstanceType,
    @{Name='MaximumNetworkInterfaces'; Expression={$_.NetworkInfo.MaximumNetworkInterfaces}},
    @{Name='Ipv4AddressesPerInterface'; Expression={$_.NetworkInfo.Ipv4AddressesPerInterface}} |
Sort-Object MaximumNetworkInterfaces |
Format-Table -AutoSize
```

A continuación, se muestra un ejemplo del resultado.

```
InstanceType   MaximumNetworkInterfaces Ipv4AddressesPerInterface
------------   ------------------------ -------------------------
c8i.large                             3                        20
c8i.xlarge                            4                        30
c8i.2xlarge                           4                        30
c8i.4xlarge                           8                        50
c8i.8xlarge                          10                        50
c8i.12xlarge                         12                        50
c8i.24xlarge                         16                        64
c8i.16xlarge                         16                        64
c8i.96xlarge                         24                        64
c8i.48xlarge                         24                        64
c8i.metal-96xl                       24                        64
c8i.32xlarge                         24                        64
c8i.metal-48xl                       24                        64
```

------

# Creación de una interfaz de red para su instancia de EC2
<a name="create-network-interface"></a>

Puede crear una interfaz de red para que la usen sus instancias de EC2. Cuando crea una interfaz de red, es necesario especificar la subred para la cual se crea. Una vez creada, no puede mover la interfaz de red a otra subred. Debe adjuntar una interfaz de red a una instancia de la misma zona de disponibilidad. Puede desasociar una interfaz de red secundaria de una instancia y luego asociarla a una instancia diferente en la misma zona de disponibilidad. No se puede desasociar una interfaz de red principal de una instancia. Para obtener más información, consulte [Elementos de interfaz de red para su instancia de EC2](network-interface-attachments.md).

------
#### [ Console ]

**Creación de una interfaz de red**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Network Interfaces**.

1. Elija **Crear interfaz de red**.

1. (Opcional) En **Descripción**, escriba un nombre descriptivo.

1. En **Subred**, seleccione una subred. Las opciones disponibles en los pasos siguientes cambian según el tipo de subred que seleccione (solo IPv4, solo IPv6 o doble pila [IPv4 e IPv6]).

1. En **Tipo de interfaz**, seleccione una de las siguientes opciones:
   + **ENA**: una interfaz de red de alto rendimiento diseñada para gestionar el alto rendimiento y tasas de paquetes por segundo para los protocolos TCP/IP y, al mismo tiempo, minimizar el uso de la CPU. Este es el valor predeterminado. Para obtener más información sobre ENA, consulte [Elastic Fabric Adapter](enhanced-networking-ena.md).
   + **EFA con ENA**: una interfaz de red que admite dispositivos ENA y EFA para el transporte tradicional basado en TCP/IP junto con el transporte basado en SRD. Si elige EFA con ENA, la instancia a la que lo vaya a conectar debe ser [compatible con EFA](efa.md#efa-instance-types). Para obtener más información sobre EFA, consulte [Elastic Fabric Adapter](efa.md).
   + **Solo EFA**: una interfaz de red de alto rendimiento diseñada para gestionar la comunicación entre nodos de alto rendimiento y baja latencia para el transporte basado en SRD y, al mismo tiempo, evitar la pila del sistema operativo. Si elige esta opción, la instancia a la que lo vaya a conectar debe ser [compatible con EFA](efa.md#efa-instance-types). Las interfaces de red solo EFA no admiten direcciones IP. Para obtener más información sobre EFA, consulte [Elastic Fabric Adapter](efa.md).

1. En **Dirección IPv4 privada**, realice alguna de las siguientes operaciones:
   + Elija **Asignación automática** para permitir que Amazon EC2 seleccione una dirección IPv4 de la subred.
   + Elija **Personalizado** e introduzca una dirección IPv4 que seleccione de la subred.

1. (Subredes solo con direcciones IPv6) En **Dirección IPv6**, realice una de las siguientes operaciones:
   + Elija **Ninguna** si no desea asignar una dirección IPv6 a la interfaz de red.
   + Elija **Asignación automática** para permitir que Amazon EC2 seleccione una dirección IPv6 de la subred.
   + Elija **Personalizado** e introduzca una dirección IPv6 que seleccione de la subred.

1. (Opcional) Si está creando una interfaz de red en una subred de doble pila o solo para IPv6, tiene la opción de **asignar la IP IPv6 principal**. Esto asigna una dirección de unidifusión global (GUA) IPv6 principal a la interfaz de red. La asignación de una dirección IPv6 principal le permite evitar interrumpir el tráfico a las instancias o ENI. Escoja **Habilitar** si la instancia a la que se adjuntará este ENI depende de que su dirección IPv6 no cambie. AWS asignará automáticamente una dirección IPv6 asociada al ENI adjunto a la instancia como la dirección IPv6 principal. Una vez que habilite una dirección GUA de IPv6 para que sea la IPv6 principal, no podrá desactivarla. Al habilitar una dirección GUA de IPv6 para que sea una de IPv6 principal, la primera dirección GUA de IPv6 pasará a ser la dirección IPv6 principal hasta que se finalice la instancia o se separe la interfaz de red. Si tiene varias direcciones IPv6 asociadas a un ENI adjunto a su instancia y habilita una dirección IPv6 principal, la primera dirección GUA de IPv6 asociada al ENI pasa a ser la dirección IPv6 principal.

1. (Opcional) Para crear una Elastic Fabric Adapter, elija **Elastic Fabric Adapter**, **Habilitar**.

1. (Opcional) En **Configuración avanzada**, puede configurar la delegación de prefijos IP. Para obtener más información, consulte [Delegación de prefijos](ec2-prefix-eni.md).
   + **Asignación automática**: AWS elige el prefijo de los bloques CIDR IPv4 o IPv6 para la subred y lo asigna a la interfaz de red.
   + **Personalizada**: debe especificar el prefijo de los bloques CIDR IPv4 o IPv6 para la subred. Luego, AWS comprueba que el prefijo no se haya asignado a otros recursos antes de asignarlo a la interfaz de red.

1. (Opcional) En **Configuración avanzada**, en **Tiempo de espera del seguimiento de la conexión inactiva**, modifique los tiempos de espera de la conexión inactiva predeterminados. Para obtener más información, consulte [Tiempo de espera de seguimiento de conexiones inactivas](security-group-connection-tracking.md#connection-tracking-timeouts).
   + **Tiempo de espera establecido de TCP**: tiempo de espera (en segundos) para las conexiones TCP inactivas en un estado establecido.
     + Mínimo: `60` segundos
     + Máximo: `432000` segundos
     + Predeterminado: `350` segundos para los tipos de instancias de [Nitrov6](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html), excepto P6e-GB200. Y `432000` segundos para otros tipos de instancias, incluida P6e-GB200.
     + Recomendado: menos de `432000` segundos
   + **Tiempo de espera de UDP**: tiempo de espera (en segundos) para los flujos de UDP inactivos que solo han registrado tráfico en una sola dirección o en una sola transacción de solicitud-respuesta.
     + Mínimo: `30` segundos
     + Máximo: `60` segundos
     + Valor predeterminado: `30` segundos
   + **Tiempo de espera del flujo de UDP**: tiempo de espera (en segundos) para los flujos de UDP inactivos clasificados como flujos que han recibido más de una transacción de solicitud-respuesta.
     + Mínimo: `60` segundos
     + Máximo: `180` segundos
     + Valor predeterminado: `180` segundos

1. En **Grupos de seguridad**, seleccione uno o varios grupos de seguridad.

1. (Opcional) Para cada etiqueta, elija **Agregar nueva etiqueta** y especifique una clave y un valor de etiqueta opcional.

1. Elija **Crear interfaz de red**.

------
#### [ AWS CLI ]

**Ejemplo 1: creación de una interfaz de red con las direcciones IP elegidas por Amazon EC2**  
Utilice el siguiente comando [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html). En este ejemplo, se crea una interfaz de red con una dirección IPv4 pública y una dirección IPv6 elegidas por Amazon EC2.

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --description "my dual-stack network interface" \
    --ipv6-address-count 1 \
    --groups sg-1234567890abcdef0
```

**Ejemplo 2: creación de una interfaz de red con direcciones IP específicas**  
Utilice el siguiente comando [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html).

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --description "my dual-stack network interface" \
    --private-ip-address 10.251.50.12 \
    --ipv6-addresses 2001:db8::1234:5678:1.2.3.4 \
    --groups sg-1234567890abcdef0
```

**Ejemplo 3: creación de una interfaz de red con un recuento de direcciones IP secundarias**  
Utilice el siguiente comando [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html). En este ejemplo, Amazon EC2 elige tanto la dirección IP principal como las direcciones IP secundarias.

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --description "my network interface" \
    --secondary-private-ip-address-count 2 \
    --groups sg-1234567890abcdef0
```

**Ejemplo 4: creación de una interfaz de red con una dirección IP secundaria específica**  
Utilice el siguiente comando [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html). En este ejemplo se especifica una dirección IP principal y una dirección IP secundaria.

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --description "my network interface" \
    --private-ip-addresses PrivateIpAddress=10.0.1.30,Primary=true \
                           PrivateIpAddress=10.0.1.31,Primary=false
    --groups sg-1234567890abcdef0
```

------
#### [ PowerShell ]

**Ejemplo 1: creación de una interfaz de red con las direcciones IP elegidas por Amazon EC2**  
Utilice el cmdlet [New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html). En este ejemplo, se crea una interfaz de red con una dirección IPv4 pública y una dirección IPv6 elegidas por Amazon EC2.

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -Description "my dual-stack network interface" `
    -Ipv6AddresCount 1 `
    -Group sg-1234567890abcdef0
```

**Ejemplo 2: creación de una interfaz de red con direcciones IP específicas**  
Utilice el cmdlet [New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html).

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -Description "my dual-stack network interface" `
    -PrivateIpAddress 10.251.50.12 `
    -Ipv6Address $ipv6addr `
    -Group sg-1234567890abcdef0
```

Defina las direcciones IPv6 de la siguiente manera.

```
$ipv6addr = New-Object Amazon.EC2.Model.InstanceIpv6Address
$ipv6addr1.Ipv6Address = "2001:db8::1234:5678:1.2.3.4"
```

**Ejemplo 3: creación de una interfaz de red con un recuento de direcciones IP secundarias**  
Utilice el cmdlet [New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html). En este ejemplo, Amazon EC2 elige tanto la dirección IP principal como las direcciones IP secundarias.

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -Description "my network interface" `
    -SecondaryPrivateIpAddressCount 2 `
    -Group sg-1234567890abcdef0
```

**Ejemplo 4: creación de una interfaz de red con una dirección IP secundaria específica**  
Utilice el cmdlet [New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html). En este ejemplo se especifica una dirección IP principal y una dirección IP secundaria.

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -Description "my network interface" `
    -PrivateIpAddresses @($primary, $secondary) `
    -Group sg-1234567890abcdef0
```

Defina las direcciones secundarias de la siguiente manera.

```
$primary = New-Object Amazon.EC2.Model.PrivateIpAddressSpecification
$primary.PrivateIpAddress = "10.0.1.30"
$primary.Primary = $true
$secondary = New-Object Amazon.EC2.Model.PrivateIpAddressSpecification
$secondary.PrivateIpAddress = "10.0.1.31"
$secondary.Primary = $false
```

------

# Elementos de interfaz de red para su instancia de EC2
<a name="network-interface-attachments"></a>

Puede crear interfaces de red para que las utilicen sus instancias de EC2 como interfaces de red principales o secundarias. Debe asociar una interfaz de red a una instancia de EC2 si esta se encuentra en la misma zona de disponibilidad que la interfaz de red. El tipo de instancia de una instancia determina el número de interfaces de red que puede conectar a la instancia. Para obtener más información, consulte [Cantidad máxima de direcciones IP por interfaz de red](AvailableIpPerENI.md).

**Consideraciones**
+ Puede conectar una interfaz de red a una instancia cuando está ejecutándose (ajuste en caliente), cuando se detiene (ajuste templado) o cuando se está iniciando (ajuste en frío).
+ Puede desconectar las interfaces de red secundarias cuando la instancia esté detenida o en ejecución. Sin embargo, no puede desconectar la interfaz de red principal.
+ Puede desasociar una interfaz de red secundaria de una instancia y asociarla a otra instancia.
+ Cuando se inicia una instancia utilizando la CLI, la API o un SDK, puede especificar la interfaz de red principal e interfaces de red adicionales. Recuerde que no puede habilitar la asignación automática de direcciones IPv4 públicas si agrega una interfaz de red secundaria durante el lanzamiento.
+ Cuando se inicia una instancia de Amazon Linux o Windows Server con varias interfaces de red, se configuran automáticamente las interfaces, las direcciones IPv4 privadas y las tablas de enrutamiento en el sistema operativo de la instancia.
+ Una conexión en caliente o templada de una interfaz de red adicional podría requerir que active manualmente la segunda interfaz, configure la dirección IPv4 privada y modifique la tabla de enrutamiento en consecuencia. Las instancias que ejecutan Amazon Linux o Windows Server reconocen automáticamente la conexión en caliente o templada, y se autoconfiguran.
+ No puede asociar otra interfaz de red a una instancia (por ejemplo, una configuración de NIC Teaming) para aumentar o duplicar el ancho de banda de la red desde o hacia la instancia con doble alojamiento.
+ Si asocia múltiples interfaces de red de la misma subred a una instancia, se pueden producir problemas de red, como el direccionamiento asimétrico. Si es posible, en su lugar, agregue una dirección IPv4 privada secundaria en la interfaz de red principal.
+ Para las instancias de EC2 de una subred solo IPv6, si asocia una interfaz de red secundaria a la instancia, el nombre de host DNS privado de la interfaz de red secundaria se resolverá en la dirección IPv6 principal de la interfaz de red principal.
+ [Instancias de Windows]: si agrega varias interfaces de red a una instancia, debe configurarlas de modo que utilicen el direccionamiento estático.

## Asociación de una interfaz de red
<a name="attach_eni"></a>

Puede adjuntar una interfaz de red a cualquier instancia de la misma zona de disponibilidad que la interfaz de red, ya sea utilizando la página **Instancias** o **Interfaces de red** de la consola de Amazon EC2. Como alternativa, puede especificar interfaces de red existentes cuando [lance instancias](ec2-launch-instance-wizard.md).

Si se libera la dirección IPv4 pública de la instancia, no recibe una nueva si tiene conectada más de una interfaz de red. Para obtener más información acerca del comportamiento de las direcciones IPv4 públicas, consulte [Direcciones IPv4 públicas](using-instance-addressing.md#concepts-public-addresses).

------
#### [ Console ]

**Asociación de una interfaz de red mediante la página “Instancias”**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la casilla de verificación de la instancia.

1. Elija **Acciones**, **Redes**, **Asociar interfaz de red**.

1. Elija una VPC. La interfaz de red puede residir en la misma VPC que la instancia o en una VPC diferente que posea, siempre que la interfaz de red esté en la misma zona de disponibilidad que la instancia. Esto le permite crear instancias con varios hosts en las VPC con diferentes configuraciones de red y seguridad.

1. Seleccione una interfaz de red. Si la instancia admite varias tarjetas de red, puede elegir una tarjeta de red.

1. Elija **Adjuntar**.

**Asociación de una interfaz de red mediante la página “Interfaces de red”**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Network Interfaces**.

1. Seleccione la casilla de verificación de la interfaz de red.

1. Elija **Acciones**, **Asociar**.

1. Elija una instancia. Si la instancia admite varias tarjetas de red, puede elegir una tarjeta de red.

1. Elija **Adjuntar**.

------
#### [ AWS CLI ]

**Asociación de una interfaz de red**  
Utilice el siguiente comando [attach-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-network-interface.html).

```
aws ec2 attach-network-interface \
    --network-interface-id eni-1234567890abcdef0 \
    --instance-id i-1234567890abcdef0 \
    --device-index 1
```

------
#### [ PowerShell ]

**Asociación de una interfaz de red**  
Utilice el cmdlet [Add-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2NetworkInterface.html).

```
Add-EC2NetworkInterface `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -InstanceId i-1234567890abcdef0 `
    -DeviceIndex 1
```

------

## Desasociación de una interfaz de red
<a name="detach_eni"></a>

Puede desconectar una interfaz de red secundaria asociada a una instancia de EC2 en cualquier momento utilizando las páginas **Instancias** o **Interfaces de red** de la consola de Amazon EC2.

Si intenta desconectar una interfaz de red adjunta a un recurso de otro servicio, como un equilibrador de carga de Elastic Load Balancing, una función de Lambda, un WorkSpace o una puerta de enlace de NAT, aparecerá un error que indicará que no tiene permiso para acceder al recurso. Para averiguar qué servicio creó el recurso adjunto a una interfaz de red, verifique la descripción de la interfaz de red. Si elimina el recurso, se elimina su interfaz de red.

------
#### [ Console ]

**Desasociación de una interfaz de red mediante la página “Instancias”**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la casilla de verificación de la instancia. Consulte la sección **Interfaces de red** de la pestaña **Redes** para comprobar que la interfaz de red está asociada a una instancia como interfaz de red secundaria.

1. Elija **Acciones**, **Redes**, **Desconectar interfaz de red**.

1. Seleccione la interfaz de red y elija **Desconectar**.

**Desasociación de una interfaz de red de una instancia en la página “Interfaces de red”**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Network Interfaces**.

1. Seleccione la casilla de verificación de la interfaz de red. Consulte la sección **Detalles de la instancia** de la pestaña **Detalles** para comprobar que la interfaz de red está asociada a una instancia como interfaz de red secundaria.

1. Elija **Acciones**, **Desasociar**.

1. Cuando se le indique que confirme, elija **Desasociar**.

1. Si la interfaz de red no se desconecta de la instancia, elija **Forzar desconexión**, **Habilitar** y vuelva a intentarlo. Recomendamos que forzar desconexión se emplee solo como último recurso. Forzar una desconexión puede impedir la conexión con una interfaz de red diferente en el mismo índice hasta que reinicie la instancia. También puede impedir que los metadatos de la instancia reflejen que la interfaz de red se desconectó hasta que reinicie la instancia.

------
#### [ AWS CLI ]

**Desasociación de una interfaz de red**  
Utilice el siguiente comando [detach-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/detach-network-interface.html).

```
aws ec2 detach-network-interface --attachment-id eni-attach-016c93267131892c9
```

------
#### [ PowerShell ]

**Desasociación de una interfaz de red**  
Utilice el cmdlet [Dismount-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/Dismount-EC2NetworkInterface.html).

```
Dismount-EC2NetworkInterface -AttachmentId eni-attach-016c93267131892c9
```

------

# Administración de las direcciones IP de la interfaz de red
<a name="managing-network-interface-ip-addresses"></a>

Puede administrar las siguientes direcciones IP de las interfaces de red:
+ Direcciones IP elásticas (una por cada dirección IPv4 privada)
+ Direcciones IPv4
+ Direcciones IPv6

------
#### [ Console ]

**Administración de las direcciones IP de una interfaz de red**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Network Interfaces**.

1. Seleccione la casilla de verificación de la interfaz de red.

1. Para administrar las direcciones IPv4 e IPv6, haga lo siguiente:

   1. Elija **Acciones**, **Administrar direcciones IP**.

   1. Amplíe la interfaz de red.

   1. En **Direcciones IPv4**, edite las direcciones IP según sea necesario. Para asignar una dirección IPv4 adicional, elija **Asignar nueva dirección IP** y especifique una dirección IPv4 del rango de la subred o deje que AWS elija una por usted.

   1. (Pila doble o solo IPv6) En el caso de las **direcciones IPv6**, edite las direcciones IP según sea necesario. Para asignar una dirección IPv6 adicional, elija **Asignar nueva dirección IP** y especifique una dirección IPv6 del rango de la subred o deje que AWS elija una por usted.

   1. Para asignar o desasignar una dirección IPv4 pública a una interfaz de red, seleccione **Asignar de manera automática una IP pública**. Puede habilitar o deshabilitar esta opción para cualquier interfaz de red, pero solo la interfaz de red principal se ve afectada.

   1. (Doble pila o solo IPv6) En **Asignar IP IPv6 principal**, elija **Habilitar** para asignar una dirección IPv6 principal. La primera GUA asociada a la interfaz de red se elige como dirección IPv6 principal. Después de asignar una dirección IPv6 principal, no puede cambiarla. Esta es la dirección IPv6 principal hasta que se termine la instancia o se desasocie la interfaz de red.

   1. Seleccione **Save**.

1. Para asociar una dirección IP elástica, haga lo siguiente:

   1. Elija **Acciones**, **Asociar dirección**.

   1. En **Dirección IP elástica**, seleccione la dirección IP elástica.

   1. En **Dirección IPv4 privada**, seleccione la dirección IPv4 privada que desea asociar a la dirección IP elástica.

   1. (Opcional) Elija **Permitir que se vuelva a asociar la dirección IP elástica** si la interfaz de red está asociada actualmente a otra instancia o interfaz de red.

   1. Elija **Associate**.

1. Para desasociar una dirección IP elástica, haga lo siguiente:

   1. Elija **Acciones**, **Desasociar dirección**.

   1. En **Dirección IP pública**, seleccione la dirección IP elástica.

   1. Elija **Disassociate (Desasociar)**.

------
#### [ AWS CLI ]

**Administración de las direcciones IPv4**  
Utilice el siguiente comando [assign-private-ip-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-private-ip-addresses.html) para asignar una dirección IPv4.

```
aws ec2 assign-private-ip-addresses \
    --network-interface-id eni-1234567890abcdef0 \
    --private-ip-addresses 10.0.0.82
```

Utilice el siguiente comando [unassign-private-ip-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/unassign-private-ip-addresses.html) para desasignar una dirección IPv4.

```
aws ec2 unassign-private-ip-addresses \
    --network-interface-id eni-1234567890abcdef0 \
    --private-ip-addresses 10.0.0.82
```

**Administración de las direcciones IPv6**  
Utilice el siguiente comando [assign-ipv6-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-ipv6-addresses.html) para asignar una dirección IPv6.

```
aws ec2 assign-ipv6-addresses \
    --network-interface-id eni-1234567890abcdef0 \
    --ipv6-addresses 2001:db8:1234:1a00:9691:9503:25ad:1761
```

Utilice el siguiente comando [unassign-ipv6-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/unassign-ipv6-addresses.html) para desasignar una dirección IPv6.

```
aws ec2 unassign-ipv6-addresses \
    --network-interface-id eni-1234567890abcdef0 \
    --ipv6-addresses 2001:db8:1234:1a00:9691:9503:25ad:1761
```

**Administración de la dirección IP elástica de la dirección IPv4 privada principal**  
Use el siguiente comando [associate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-address.html) para asociar una dirección IP elástica a la dirección IPv4 privada principal.

```
aws ec2 associate-address \
    --allocation-id eipalloc-0b263919b6EXAMPLE \
    --network-interface-id eni-1234567890abcdef0
```

Use el siguiente comando [disassociate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-address.html) para desasociar una dirección IP elástica de la dirección IPv4 privada principal.

```
aws ec2 disassociate-address --association-id eipassoc-2bebb745a1EXAMPLE
```

------
#### [ PowerShell ]

**Administración de las direcciones IPv4**  
Utilice el cmdlet [Register-EC2PrivateIpAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2PrivateIpAddress.html) para asignar una dirección IPv4.

```
Register-EC2PrivateIpAddress `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -PrivateIpAddress 10.0.0.82
```

Utilice el cmdlet [Unregister-EC2PrivateIpAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2PrivateIpAddress.html) para desasignar una dirección IPv4.

```
Unregister-EC2PrivateIpAddress `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -PrivateIpAddress 10.0.0.82
```

**Administración de las direcciones IPv6**  
Utilice el cmdlet [Register-EC2Ipv6AddressList](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Ipv6AddressList.html) para asignar una dirección IPv6.

```
Register-EC2Ipv6AddressList `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Ipv6Address 2001:db8:1234:1a00:9691:9503:25ad:1761
```

Utilice el cmdlet [Unregister-EC2Ipv6AddressList](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2Ipv6AddressList.html) para desasignar una dirección IPv6.

```
Unregister-EC2Ipv6AddressList `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Ipv6Address 2001:db8:1234:1a00:9691:9503:25ad:1761
```

**Administración de la dirección IP elástica de la dirección IPv4 privada principal**  
Utilice el cmdlet [Register-EC2Address](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Address.html) para asociar una dirección IP elástica a la dirección IPv4 privada principal.

```
Register-EC2Address `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -AllocationId eipalloc-0b263919b6EXAMPLE
```

Utilice el cmdlet [Unregister-EC2Address](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2Address.html) para desasociar una dirección IP elástica de la dirección IPv4 privada principal.

```
Unregister-EC2Address -AssociationId eipassoc-2bebb745a1EXAMPLE
```

------

# Modificar atributos de interfaz de red
<a name="modify-network-interface-attributes"></a>

Puede cambiar los siguientes atributos de la interfaz de red:
+ Descripción
+ Grupos de seguridad
+ Eliminar al terminar
+ Comprobación de origen/destino
+ Tiempo de espera de seguimiento de conexiones inactivas

**Consideraciones**  
No es posible cambiar los atributos de una interfaz de red administrada por el solicitante.

------
#### [ Console ]

**Modificación de los atributos de una interfaz de red**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Network Interfaces**.

1. Seleccione la casilla de verificación de la interfaz de red.

1. Para cambiar la descripción, haga lo siguiente:

   1. Elija **Acciones**, **Cambiar descripción**.

   1. En **Descripción**, escriba una descripción.

   1. Seleccione **Save**.

1. Para cambiar los grupos de seguridad, haga lo siguiente:

   1. Elija **Acciones**, **Cambiar grupos de seguridad**.

   1. En **Grupos de seguridad asociados**, agregue y elimine grupos de seguridad según sea necesario. El grupo de seguridad y la interfaz de red deben crearse para la misma VPC.

   1. Seleccione **Save**.

1. Para cambiar el comportamiento de finalización, haga lo siguiente:

   1. Elija **Acciones**, **Cambiar el comportamiento de finalización**.

   1. Seleccione o desactive **Eliminar al terminar** y **Habilitar**.

   1. Seleccione **Save**.

1. Para cambiar las comprobaciones de origen/destino, haga lo siguiente:

   1. Elija **Acciones**, **Cambiar comprobación de origen/destino**.

   1. Seleccione o desactive **Comprobación de origen/destino** y **Habilitar**.

   1. Seleccione **Save**.

1. Para cambiar los tiempos de espera de seguimiento de conexiones inactivas, haga lo siguiente:

   1. Seleccione **Acciones** y **Modificar el tiempo de espera de seguimiento de conexiones inactivas**.

   1. Modifique los valores de tiempo de espera según sea necesario. Para obtener más información, consulte [Tiempo de espera de seguimiento de conexiones inactivas](security-group-connection-tracking.md#connection-tracking-timeouts).
      + **Tiempo de espera establecido de TCP**: tiempo de espera (en segundos) para las conexiones TCP inactivas en un estado establecido.
        + Mínimo: `60` segundos
        + Máximo: `432000` segundos
        + Predeterminado: `350` segundos para los tipos de instancias de [Nitrov6](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html), excepto P6e-GB200. Y `432000` segundos para otros tipos de instancias, incluida P6e-GB200.
        + Recomendado: menos de `432000` segundos
      + **Tiempo de espera de UDP**: tiempo de espera (en segundos) para los flujos de UDP inactivos que solo han registrado tráfico en una sola dirección o en una sola transacción de solicitud-respuesta.
        + Mínimo: `30` segundos
        + Máximo: `60` segundos
        + Valor predeterminado: `30` segundos
      + **Tiempo de espera del flujo de UDP**: tiempo de espera (en segundos) para los flujos de UDP inactivos clasificados como flujos que han recibido más de una transacción de solicitud-respuesta.
        + Mínimo: `60` segundos
        + Máximo: `180` segundos
        + Valor predeterminado: `180` segundos

   1. Seleccione **Save**.

------
#### [ AWS CLI ]

**Example Ejemplo: modificación de la descripción**  
Utilice el siguiente comando [modify-network-interface-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-network-interface-attribute.html).  

```
aws ec2 modify-network-interface-attribute \
    --network-interface-id eni-1234567890abcdef0 \
    --description "my updated description"
```

**Example Ejemplo: modificación de los grupos de seguridad**  
Utilice el siguiente comando [modify-network-interface-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-network-interface-attribute.html).  

```
aws ec2 modify-network-interface-attribute \
    --network-interface-id eni-1234567890abcdef0 \
    --groups sg-1234567890abcdef0
```

**Example Ejemplo: modificación del comportamiento de finalización**  
Utilice el siguiente comando [modify-network-interface-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-network-interface-attribute.html).  

```
aws ec2 modify-network-interface-attribute \
    --network-interface-id eni-1234567890abcdef0 \
    --attachment AttachmentId=eni-attach-43348162abEXAMPLE,DeleteOnTermination=false
```

**Example Ejemplo: habilitación de la comprobación de origen/destino**  
Utilice el siguiente comando [modify-network-interface-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-network-interface-attribute.html).  

```
aws ec2 modify-network-interface-attribute \
    --network-interface-id eni-1234567890abcdef0 \
    --source-dest-check
```

**Example Ejemplo: modificación del tiempo de espera del seguimiento de conexiones inactivas**  
Utilice el siguiente comando [modify-network-interface-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-network-interface-attribute.html). Para obtener más información, consulte [Tiempo de espera de seguimiento de conexiones inactivas](security-group-connection-tracking.md#connection-tracking-timeouts).  

```
aws ec2 modify-network-interface-attribute \
    --network-interface-id eni-1234567890abcdef0 \
    --connection-tracking-specification TcpEstablishedTimeout=172800,UdpStreamTimeout=90,UdpTimeout=60
```

------
#### [ PowerShell ]

**Example Ejemplo: modificación de la descripción**  
Utilice el cmdlet [Edit-EC2NetworkInterfaceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2NetworkInterfaceAttribute.html).  

```
Edit-EC2NetworkInterfaceAttribute `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Description "my updated description"
```

**Example Ejemplo: modificación de los grupos de seguridad**  
Utilice el cmdlet [Edit-EC2NetworkInterfaceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2NetworkInterfaceAttribute.html).  

```
Edit-EC2NetworkInterfaceAttribute `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Group sg-1234567890abcdef0
```

**Example Ejemplo: modificación del comportamiento de finalización**  
Utilice el cmdlet [Edit-EC2NetworkInterfaceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2NetworkInterfaceAttribute.html).  

```
Edit-EC2NetworkInterfaceAttribute `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Attachment_AttachmentId eni-attach-43348162abEXAMPLE `
    -Attachment_DeleteOnTermination $false
```

**Example Ejemplo: habilitación de la comprobación de origen/destino**  
Utilice el cmdlet [Edit-EC2NetworkInterfaceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2NetworkInterfaceAttribute.html).  

```
Edit-EC2NetworkInterfaceAttribute `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -SourceDestCheck $true
```

**Example Ejemplo: modificación de los tiempos de espera de seguimiento de conexiones inactivas**  
Utilice el cmdlet [Edit-EC2NetworkInterfaceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2NetworkInterfaceAttribute.html). Para obtener más información, consulte [Tiempo de espera de seguimiento de conexiones inactivas](security-group-connection-tracking.md#connection-tracking-timeouts).  

```
Edit-EC2NetworkInterfaceAttribute `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -ConnectionTrackingSpecification_TcpEstablishedTimeout 172800 `
    -ConnectionTrackingSpecification_UdpStreamTimeout 90 `
    -ConnectionTrackingSpecification_UdpTimeout 60
```

------

# Múltiples interfaces de red para sus instancias de Amazon EC2
<a name="scenarios-enis"></a>

Asociar varias interfaces de red a una instancia es útil cuando necesita lo siguiente:
+ Una [red de administración](#creating-a-management-network).
+ [Dispositivos de red y de seguridad](#use-network-and-security-appliances-in-your-vpc).
+ Instancias de doble alojamiento con cargas de trabajo en diferentes [subredes](#creating-dual-homed-instances-with-workloads-roles-on-distinct-subnets) o [VPC](#creating-dual-homed-instances-with-workloads-roles-on-distinct-subnets).
+ Una solución de [bajo presupuesto y alta disponibilidad](#create-a-low-budget-high-availability-solution).

## Red de administración
<a name="creating-a-management-network"></a>

En la siguiente descripción general, se describe una red de administración creada con varias interfaces de red.

**Criterios**
+ La interfaz de red principal en la instancia (por ejemplo, eth0) gestiona el tráfico público.
+ La interfaz de red secundaria de la instancia (por ejemplo, eth1) gestiona el tráfico de administración del backend. Está conectada a una subred independiente que tiene controles de acceso más restrictivos y está ubicada en la misma zona de disponibilidad que la interfaz de red principal.

**Configuración**
+ La interfaz de red principal, que puede o no estar detrás de un equilibrador de carga, tiene un grupo de seguridad asociado que permite el acceso al servidor desde Internet. Por ejemplo, permite los puertos TCP 80 y 443 desde 0.0.0.0/0 o desde el equilibrador de carga.
+ La interfaz de red secundaria tiene un grupo de seguridad asociado que solo permite el acceso a SSH, iniciado desde una de las siguientes ubicaciones:
  + Un rango permitido de direcciones IP, ya sea dentro de la VPC o desde Internet.
  + Una subred privada dentro de la misma zona de disponibilidad que la interfaz de red principal.
  + Una puerta de enlace privada virtual.

**nota**  
Para asegurar la capacidad de conmutación por error, considere el uso de una IPv4 privada secundaria para el tráfico entrante en una interfaz de red. En caso de que se produzca un error en una instancia, puede mover la interfaz y/o la dirección IPv4 privada secundaria a una instancia en espera.

![\[Creación de una red de administración\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/EC2_ENI_management_network.png)


## Dispositivos de red y de seguridad
<a name="use-network-and-security-appliances-in-your-vpc"></a>

Algunos dispositivos de red y seguridad, como los balanceadores de carga, los servidores NAT (network address translation) y los servidores proxy prefieren estar configurados con varias interfaces de red. Puede crear y adjuntar interfaces de red secundarias a instancias que ejecuten estos tipos de aplicaciones y configurar las interfaces adicionales con sus propias direcciones IP privadas y públicas, grupos de seguridad y comprobaciones de origen/destino.

## Instancias de doble alojamiento con cargas de trabajo en diferentes subredes
<a name="creating-dual-homed-instances-with-workloads-roles-on-distinct-subnets"></a>

Puede ubicar una interfaz de red en cada servidor web que se conecte a una red de capa intermedia donde reside el servidor de aplicaciones. El servidor de aplicaciones también puede tener doble alojamiento en una red de backend (subred) donde reside el servidor de bases de datos. En lugar de enrutar los paquetes de red a través de las instancias de doble alojamiento, cada una de estas instancias recibe y procesa las solicitudes en el front end, inicia una conexión con el backend y envía las solicitudes a los servidores en la red backend.

## Instancias de doble alojamiento con cargas de trabajo en diferentes VPC en la misma cuenta
<a name="creating-dual-homed-instances-with-workloads-roles-on-distinct-vpcs"></a>

Puede lanzar una instancia de EC2 en una VPC y asociar una ENI secundaria de otra VPC, siempre y cuando la interfaz de red esté en la misma zona de disponibilidad que la instancia. Esto le permite crear instancias con varios hosts en las VPC con diferentes configuraciones de red y seguridad. No puede crear instancias con varios alojamientos en VPC de cuentas de AWS diferentes.

Puede usar instancias de doble host en las VPC en los siguientes casos de uso:
+ **Superar las superposiciones de CIDR entre dos VPC que no se pueden emparejar entre sí**: puede utilizar un CIDR secundario en una VPC y permitir que una instancia se comunique a través de dos rangos de IP que no se superpongan. 
+ **Conectar varias VPC en una sola cuenta**: habilite la comunicación entre recursos individuales que normalmente estarían separados por los límites de las VPC.

## Solución de bajo presupuesto y alta disponibilidad
<a name="create-a-low-budget-high-availability-solution"></a>

Si una de las instancias que da servicio a una función particular da error, su interfaz de red puede conectarse a una instancia de reemplazo o de espera activa preconfigurada para el mismo rol, con el fin de recuperar rápidamente el servicio. Por ejemplo, puede usar una interfaz de red como principal o secundaria en un servicio crítico, como una instancia de la base de datos o una instancia NAT. Si la instancia da error (o más probable, el código que se ejecuta en su nombre) puede conectar la interfaz de red a una instancia en espera activa. Dado que la interfaz mantiene las direcciones IP privadas, direcciones IP elásticas y direcciones MAC, el tráfico de red comienza a fluir hacia la instancia en espera tan pronto como conecte la interfaz de red a la instancia de sustitución. Los usuarios experimentan una breve pérdida de conexión entre el momento en que la instancia da error y el momento en que la interfaz de red se adjunta a la instancia en espera, pero no es necesario efectuar ningún cambio en la tabla de enrutamiento ni en el servidor DNS.

# Interfaces de red administradas por el solicitante
<a name="requester-managed-eni"></a>

Una interfaz de red administrada por el solicitante es una interfaz de red creada por Servicio de AWS en su VPC en su nombre. La interfaz de red está asociada a un recurso de otro servicio, como una instancia de la base de datos de Amazon RDS, una puerta de enlace de NAT o un punto de conexión de VPC de interfaz de AWS PrivateLink.

**Consideraciones**
+ Puede ver las interfaces de red administrada por el solicitante en su cuenta. Puede agregar o eliminar etiquetas, pero no puede cambiar otras propiedades de una interfaz de red administrada por el solicitante.
+ No es posible desconectar una interfaz de red administrada por el solicitante.
+ Si elimina el recurso asociado a la interfaz de red administrada por el solicitante, el Servicio de AWS desconectará la interfaz de red y la eliminará. Si el servicio desconectó una interfaz de red pero no la eliminó, puede eliminar la interfaz de red desconectada.

------
#### [ Console ]

**Visualización de las interfaces de red administradas por el solicitante**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Red y seguridad** y, a continuación, **Interfaces de red**.

1. Seleccione el ID de la interfaz de red para abrir su página de detalles.

1. Los siguientes son los campos clave que puede utilizar para determinar el propósito de la interfaz de red:
   + **Descripción**: descripción proporcionada por el servicio de AWS que creó la interfaz. Por ejemplo, “Interfaz de punto de conexión de VPC vpce 089f2123488812123”.
   + **Administrado por el solicitante**: indica si la interfaz de red está administrada por AWS.
   + **ID del solicitante**: alias o ID de la cuenta de AWS de la entidad principal o el servicio que creó la interfaz de red. Si usted creó la interfaz de red, este es el ID de su Cuenta de AWS. De lo contrario, otra entidad principal o servicio lo creó.

------
#### [ AWS CLI ]

**Visualización de las interfaces de red administradas por el solicitante**  
Utilice el comando [describe-network-interfaces](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-network-interfaces.html) de la siguiente manera.

```
aws ec2 describe-network-interfaces \
    --filters "Name=requester-managed,Values=true" \
    --query "NetworkInterfaces[*].[Description, InterfaceType]" \ 
    --output table
```

A continuación, se presenta el resultado de ejemplo que muestra los campos clave que puede utilizar para determinar el propósito de la interfaz de red: `Description` e `InterfaceType`.

```
-------------------------------------------------------------------------------
|                          DescribeNetworkInterfaces                          |
+---------------------------------------------------+-------------------------+
|  VPC Endpoint Interface: vpce-0f00567fa8477a1e6   |  interface              |
|  VPC Endpoint Interface vpce-0d8ddce4be80e4474    |  interface              |
|  VPC Endpoint Interface vpce-078221a1e27d1ea5b    |  vpc_endpoint           |
|  Resource Gateway Interface rgw-0bba03f3d56060135 |  interface              |
|  VPC Endpoint Interface: vpce-0cc199f605eaeace7   |  interface              |
|  VPC Endpoint Interface vpce-019b90d6f16d4f958    |  interface              |
+---------------------------------------------------+-------------------------+
```

------
#### [ PowerShell ]

**Visualización de las interfaces de red administradas por el solicitante**  
Utilice cmdlet [Get-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2NetworkInterface.html) de la siguiente manera.

```
Get-EC2NetworkInterface -Filter @{Name="requester-managed"; Values="true"} | Select Description, InterfaceType
```

A continuación, se presenta el resultado de ejemplo que muestra los campos clave que puede utilizar para determinar el propósito de una interfaz de red: `Description` e `InterfaceType`.

```
Description                                      InterfaceType
-----------                                      -------------
VPC Endpoint Interface: vpce-0f00567fa8477a1e6   interface
VPC Endpoint Interface vpce-0d8ddce4be80e4474    interface
VPC Endpoint Interface vpce-078221a1e27d1ea5b    vpc_endpoint
Resource Gateway Interface rgw-0bba03f3d56060135 interface
VPC Endpoint Interface: vpce-0cc199f605eaeace7   interface
VPC Endpoint Interface vpce-019b90d6f16d4f958    interface
```

------

# Delegación de prefijos para las interfaces de red de Amazon EC2
<a name="ec2-prefix-eni"></a>

Puede asignar un intervalo CIDR IPv4 o IPv6 privado, ya sea de forma automática o manual, a las interfaces de red. Al asignar prefijos, puede escalar y simplificar la administración de aplicaciones, incluidas las aplicaciones de red y contenedores que requieren varias direcciones IP en una instancia. Para obtener más información acerca de las direcciones IPv4 e IPv6, consulte [Direccionamiento IP de instancias Amazon EC2](using-instance-addressing.md).

Están disponibles las siguientes opciones de asignación:
+ **Asignación automática**: AWS elige el prefijo y lo asigna a la interfaz de red. Si la subred de la interfaz de red tiene una reserva de CIDR de subred de tipo `prefix`, seleccionamos los prefijos a partir de dicha reserva. De lo contrario, los seleccionamos del rango CIDR de la subred.
+ **Asignación manual**: se especifica el prefijo y AWS verifica que no esté asignado a otros recursos antes de asignarlo a la interfaz de red.

La asignación de prefijos incluye los siguientes beneficios:
+ Mayor número de direcciones IP en una interfaz de red: cuando se utiliza un prefijo, se asigna un bloque de direcciones IP en lugar de direcciones IP individuales. Esto aumenta el número de direcciones IP en una interfaz de red.
+ Administración simplificada de VPC para contenedores: en las aplicaciones de contenedores, cada contenedor requiere una dirección IP única. La asignación de prefijos a la instancia simplifica la gestión de las VPC, ya que puede iniciar y finalizar contenedores sin tener que llamar a las API de Amazon EC2 para asignaciones de IP individuales.

**Contents**
+ [

## Conceptos básicos
](#ec2-prefix-basics)
+ [

## Consideraciones
](#prefix-limit)
+ [Administración de prefijos](work-with-prefixes.md)
  + [

## Asignar prefijos durante la creación de la interfaz de red
](work-with-prefixes.md#assign-auto-creation)
  + [

## Asignación de prefijos a una interfaz de red existente
](work-with-prefixes.md#assign-auto-existing)
  + [

## Eliminar prefijos de las interfaces de red
](work-with-prefixes.md#unassign-prefix)

## Conceptos básicos
<a name="ec2-prefix-basics"></a>
+ Puede asignar un prefijo a interfaces de red nuevas o existentes.
+ Para utilizar prefijos, primero asigne un prefijo a su interfaz de red; luego, adjunte la interfaz de red a su instancia y, a continuación, configure el sistema operativo.
+ Cuando elige la opción para especificar un prefijo, el prefijo debe cumplir los siguientes requisitos:
  + El prefijo IPv4 que puede especificar es `/28`.
  + El prefijo IPv6 que puede especificar es `/80`.
  + El prefijo se encuentra en el CIDR de la subred de la interfaz de red y no se superpone con otros prefijos o direcciones IP asignados a recursos existentes en la subred.
+ Puede asignar un prefijo a la interfaz de red principal o secundaria.
+ Puede asignar una dirección IP elástica a una interfaz de red que tenga un prefijo asignado.
+ También puede asignar una dirección IP elástica a la parte de la dirección IP del prefijo asignado.
+ Resolvemos el nombre de host DNS privado de una instancia en la dirección IPv4 privada.
+ Se asigna cada dirección IPv4 privada a una interfaz de red, incluidas las de prefijos, con los siguientes formatos:
  + Región de `us-east-1`

    ```
    ip-private-ipv4-address.ec2.internal
    ```
  + Las demás regiones

    ```
    ip-private-ipv4-address.region.compute.internal
    ```

## Consideraciones
<a name="prefix-limit"></a>

Tenga en cuenta lo siguiente cuando utilice prefijos:
+ Las interfaces de red con prefijos son compatibles con las [instancias basadas en Nitro](instance-types.md#instance-hypervisor-type).
+ Los prefijos de las interfaces de red deben usar direcciones IPv6 o direcciones IPv4 privadas.
+ El número máximo de direcciones IP que puede asignar a una interfaz de red depende del tipo de instancia. Cada prefijo que asigna a una interfaz de red cuenta como una dirección IP. Por ejemplo, una instancia `c5.large` tiene un límite de `10` direcciones IPv4 por interfaz de red. Cada interfaz de red de esta instancia tiene una dirección IPv4 principal. Si una interfaz de red no tiene direcciones IPv4 secundarias, puede asignar hasta 9 prefijos a la interfaz de red. Por cada dirección IPv4 adicional que asigne a una interfaz de red, puede asignar un prefijo menos a la interfaz de red. Para obtener más información, consulte [Cantidad máxima de direcciones IP por interfaz de red](AvailableIpPerENI.md).
+ Los prefijos se incluyen en las comprobaciones de origen/destino.
+ Debe configurar el sistema operativo para que trabaje con interfaces de red con prefijos. Tenga en cuenta lo siguiente:
  + Algunas AMI de Amazon Linux contienen otros scripts que instala AWS, conocidos como `ec2-net-utils`. Estos scripts automatizan opcionalmente la configuración de las interfaces de red. Solo están disponibles para su uso en Amazon Linux.
  + En el caso de los contenedores, puede utilizar una interfaz de red de contenedores (CNI) para el complemento de Kubernetes o `dockerd` si usa Docker para administrar sus contenedores.

# Administración de prefijos para las interfaces de red
<a name="work-with-prefixes"></a>

Al asignar prefijos a una interfaz de red, puede optar por que los prefijos se asignen automáticamente o especificar prefijos personalizados. Si permite que asignemos los prefijos automáticamente y la subred de la interfaz de red tiene una reserva de CIDR de subred de tipo `prefix`, seleccionamos los prefijos a partir de dicha reserva. De lo contrario, los seleccionamos del rango CIDR de la subred.

**Topics**
+ [

## Asignar prefijos durante la creación de la interfaz de red
](#assign-auto-creation)
+ [

## Asignación de prefijos a una interfaz de red existente
](#assign-auto-existing)
+ [

## Eliminar prefijos de las interfaces de red
](#unassign-prefix)

## Asignar prefijos durante la creación de la interfaz de red
<a name="assign-auto-creation"></a>

Puede asignar prefijos automáticos o personalizados al crear una interfaz de red.

------
#### [ Console ]

**Para asignar prefijos automáticos durante la creación de la interfaz de red**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Network Interfaces**.

1. Elija **Crear interfaz de red**.

1. Especifique una descripción para la interfaz de red, seleccione la subred en la que desea crear dicha interfaz de red y configure las direcciones IPv4 e IPv6 privadas.

1. Amplíe **Configuración avanzada**.

1. En **IPv4 prefix delegation**, siga uno de estos procedimientos:
   + Para asignar de forma automática un prefijo IPv4, elija **Asignación automática**. En **Number of IPv4 prefixes**, especifique el número de prefijos que desea asignar.
   + Para asignar un prefijo IPv4 específico, elija **Personalizado**. A continuación, elija **Agregar nuevo prefijo** e introduzca el prefijo.

1. En **IPv6 prefix delegation**, siga uno de estos procedimientos:
   + Para asignar de forma automática un prefijo IPv6, elija **Asignación automática**. En **Number of IPv6 prefixes**, especifique el número de prefijos que desea asignar.
   + Para asignar un prefijo IPv6 específico, elija **Personalizado**. A continuación, elija **Agregar nuevo prefijo** e introduzca el prefijo.
**nota**  
**Delegación de prefijos IPv6** solo aparece si la subred seleccionada se encuentra habilitada para IPv6.

1. Seleccione los grupos de seguridad que deben asociarse a la interfaz de red y, si es necesario, asigne etiquetas de recursos.

1. Elija **Crear interfaz de red**.

------
#### [ AWS CLI ]

**Para asignar prefijos IPv4 automáticos durante la creación de la interfaz de red**  
Utilice el comando [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) y establezca `--ipv4-prefix-count` en el número de prefijos IPv4 para que AWS lo asigne. En el siguiente ejemplo, AWS asigna un prefijo de IPv4.

```
aws ec2 create-network-interface \
    --subnet-id subnet-047cfed18eEXAMPLE \
    --description "IPv4 automatic example" \
    --ipv4-prefix-count 1
```

**Para asignar prefijos IPv4 específicos durante la creación de la interfaz de red**  
Utilice el comando [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) y establezca `--ipv4-prefixes` en los prefijos. AWS selecciona direcciones IPv4 de este rango. En el ejemplo siguiente, el prefijo CIDR es 10.0.0.208/28.

```
aws ec2 create-network-interface \
    --subnet-id subnet-047cfed18eEXAMPLE \
    --description "IPv4 manual example" \
    --ipv4-prefixes Ipv4Prefix=10.0.0.208/28
```

**Para asignar prefijos IPv6 automáticos durante la creación de la interfaz de red**  
Utilice el comando [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) y establezca `--ipv6-prefix-count` en el número de prefijos IPv6 para que AWS lo asigne. En el siguiente ejemplo, AWS asigna un prefijo de IPv6.

```
aws ec2 create-network-interface \
    --subnet-id subnet-047cfed18eEXAMPLE \
    --description "IPv6 automatic example" \
    --ipv6-prefix-count 1
```

**Para asignar prefijos IPv6 específicos durante la creación de la interfaz de red**  
Utilice el comando [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) y establezca `--ipv6-prefixes` en los prefijos. AWS selecciona direcciones IPv6 de este rango. En el ejemplo siguiente, el prefijo CIDR es 2600:1f13:fc2:a700:1768::/80.

```
aws ec2 create-network-interface \
    --subnet-id subnet-047cfed18eEXAMPLE \
    --description "IPv6 manual example" \
    --ipv6-prefixes Ipv6Prefix=2600:1f13:fc2:a700:1768::/80
```

------
#### [ PowerShell ]

**Para asignar prefijos IPv4 automáticos durante la creación de la interfaz de red**  
Use el cmdlet [New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) y establezca `Ipv4PrefixCount` en el número de prefijos IPv4 para que AWS lo asigne. En el siguiente ejemplo, AWS asigna un prefijo de IPv4.

```
New-EC2NetworkInterface `
    -SubnetId 'subnet-047cfed18eEXAMPLE' `
    -Description 'IPv4 automatic example' `
    -Ipv4PrefixCount 1
```

**Para asignar prefijos IPv4 específicos durante la creación de la interfaz de red**  
Utilice el cmdlet [New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) y establezca `Ipv4Prefix` con los prefijos. AWS selecciona direcciones IPv4 de este rango. En el ejemplo siguiente, el prefijo CIDR es 10.0.0.208/28.

```
Import-Module AWS.Tools.EC2
New-EC2NetworkInterface `
    -SubnetId 'subnet-047cfed18eEXAMPLE' `
    -Description 'IPv4 manual example' `
    -Ipv4Prefix (New-Object `
        -TypeName Amazon.EC2.Model.Ipv4PrefixSpecificationRequest `
        -Property @{Ipv4Prefix = '10.0.0.208/28'})
```

**Para asignar prefijos IPv6 automáticos durante la creación de la interfaz de red**  
Utilice el cmdlet [New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) y establezca `Ipv6PrefixCount` con el número de prefijos IPv6 para que AWS lo asigne. En el siguiente ejemplo, AWS asigna un prefijo de IPv6.

```
New-EC2NetworkInterface `
    -SubnetId 'subnet-047cfed18eEXAMPLE' `
    -Description 'IPv6 automatic example' `
    -Ipv6PrefixCount 1
```

**Para asignar prefijos IPv6 específicos durante la creación de la interfaz de red**  
Utilice el cmdlet [New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) y estableca `Ipv6Prefixes` con los prefijos. AWS selecciona direcciones IPv6 de este rango. En el ejemplo siguiente, el prefijo CIDR es 2600:1f13:fc2:a700:1768::/80.

```
Import-Module AWS.Tools.EC2
New-EC2NetworkInterface `
    -SubnetId 'subnet-047cfed18eEXAMPLE' `
    -Description 'IPv6 manual example' `
    -Ipv6Prefix (New-Object `
        -TypeName Amazon.EC2.Model.Ipv6PrefixSpecificationRequest `
        -Property @{Ipv6Prefix = '2600:1f13:fc2:a700:1768::/80'})
```

------

## Asignación de prefijos a una interfaz de red existente
<a name="assign-auto-existing"></a>

Puedes asignar prefijos automáticos o personalizados a una interfaz de red existente.

------
#### [ Console ]

**Para asignar prefijos automáticos a una interfaz de red existente**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Network Interfaces**.

1. Seleccione la interfaz de red a la que desea asignar los prefijos y elija **Acciones**, **Administrar prefijos**.

1. En **IPv4 prefix delegation**, siga uno de estos procedimientos:
   + Para asignar de forma automática un prefijo IPv4, elija **Asignación automática**. En **Number of IPv4 prefixes**, especifique el número de prefijos que desea asignar.
   + Para asignar un prefijo IPv4 específico, elija **Personalizado**. A continuación, elija **Agregar nuevo prefijo** e introduzca el prefijo.

1. En **IPv6 prefix delegation**, siga uno de estos procedimientos:
   + Para asignar de forma automática un prefijo IPv6, elija **Asignación automática**. En **Number of IPv6 prefixes**, especifique el número de prefijos que desea asignar.
   + Para asignar un prefijo IPv6 específico, elija **Personalizado**. A continuación, elija **Agregar nuevo prefijo** e introduzca el prefijo.
**nota**  
**IPv6 prefix delegation (Delegación de prefijos IPv6)** solo aparece si la subred seleccionada se encuentra habilitada para IPv6.

1. Seleccione **Save**.

------
#### [ AWS CLI ]

Utilice el comando [assign-ipv6-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-ipv6-addresses.html) para asignar prefijos IPv6 y el comando [assign-private-ip-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-private-ip-addresses.html) para asignar prefijos IPv4 a las interfaces de red existentes.

**Para asignar prefijos IPv4 automáticos a una interfaz de red existente**  
Utilice el comando [assign-private-ip-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-private-ip-addresses.html) y establezca `--ipv4-prefix-count` en el número de prefijos de IPv4 para que AWS lo asigne. En el siguiente ejemplo, AWS asigna un prefijo de IPv4.

```
aws ec2 assign-private-ip-addresses \
    --network-interface-id eni-081fbb4095EXAMPLE \
    --ipv4-prefix-count 1
```

**Asignación de prefijos de IPv4 específicos a una interfaz de red existente**  
Utilice el comando [assign-private-ip-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-private-ip-addresses.html) y establezca `--ipv4-prefixes` en el prefijo. AWS selecciona direcciones IPv4 de este rango. En el ejemplo siguiente, el prefijo CIDR es 10.0.0.208/28.

```
aws ec2 assign-private-ip-addresses \
    --network-interface-id eni-081fbb4095EXAMPLE \
    --ipv4-prefixes 10.0.0.208/28
```

**Para asignar prefijos IPv6 automáticos a una interfaz de red existente**  
Utilice el comando [assign-ipv6-addressess](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-ipv6-addresses.html) y establezca `--ipv6-prefix-count` en el número de prefijos de IPv6para que AWS lo asigne. En el siguiente ejemplo, AWS asigna un prefijo de IPv6.

```
aws ec2 assign-ipv6-addresses \
    --network-interface-id eni-00d577338cEXAMPLE \
    --ipv6-prefix-count 1
```

**Asignación de prefijos de IPv6 específicos a una interfaz de red existente**  
Utilice el comando [ assign-ipv6-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-ipv6-addresses.html) y establezca `--ipv6-prefixes` en el prefijo. AWS selecciona direcciones IPv6 de este rango. En el ejemplo siguiente, el prefijo CIDR es 2600:1f13:fc2:a700:18bb::/80.

```
aws ec2 assign-ipv6-addresses \
    --network-interface-id eni-00d577338cEXAMPLE \
    --ipv6-prefixes 2600:1f13:fc2:a700:18bb::/80
```

------
#### [ PowerShell ]

**Para asignar prefijos IPv4 automáticos a una interfaz de red existente**  
Utilice el cmdlet [Register-EC2PrivateIpAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2PrivateIpAddress.html) y establezca `Ipv4PrefixCount` con el número de prefijos IPv4 para que AWS lo asigne. En el siguiente ejemplo, AWS asigna un prefijo de IPv4.

```
Register-EC2PrivateIpAddress `
    -NetworkInterfaceId 'eni-00d577338cEXAMPLE' `
    -Ipv4PrefixCount 1
```

**Asignación de prefijos de IPv4 específicos a una interfaz de red existente**  
Utilce el cmdlet [Register-EC2PrivateIpAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2PrivateIpAddress.html) y establezca `Ipv4Prefix` con el prefijo. AWS selecciona direcciones IPv4 de este rango. En el ejemplo siguiente, el prefijo CIDR es 10.0.0.208/28.

```
Register-EC2PrivateIpAddress `
    -NetworkInterfaceId 'eni-00d577338cEXAMPLE' `
    -Ipv4Prefix '10.0.0.208/28'
```

**Para asignar prefijos IPv6 automáticos a una interfaz de red existente**  
Utilice el cmdlet [Register-EC2Ipv6AddressList](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Ipv6AddressList.html) y establezca `Ipv6PrefixCount` con el número de prefijos IPv4 para que AWS lo asigne. En el siguiente ejemplo, AWS asigna un prefijo de IPv6.

```
Register-EC2Ipv6AddressList `
    -NetworkInterfaceId 'eni-00d577338cEXAMPLE' `
    -Ipv6PrefixCount 1
```

**Asignación de prefijos de IPv6 específicos a una interfaz de red existente**  
Utilice el cmdlet [Register-EC2Ipv6AddressList](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Ipv6AddressList.html) y estabezca `Ipv6Prefix` con el prefijo. AWS selecciona direcciones IPv6 de este rango. En el ejemplo siguiente, el prefijo CIDR es 2600:1f13:fc2:a700:18bb::/80.

```
Register-EC2Ipv6AddressList `
    -NetworkInterfaceId 'eni-00d577338cEXAMPLE' `
    -Ipv6Prefix '2600:1f13:fc2:a700:18bb::/80'
```

------

## Eliminar prefijos de las interfaces de red
<a name="unassign-prefix"></a>

Puede eliminar los prefijos de una interfaz de red existente.

------
#### [ Console ]

**Para quitar prefijos de una interfaz de red**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Network Interfaces**.

1. Seleccione la interfaz de red.

1. Seleccione **Acciones** y **Administrar prefijos**.

1. En **IPv4 prefix delegation**, a fin de eliminar prefijos específicos, elija **Anular asignación** junto a los prefijos que desee eliminar. Para eliminar todos los prefijos, elija **No asignar**.

1. En **IPv6 prefix delegation**, a fin de eliminar prefijos específicos, elija **Anular asignación** junto a los prefijos que desee eliminar. Para eliminar todos los prefijos, elija **No asignar**.
**nota**  
**IPv6 prefix delegation (Delegación de prefijos IPv6)** solo aparece si la subred seleccionada se encuentra habilitada para IPv6.

1. Seleccione **Save**.

------
#### [ AWS CLI ]

Puede utilizar el comando [unassign-ipv6-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/unassign-ipv6-addresses.html) para eliminar los prefijos IPv6 y el comando [unassign-private-ip-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/unassign-private-ip-addresses.html) para quitar prefijos IPv4 de las interfaces de red existentes.

**Para quitar prefijos IPv4 de una interfaz de red**  


Utilice el comando [unassign-private-ip-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/unassign-private-ip-addresses.html) y establezca `--ipv4-prefix` en el prefijo CIDR que desee quitar.

```
aws ec2 unassign-private-ip-addresses \
    --network-interface-id eni-081fbb4095EXAMPLE \
    --ipv4-prefixes 10.0.0.176/28
```

**Para quitar prefijos IPv6 de una interfaz de red**  
Utilice el comando [unassign-ipv6-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/unassign-ipv6-addresses.html) y establezca `--ipv6-prefix` en el prefijo CIDR que desee eliminar.

```
aws ec2 unassign-ipv6-addresses \
    --network-interface-id eni-00d577338cEXAMPLE \
    --ipv6-prefix 2600:1f13:fc2:a700:18bb::/80
```

------
#### [ PowerShell ]

**Para quitar prefijos IPv4 de una interfaz de red**  
Use el cmdlet [Unregister-EC2PrivateIpAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2PrivateIpAddress.html) y establezca `Ipv4Prefix` con el prefijo CIDR que desee eliminar.

```
Unregister-EC2PrivateIpAddress `
    -NetworkInterfaceId 'eni-00d577338cEXAMPLE' `
    -Ipv4Prefix '10.0.0.208/28'
```

**Para quitar prefijos IPv6 de una interfaz de red**  
Utilice el cmdlet [Unregister-EC2Ipv6AddressList](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2Ipv6AddressList.html) y establezca `Ipv6Prefix` con el prefijo CIDR que desea eliminar.

```
Unregister-EC2Ipv6AddressList `
    -NetworkInterfaceId 'eni-00d577338cEXAMPLE' `
    -Ipv6Prefix '2600:1f13:fc2:a700:18bb::/80'
```

------

# Eliminar una interfaz de red
<a name="delete_eni"></a>

Al eliminar la interfaz de red se liberan todos los atributos que tiene asociados, así como todas las direcciones IP privadas o elásticas para que las utilice otra instancia.

No puede eliminar una interfaz de red que esté en uso. En primer lugar, debe [desconectar la interfaz de red](network-interface-attachments.md#detach_eni).

------
#### [ Console ]

**Para eliminar una interfaz de red**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Network Interfaces**.

1. Seleccione la casilla de verificación para la interfaz de red y, a continuación, elija **Acciones**, **Borrar**.

1. Cuando se le pida confirmación, seleccione **Delete (Eliminar)**.

------
#### [ AWS CLI ]

**Para eliminar una interfaz de red**  
Utilice el siguiente comando [delete-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-network-interface.html).

```
aws ec2 delete-network-interface --network-interface-id eni-1234567890abcdef0
```

------
#### [ PowerShell ]

**Para eliminar una interfaz de red**  
Utilice el cmdlet [Remove-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2NetworkInterface.html).

```
Remove-EC2NetworkInterface -NetworkInterfaceId eni-1234567890abcdef0
```

------

# Ancho de banda de red de instancias de Amazon EC2
<a name="ec2-instance-network-bandwidth"></a>

Las especificaciones de ancho de banda de instancia se aplican al tráfico entrante y saliente de la instancia. Por ejemplo, si una instancia especifica hasta 10 Gbps de ancho de banda, significa que tiene hasta 10 Gbps de ancho de banda para el tráfico entrante y, simultáneamente, hasta 10 Gbps para el tráfico saliente. El ancho de banda de la red disponible para una instancia de EC2 depende de varios factores, como se indica a continuación.

**Tráfico multiflujo**  
El ancho de banda para el tráfico multiflujo está limitado al 50 % del ancho de banda disponible para el tráfico que pasa a través de una puerta de enlace de Internet o una [puerta de enlace local](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html) para instancias con 32 o más vCPU, o 5 Gbps, lo que sea mayor. En el caso de las instancias con menos de 32 vCPU, el ancho de banda está limitado a 5 Gbps.

**Tráfico de flujo único**  
El ancho de banda para el tráfico de flujo único está limitado a 5 Gbps cuando las instancias no están en el mismo [grupo con ubicación en clúster](placement-strategies.md#placement-groups-cluster). Para reducir la latencia y aumentar el ancho de banda de flujo único, pruebe uno de los siguientes procedimientos:
+ Utilice un grupo con ubicación en clúster para lograr un ancho de banda de hasta 10 Gbps para las instancias del mismo grupo de ubicación.
+ Configure varias rutas entre dos puntos de conexión para lograr un mayor ancho de banda con Multipath TCP (MPTCP).
+ Configure ENA Express para las instancias elegibles dentro de la misma zona de disponibilidad para lograr hasta 25 Gbps entre esas instancias.

**nota**  
Un flujo único se considera un flujo TCP o UDP único de 5 tuplas. Para otros protocolos que siguen el encabezado IP, como `GRE` o `IPsec`, se utiliza la tupla 3 de IP de origen, IP de destino y el siguiente protocolo para definir un flujo.

## Ancho de banda de instancias disponible
<a name="available-instance-bandwidth"></a>

El ancho de banda de la red disponible de una instancia depende del número de vCPU que tenga. Por ejemplo, una instancia `m5.8xlarge` tiene 32 vCPU y un ancho de banda de red de 10 Gbps, y una instancia `m5.16xlarge` tiene 64 vCPU y un ancho de banda de red de 20 Gbps. Sin embargo, es posible que las instancias no alcancen esta banda ancha, por ejemplo, si superan los límites de red en el nivel de instancia, como paquete por segundo o número de conexiones rastreadas. La cantidad de banda ancha disponible que puede utilizar el tráfico depende del número de vCPU y del destino. Por ejemplo, una instancia `m5.16xlarge` tiene 64 vCPU, por lo que el tráfico a otra instancia de la región puede utilizar la banda ancha completa disponible (20 Gbps). Sin embargo, el tráfico que pasa a través de una puerta de enlace de Internet o una [puerta de enlace local](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html) solo puede utilizar el 50 % de la banda ancha disponible (10 Gbps).

Normalmente, las instancias con 16 vCPU o menos (tamaño `4xlarge` y más pequeños) están documentadas como “con hasta” una banda ancha especificada; por ejemplo, “hasta 10 Gbps”. Estas instancias tienen una banda ancha de base. Para satisfacer la demanda adicional, pueden utilizar un mecanismo de créditos de E/S de red para superar la banda ancha de base. Las instancias pueden utilizar la banda ancha de fragmentación durante un tiempo limitado, normalmente de 5 a 60 minutos, en función del tamaño de la instancia.

Una instancia recibe el número máximo de créditos de E/S de red en el momento de la inicialización. Si la instancia agota sus créditos de E/S de red, vuelve a su banda ancha de base. Una instancia en ejecución obtiene créditos de E/S de red cada vez que utiliza menos ancho de banda de la red que su ancho de banda base. Una instancia detenida no gana créditos de E/S de red. La ráfaga de instancia se basa en el mejor esfuerzo, incluso cuando la instancia tiene créditos disponibles, ya que la banda ancha de ráfaga es un recurso compartido.

Hay buckets de créditos de E/S de red independientes para el tráfico entrante y saliente.

**Rendimiento de red base y ráfaga**

La *Guía de tipos de instancias de Amazon EC2* describe el rendimiento de red para cada tipo de instancia, además del ancho de banda de la red de referencia disponible para las instancias que pueden utilizar un ancho de banda ampliado. Para obtener más información, consulte los siguientes temas:
+ [Especificaciones de red: uso general](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html#gp_network)
+ [Especificaciones de red: optimizadas para computación](https://docs.aws.amazon.com/ec2/latest/instancetypes/co.html#co_network)
+ [Especificaciones de red: memoria optimizada](https://docs.aws.amazon.com/ec2/latest/instancetypes/mo.html#mo_network)
+ [Especificaciones de red: almacenamiento optimizado](https://docs.aws.amazon.com/ec2/latest/instancetypes/so.html#so_network)
+ [Especificaciones de red: computación acelerada](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html#ac_network)
+ [Especificaciones de red: computación de alto rendimiento](https://docs.aws.amazon.com/ec2/latest/instancetypes/hpc.html#hpc_network)
+ [Especificaciones de red: generación anterior](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html#pg_network)

También puede utilizar una herramienta de línea de comandos para obtener esta información. La consola de Amazon EC2 no muestra el ancho de banda de la red de referencia de un tipo de instancia.

------
#### [ AWS CLI ]

Puede utilizar el comando [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) para mostrar información sobre un tipo de instancias. En el siguiente ejemplo se muestra información sobre el rendimiento de la red para todas las instancias C5.

```
aws ec2 describe-instance-types \
    --filters "Name=instance-type,Values=c5.*" \
    --query "InstanceTypes[].[InstanceType, NetworkInfo.NetworkPerformance, NetworkInfo.NetworkCards[0].BaselineBandwidthInGbps] | sort_by(@,&[2])" \
    --output table
```

A continuación, se muestra un ejemplo del resultado. Si la salida no muestra el ancho de banda de referencia, actualice a la versión más reciente de la AWS CLI.

```
---------------------------------------------
|           DescribeInstanceTypes           |
+--------------+--------------------+-------+
|  c5.large    |  Up to 10 Gigabit  |  0.75 |
|  c5.xlarge   |  Up to 10 Gigabit  |  1.25 |
|  c5.2xlarge  |  Up to 10 Gigabit  |  2.5  |
|  c5.4xlarge  |  Up to 10 Gigabit  |  5.0  |
|  c5.9xlarge  |  12 Gigabit        |  12.0 |
|  c5.12xlarge |  12 Gigabit        |  12.0 |
|  c5.18xlarge |  25 Gigabit        |  25.0 |
|  c5.24xlarge |  25 Gigabit        |  25.0 |
|  c5.metal    |  25 Gigabit        |  25.0 |
+--------------+--------------------+-------+
```

------
#### [ PowerShell ]

Puede utilizar el comando de PowerShell [Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html) para mostrar información sobre un tipo de instancias. En el siguiente ejemplo se muestra información sobre el rendimiento de la red para todas las instancias C5.

```
Get-EC2InstanceType -Filter @{Name = "instance-type"; Values = "c5.*" } | `
    Select-Object `
    InstanceType,
    @{Name = 'NetworkPerformance'; Expression = {($_.Networkinfo.NetworkCards.NetworkPerformance)}},
    @{Name = 'BaselineBandwidthInGbps'; Expression = {($_.Networkinfo.NetworkCards.BaselineBandwidthInGbps)}} | `
Format-Table -AutoSize
```

A continuación, se muestra un ejemplo del resultado.

```
InstanceType NetworkPerformance BaselineBandwidthInGbps
------------ ------------------ -----------------------
c5.4xlarge   Up to 10 Gigabit                      5.00
c5.xlarge    Up to 10 Gigabit                      1.25
c5.12xlarge  12 Gigabit                           12.00
c5.9xlarge   12 Gigabit                           12.00
c5.24xlarge  25 Gigabit                           25.00
c5.metal     25 Gigabit                           25.00
c5.2xlarge   Up to 10 Gigabit                      2.50
c5.large     Up to 10 Gigabit                      0.75
c5.18xlarge  25 Gigabit                           25.00
```

------

# Configuración de ponderación de ancho de banda de instancias de EC2
<a name="configure-bandwidth-weighting"></a>

Algunos tipos de instancias permiten configurar la ponderación de ancho de banda, lo que permite elegir una referencia de ponderación de ancho de banda que priorice el procesamiento de la red o las operaciones de EBS. La configuración predeterminada del ancho de banda base depende del tipo de instancia. Puede configurar la ponderación del ancho de banda durante la inicialización o modificar la configuración de la instancia con las siguientes preferencias de ponderación:
+ **predeterminado**: esta opción usa la configuración de ancho de banda estándar para el tipo de instancia.
+ **vpc-1**: esta opción aumenta el ancho de banda de referencia disponible para las redes y lo reduce para las operaciones de EBS.
+ **vpc-1**: esta opción incrementa el ancho de banda de referencia disponible para operaciones de EBS, y lo disminuye para las redes.

## Consideraciones de ponderación de ancho de banda
<a name="config-bw-considerations"></a>

A continuación, se indican algunas consideraciones que pueden afectar a la estrategia de ponderación del ancho de banda.
+ Establecer las preferencias de ponderación del ancho de banda solo afecta a las especificaciones del ancho de banda. Las especificaciones de paquetes por segundo de red (PPS) y de operaciones de entrada/salida por segundo (IOPS) de EBS no cambian.
+ La especificación de ancho de banda combinada entre redes y EBS no cambia. Al seleccionar una configuración de ponderación de ancho de banda, el ancho de banda de referencia disponible para la opción seleccionada aumenta, y el ancho de banda de referencia para la otra opción se reduce en la misma cantidad absoluta. Para todas las instancias, excepto para las instancias Flex, el ancho de banda ampliable disponible permanece igual para la opción seleccionada y se reduce para la otra opción. Para las instancias Flex de hasta 4xlarge, el ancho de banda ampliable permanece sin cambios. Para las instancias Flex de 8xlarge y más grandes, el ancho de banda ampliable aumenta en la misma cantidad que el ancho de banda de referencia.
+ Es importante entender cómo los cambios en la asignación del ancho de banda pueden afectar al rendimiento de E/S de EBS. Para las instancias de EC2 con configuración `vpc-1` (ancho de banda de red mejorado), podría experimentar un menor rendimiento de IOPS en los volúmenes de EBS si alcanza el límite de ancho de banda de EBS antes de llegar al límite de IOPS. Esto se nota más con tamaños de E/S más grandes.

  Por ejemplo, en un tipo de instancia que normalmente admite 240 000 IOPS con un tamaño de E/S de 16 KiB, si selecciona la ponderación `vpc-1`, es posible que se reduzcan las IOPS alcanzables debido al límite de ancho de banda de referencia ajustado de EBS.

  Al planificar la carga de trabajo, tenga en cuenta el tamaño y los patrones de E/S. Los tamaños de E/S más pequeños tienen menos probabilidades de verse afectados por las limitaciones de ancho de banda, mientras que los tamaños de E/S más grandes o las cargas de trabajo secuenciales pueden verse afectados en mayor medida por los cambios en el ancho de banda. Pruebe siempre la carga de trabajo específica para garantizar un rendimiento óptimo con la configuración elegida.
+ La especificación de ancho de banda multiflujo de redes para el tráfico que pasa a través de una puerta de enlace de Internet o una puerta de enlace local se ajusta al 50 % del ancho de banda de referencia de la opción configurada o 5 Gbps, según corresponda. Para obtener más información, consulte [Ancho de banda de red de instancias de Amazon EC2](ec2-instance-network-bandwidth.md).

  El siguiente ejemplo se basa en un tipo de instancia que tiene un ancho de banda de referencia predeterminado de 40 Gbps y un ancho de banda de borde predeterminado de 20 Gbps. Si elige la ponderación del ancho de banda `vpc-1` para esta instancia, el ancho de banda ponderado de referencia cambia a 50 Gbps y el ancho de banda de borde cambia a 25 Gbps.
+ Esta característica está disponible en todas las regiones comerciales, en consonancia con la disponibilidad y el soporte de las instancias de EC2.
+ Esta característica no supone ningún costo adicional correspondiente a la instancia de EC2.

## Tipos de instancias compatibles para la ponderación del ancho de banda
<a name="config-bw-support"></a>

Los tipos de instancias en las siguientes familias de instancias admiten la ponderación de ancho de banda configurable.
+ **De uso general:** M8a, M8g, M8gd, M8i, M8id, M8i-flex
+ **Optimizadas para la computación:** C8a, C8g, C8gd, C8i, C8id, C8i-flex
+ **Optimizadas para memoria:** R8a, R8g, R8gd, R8i, R8id, R8i-flex, X8g, X8aedz, X8i

## Compruebe la configuración actual del ancho de banda
<a name="config-bw-check-settings"></a>

Para ver la configuración de ancho de banda actual de la instancia, seleccione una de las pestañas para ver las instrucciones.

------
#### [ Console ]

**Obtención de la configuración de ancho de banda de una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la instancia que desee comprobar de la lista y vaya a la pestaña **Redes**. La configuración actual aparece en el campo **Ancho de banda configurado**. Amazon EC2 utiliza la configuración predeterminada para el tipo de instancia si el ancho de banda no está establecido en un valor específico.

------
#### [ AWS CLI ]

**Obtención de la configuración de ancho de banda de una instancia**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query Reservations[].Instances[].NetworkPerformanceOptions.BandwidthWeighting \
    --output text
```

A continuación, se muestra un ejemplo del resultado.

```
default
```

En este ejemplo, se enumeran todas las instancias que tienen la preferencia de ponderación de ancho de banda establecida en `vpc-1`, para obtener un ancho de banda de la red superior.

```
aws ec2 describe-instances \
    --filters "Name=network-performance-options.bandwidth-weighting,Values=vpc-1" \
    --query Reservations[].Instances[].InstanceId \
    --output text
```

------
#### [ PowerShell ]

**Obtención de la configuración de ancho de banda de una instancia**  
Utilice el cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance `
    -InstanceId i-1234567890abcdef0).Instances.NetworkPerformanceOptions.BandwidthWeighting.Value
```

A continuación, se muestra un ejemplo del resultado.

```
default
```

En este ejemplo, se enumeran todas las instancias que tienen la preferencia de ponderación de ancho de banda establecida en `vpc-1`, para obtener un ancho de banda de la red superior.

```
(Get-EC2Instance `
    -Filter @{Name="network-performance-options.bandwidth-weighting";Values="vpc-1"}).Instances.InstanceId
```

------

## Configuración de la ponderación de ancho de banda de la instancia
<a name="config-bw-how-to"></a>

Puede configurar la ponderación del ancho de banda en el momento de la inicialización o mediante la modificación de las instancias existentes desde la consola EC2, las API y los SDK, o la CLI.

### Configuración de la ponderación del ancho de banda al inicializar la instancia
<a name="config-bw-launch-instance"></a>

Para configurar los ajustes de ancho de banda al inicializar una instancia, seleccione una de las pestañas para obtener instrucciones.

También puede especificar la ponderación de ancho de banda en una plantilla de inicialización. Para crear una plantilla de inicialización, consulte [Creación de una plantilla de inicialización de Amazon EC2](create-launch-template.md). El parámetro que se debe configurar está en la misma ubicación que para inicializar una instancia directamente desde la consola. Expanda la sección **Detalles avanzados** y establezca la **Configuración del ancho de banda de la instancia**.

Para inicializar una instancia con la plantilla de inicialización, consulte [Inicialización de instancias de EC2 con una plantilla de inicialización](launch-instances-from-launch-template.md).

------
#### [ Console ]

**Lanzamiento de una instancia con una ponderación de ancho de banda configurable**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Elija **iniciar instancias**. Esto abre el cuadro de diálogo **Inicializar una instancia**. Existen varias formas adicionales de acceder al cuadro de diálogo de lanzamiento, según sus preferencias. Por ejemplo, puede lanzar una instancia directamente desde una AMI o desde el propio panel de Amazon EC2.

1. La Imagen de máquina de Amazon (AMI) desde la que se hace el lanzamiento debe estar basada en una arquitectura de `Arm`. Muchas imágenes de **inicio rápido** son compatibles con ambas arquitecturas, `x86` y `Arm`. Tras elegir el sistema operativo para la instancia, seleccione la opción `Arm` en la lista de **Arquitecturas**.

1. El tipo de instancia debe ser una de las [Tipos de instancias admitidas](#config-bw-support) de esta característica.

1. Al expandir la sección de **Detalles avanzados**, se puede desplazar hacia abajo para encontrar los ajustes de **Configuración del ancho de banda de la instancia**. Seleccione la opción de configuración de ancho de banda de la instancia.

1. Configure todos los demás ajustes de la instancia como lo haría normalmente y elija **Inicializar instancia**.

------
#### [ AWS CLI ]

**Lanzamiento de una instancia con una ponderación de ancho de banda configurable**  
Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) con la siguiente opción para lanzar instancias configuradas para una mayor ponderación del ancho de banda de la red.

```
--network-performance-options BandwidthWeighting=vpc-1
```

Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) con la siguiente opción para lanzar instancias configuradas para una mayor ponderación del ancho de banda de EBS.

```
--network-performance-options BandwidthWeighting=ebs-1
```

------
#### [ PowerShell ]

**Lanzamiento de una instancia con una ponderación de ancho de banda configurable**  
Utilice el cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) con el siguiente parámetro para lanzar instancias configuradas para una mayor ponderación del ancho de banda de la red.

```
-NetworkPerformanceOptions_BandwidthWeighting vpc-1
```

Utilice el cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) con el siguiente parámetro para lanzar instancias configuradas para una mayor ponderación del ancho de banda de EBS.

```
-NetworkPerformanceOptions_BandwidthWeighting ebs-1
```

------

### Cómo actualizar la ponderación del ancho de banda de una instancia existente
<a name="config-bw-update-existing"></a>

Para actualizar la ponderación del ancho de banda de una instancia existente, la instancia debe estar en estado `Stopped`.

------
#### [ Console ]

**Actualización de la ponderación de ancho de banda**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione en la lista la instancia que desea actualizar.

1. Antes de cambiar la configuración del ancho de banda, la instancia debe estar en estado `Stopped`. Si la instancia está en ejecución, seleccione **Detener instancia** en el menú **Estado de la instancia**.

1. Elija **Administrar ancho de banda** en el menú **Acciones > Redes**. Esto abre el cuadro de diálogo **Administrar ancho de banda**.
**nota**  
Si el tipo de instancia no admite la configuración de ponderación de ancho de banda, ese elemento del menú aparecerá desactivado.

1. Seleccione la opción para actualizar la instancia y elija **Cambiar** para guardar la configuración.

------
#### [ AWS CLI ]

**Actualización de la ponderación de ancho de banda**  
Utilice el comando [modify-instance-network-performance-options](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-network-performance-options.html) para configurar una mayor ponderación del ancho de banda de la red para la instancia especificada.

```
aws ec2 modify-instance-network-performance-options \
    --instance-id i-1234567890abcdef0 \
    --bandwidth-weighting=vpc-1
```

En el siguiente ejemplo, se configura una mayor ponderación del ancho de banda de EBS para la instancia especificada.

```
aws ec2 modify-instance-network-performance-options \
    --instance-id i-1234567890abcdef0 \
    --bandwidth-weighting=ebs-1
```

------
#### [ PowerShell ]

**Actualización de la ponderación de ancho de banda**  
Utilice el cmdlet [Edit-EC2InstanceNetworkPerformanceOption](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceNetworkPerformanceOption.html) para configurar una mayor ponderación del ancho de banda de la red para la instancia especificada.

```
Edit-EC2InstanceNetworkPerformanceOption `
    -InstanceId i-1234567890abcdef0 `
    -BandwidthWeighting vpc-1
```

En el siguiente ejemplo, se configura una mayor ponderación del ancho de banda de EBS para la instancia especificada.

```
Edit-EC2InstanceNetworkPerformanceOption `
    -InstanceId i-1234567890abcdef0 `
    -BandwidthWeighting ebs-1
```

------

## Rendimiento de las redes
<a name="config-bw-network-impact"></a>

La siguiente tabla muestra el rendimiento de las redes, en Gbps, que se puede lograr con las configuraciones `default`, `vpc-1` y `ebs-1`.


| Tipo de instancia |  **`default`**(Referencia/ampliable)  |  **`vpc-1`**(Referencia/ampliable)  |  **`ebs-1`**(Referencia/ampliable)  | 
| --- | --- | --- | --- | 
| c8a.medium | 0.52 / 12.5 | 0.65 / 12.5 | 0.438 / 10.0 | 
| c8a.large | 0,937/12,5 | 1.172/12.5 | 0.774/10.0 | 
| c8a.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| c8a.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| c8a.4xlarge | 7,5/15,0 | 9.375/15.0 | 6.25/12.5 | 
| c8a.8xlarge | 15,0 | 18,75 | 12,5 | 
| c8a.12xlarge | 22,5 | 28,125 | 18,75 | 
| c8a.16xlarge | 30.0 | 37,5 | 25.0 | 
| c8a.24xlarge | 40,0 | 50.0 | 32,5 | 
| c8a.48xlarge | 75.0 | 93,75 | 60,0 | 
| c8a.metal-24xl | 40,0 | 50.0 | 32,5 | 
| c8a.metal-48xl | 75.0 | 93,75 | 60,0 | 
| c8g.medium | 0.52 / 12.5 | 0.65 / 12.5 | 0.441/10.0 | 
| c8g.large | 0.937/12.5 | 1.171/12.5 | 0.779/10.0 | 
| c8g.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| c8g.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| c8g.4xlarge | 7.5/15.0 | 9.375/15.0 | 6.25/12.5 | 
| c8g.8xlarge | 15,0 | 18,75 | 12,5 | 
| c8g.12xlarge | 22,5 | 28,125 | 18,75 | 
| c8g.16xlarge | 30.0 | 37,5 | 25.0 | 
| c8g.24xlarge | 40,0 | 50.0 | 32,5 | 
| c8g.48xlarge | 50.0 | 62,5 | 40,0 | 
| c8g.metal-24xl | 40,0 | 50.0 | 32,5 | 
| c8g.metal-48xl | 50.0 | 62,5 | 40,0 | 
| c8gd.medium | 0.52 / 12.5 | 0.65 / 12.5 | 0.441/10.0 | 
| c8gd.large | 0.937/12.5 | 1.171/12.5 | 0.779/10.0 | 
| c8gd.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| c8gd.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| c8gd.4xlarge | 7.5/15.0 | 9.375/15.0 | 6.25/12.5 | 
| c8gd.8xlarge | 15,0 | 18,75 | 12,5 | 
| c8gd.12xlarge | 22,5 | 28,125 | 18,75 | 
| c8gd.16xlarge | 30.0 | 37,5 | 25.0 | 
| c8gd.24xlarge | 40,0 | 50.0 | 32,5 | 
| c8gd.48xlarge | 50.0 | 62,5 | 40,0 | 
| c8gd.metal-24xl | 40,0 | 50.0 | 32,5 | 
| c8gd.metal-48xl | 50.0 | 62,5 | 40,0 | 
| c8i.large | 0,937/12,5 | 1.172/12.5 | 0.774/10.0 | 
| c8i.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| c8i.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| c8i.4xlarge | 7,5/15,0 | 9.375/15.0 | 6.25/12.5 | 
| c8i.8xlarge | 15,0 | 18,75 | 12,5 | 
| c8i.12xlarge | 22,5 | 28,125 | 18,75 | 
| c8i.16xlarge | 30.0 | 37,5 | 25.0 | 
| c8i.24xlarge | 40,0 | 50.0 | 32,5 | 
| c8i.32xlarge | 50.0 | 62,5 | 40,0 | 
| c8i.48xlarge | 75.0 | 93,75 | 60,0 | 
| c8i.96xlarge | 100.0 | 125,0 | 80,0 | 
| c8i.metal-48xl | 75.0 | 93,75 | 60,0 | 
| c8i.metal-96xl | 100.0 | 125,0 | 80,0 | 
| c8id.large | 0,937/12,5 | 1.172/12.5 | 0.774/10.0 | 
| c8id.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| c8id.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| c8id.4xlarge | 7,5/15,0 | 9.375/15.0 | 6.25/12.5 | 
| c8id.8xlarge | 15,0 | 18,75 | 12,5 | 
| c8id.12xlarge | 22,5 | 28,125 | 18,75 | 
| c8id.16xlarge | 30.0 | 37,5 | 25.0 | 
| c8id.24xlarge | 40,0 | 50.0 | 32,5 | 
| c8id.32xlarge | 50.0 | 62,5 | 40,0 | 
| c8id.48xlarge | 75.0 | 93,75 | 60,0 | 
| c8id.96xlarge | 100.0 | 125,0 | 80,0 | 
| c8gb.metal-48xl | 75.0 | 93,75 | 60,0 | 
| c8id.metal-96xl | 100.0 | 125,0 | 80,0 | 
| c8i-flex.large | 0.468/12.5 | 0.585/12.5 | 0.389/10.0 | 
| c8i-flex.xlarge | 0,937/12,5 | 1.172/12.5 | 0.779/10.0 | 
| c8i-flex.2xlarge | 1.875/15.0 | 2.344/15.0 | 1.562/12.5 | 
| c8i-flex.4xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| c8i-flex.8xlarge | 7,5/15,0 | 9.375/18.75 | 6.25/12.5 | 
| c8i-flex.12xlarge | 11.25/22.5 | 14.063/28.125 | 9.375/18.75 | 
| c8i-flex.16xlarge | 15.0/30.0 | 18.75/37.5 | 12.5/25.0 | 
| m8a.medium | 0.52 / 12.5 | 0.65 / 12.5 | 0.438 / 10.0 | 
| m8a.large | 0,937/12,5 | 1.172/12.5 | 0.774/10.0 | 
| m8a.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| m8a.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| m8a.4xlarge | 7,5/15,0 | 9.375/15.0 | 6.25/12.5 | 
| m8a.8xlarge | 15,0 | 18,75 | 12,5 | 
| m8a.12xlarge | 22,5 | 28,125 | 18,75 | 
| m8a.16xlarge | 30.0 | 37,5 | 25.0 | 
| m8a.24xlarge | 40,0 | 50.0 | 32,5 | 
| m8a.48xlarge | 75.0 | 93,75 | 60,0 | 
| m8a.metal-24xl | 40,0 | 50.0 | 32,5 | 
| m8a.metal-48xl | 75.0 | 93,75 | 60,0 | 
| m8g.medium | 0.52 / 12.5 | 0.65 / 12.5 | 0.441/10.0 | 
| m8g.large | 0.937/12.5 | 1.171/12.5 | 0.779/10.0 | 
| m8g.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| m8g.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| m8g.4xlarge | 7.5/15.0 | 9.375/15.0 | 6.25/12.5 | 
| m8g.8xlarge | 15,0 | 18,75 | 12,5 | 
| m8g.12xlarge | 22,5 | 28,125 | 18,75 | 
| m8g.16xlarge | 30.0 | 37,5 | 25.0 | 
| m8g.24xlarge | 40,0 | 50.0 | 32,5 | 
| m8g.48xlarge | 50.0 | 62,5 | 40,0 | 
| m8g.metal-24xl | 40,0 | 50.0 | 32,5 | 
| m8g.metal-48xl | 50.0 | 62,5 | 40,0 | 
| m8gd.medium | 0.52 / 12.5 | 0.65 / 12.5 | 0.441/10.0 | 
| m8gd.large | 0.937/12.5 | 1.171/12.5 | 0.779/10.0 | 
| m8gd.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| m8gd.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| m8gd.4xlarge | 7.5/15.0 | 9.375/15.0 | 6.25/12.5 | 
| m8gd.8xlarge | 15,0 | 18,75 | 12,5 | 
| m8gd.12xlarge | 22,5 | 28,125 | 18,75 | 
| m8gd.16xlarge | 30.0 | 37,5 | 25.0 | 
| m8gd.24xlarge | 40,0 | 50.0 | 32,5 | 
| m8gd.48xlarge | 50.0 | 62,5 | 40,0 | 
| m8gd.metal-24xl | 40,0 | 50.0 | 32,5 | 
| m8gd.metal-48xl | 50.0 | 62,5 | 40,0 | 
| m8i.large | 0,937/12,5 | 1.172/12.5 | 0.774/10.0 | 
| m8i.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| m8i.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| m8i.4xlarge | 7,5/15,0 | 9.375/15.0 | 6.25/12.5 | 
| m8i.8xlarge | 15,0 | 18,75 | 12,5 | 
| m8i.12xlarge | 22,5 | 28,125 | 18,75 | 
| m8i.16xlarge | 30.0 | 37,5 | 25.0 | 
| m8i.24xlarge | 40,0 | 50.0 | 32,5 | 
| m8i.32xlarge | 50.0 | 62,5 | 40,0 | 
| m8i.48xlarge | 75.0 | 93,75 | 60,0 | 
| m8i.96xlarge | 100.0 | 125,0 | 80,0 | 
| m8i.metal-48xl | 75.0 | 93,75 | 60,0 | 
| m8i.metal-96xl | 100.0 | 125,0 | 80,0 | 
| m8id.large | 0,937/12,5 | 1.172/12.5 | 0.774/10.0 | 
| m8id.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| m8id.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| m8id.4xlarge | 7,5/15,0 | 9.375/15.0 | 6.25/12.5 | 
| m8id.8xlarge | 15,0 | 18,75 | 12,5 | 
| m8id.12xlarge | 22,5 | 28,125 | 18,75 | 
| m8id.16xlarge | 30.0 | 37,5 | 25.0 | 
| m8id.24xlarge | 40,0 | 50.0 | 32,5 | 
| m8id.32xlarge | 50.0 | 62,5 | 40,0 | 
| m8id.48xlarge | 75.0 | 93,75 | 60,0 | 
| m8id.96xlarge | 100.0 | 125,0 | 80,0 | 
| m8id.metal-48xl | 75.0 | 93,75 | 60,0 | 
| m8i.metal-96xl | 100.0 | 125,0 | 80,0 | 
| m8i-flex.large | 0.468/12.5 | 0.585/12.5 | 0.389/10.0 | 
| m8i-flex.xlarge | 0,937/12,5 | 1.172/12.5 | 0.779/10.0 | 
| m8i-flex.2xlarge | 1.875/15.0 | 2.344/15.0 | 1.562/12.5 | 
| m8i-flex.4xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| m8i-flex.8xlarge | 7,5/15,0 | 9.375/18.75 | 6.25/12.5 | 
| m8i-flex.12xlarge | 11.25/22.5 | 14.063/28.125 | 9.375/18.75 | 
| m8i-flex.16xlarge | 15.0/30.0 | 18.75/37.5 | 12.5/25.0 | 
| r8a.medium | 0.52 / 12.5 | 0.65 / 12.5 | 0.438 / 10.0 | 
| r8a.large | 0,937/12,5 | 1.172/12.5 | 0.774/10.0 | 
| r8a.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| r8a.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| r8a.4xlarge | 7,5/15,0 | 9.375/15.0 | 6.25/12.5 | 
| r8a.8xlarge | 15,0 | 18,75 | 12,5 | 
| r8a.12xlarge | 22,5 | 28,125 | 18,75 | 
| r8a.16xlarge | 30.0 | 37,5 | 25.0 | 
| r8a.24xlarge | 40,0 | 50.0 | 32,5 | 
| r8a.48xlarge | 75.0 | 93,75 | 60,0 | 
| r8a.metal-24xl | 40,0 | 50.0 | 32,5 | 
| r8a.metal-48xl | 75.0 | 93,75 | 60,0 | 
| r8g.medium | 0.52 / 12.5 | 0.65 / 12.5 | 0.441/10.0 | 
| r8g.large | 0.937/12.5 | 1.171/12.5 | 0.779/10.0 | 
| r8g.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| r8g.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| r8g.4xlarge | 7.5/15.0 | 9.375/15.0 | 6.25/12.5 | 
| r8g.8xlarge | 15,0 | 18,75 | 12,5 | 
| r8g.12xlarge | 22,5 | 28,125 | 18,75 | 
| r8g.16xlarge | 30.0 | 37,5 | 25.0 | 
| r8g.24xlarge | 40,0 | 50.0 | 32,5 | 
| r8g.48xlarge | 50.0 | 62,5 | 40,0 | 
| r8g.metal-24xl | 40,0 | 50.0 | 32,5 | 
| r8g.metal-48xl | 50.0 | 62,5 | 40,0 | 
| r8gd.medium | 0.52 / 12.5 | 0.65 / 12.5 | 0.441/10.0 | 
| r8gd.large | 0.937/12.5 | 1.171/12.5 | 0.779/10.0 | 
| r8gd.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| r8gd.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| r8gd.4xlarge | 7.5/15.0 | 9.375/15.0 | 6.25/12.5 | 
| r8gd.8xlarge | 15,0 | 18,75 | 12,5 | 
| r8gd.12xlarge | 22,5 | 28,125 | 18,75 | 
| r8gd.16xlarge | 30.0 | 37,5 | 25.0 | 
| r8gd.24xlarge | 40,0 | 50.0 | 32,5 | 
| r8gd.48xlarge | 50.0 | 62,5 | 40,0 | 
| r8gd.metal-24xl | 40,0 | 50.0 | 32,5 | 
| r8gd.metal-48xl | 50.0 | 62,5 | 40,0 | 
| r8i.large | 0.937/12.5 | 1.172/12.5 | 0.774/10.0 | 
| r8i.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| r8i.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| r8i.4xlarge | 7.5/15.0 | 9.375/15.0 | 6.25/12.5 | 
| r8i.8xlarge | 15,0 | 18,75 | 12,5 | 
| r8i.12xlarge | 22,5 | 28,125 | 18,75 | 
| r8i.16xlarge | 30.0 | 37,5 | 25.0 | 
| r8i.24xlarge | 40,0 | 50.0 | 32,5 | 
| r8i.32xlarge | 50.0 | 62,5 | 40,0 | 
| r8i.48xlarge | 75.0 | 93,75 | 60,0 | 
| r8i.96xlarge | 100.0 | 125,0 | 80,0 | 
| r8i.metal-48xl | 75.0 | 93,75 | 60,0 | 
| r8i.metal-96xl | 100.0 | 125,0 | 80,0 | 
| r8id.large | 0,937/12,5 | 1.172/12.5 | 0.774/10.0 | 
| r8id.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| r8id.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| r8id.4xlarge | 7,5/15,0 | 9.375/15.0 | 6.25/12.5 | 
| r8id.8xlarge | 15,0 | 18,75 | 12,5 | 
| r8id.12xlarge | 22,5 | 28,125 | 18,75 | 
| r8id.16xlarge | 30.0 | 37,5 | 25.0 | 
| r8id.24xlarge | 40,0 | 50.0 | 32,5 | 
| r8id.32xlarge | 50.0 | 62,5 | 40,0 | 
| r8id.48xlarge | 75.0 | 93,75 | 60,0 | 
| r8id.96xlarge | 100.0 | 125,0 | 80,0 | 
| r8id.metal-48xl | 75.0 | 93,75 | 60,0 | 
| r8id.metal-96xl | 100.0 | 125,0 | 80,0 | 
| r8i-flex.large | 0.468/12.5 | 0.585/12.5 | 0.389/10.0 | 
| r8i-flex.xlarge | 0.937/12.5 | 1.172/12.5 | 0.779/10.0 | 
| r8i-flex.2xlarge | 1.875/15.0 | 2.344/15.0 | 1.562/12.5 | 
| r8i-flex.4xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| r8i-flex.8xlarge | 7.5/15.0 | 9.375/18.75 | 6.25/12.5 | 
| r8i-flex.12xlarge | 11.25/22.5 | 14.063/28.125 | 9.375/18.75 | 
| r8i-flex.16xlarge | 15.0/30.0 | 18.75/37.5 | 12.5/25.0 | 
| x8g.medium | 0.52 / 12.5 | 0.65 / 12.5 | 0.441/10.0 | 
| x8g.large | 0.937/12.5 | 1.171/12.5 | 0.779/10.0 | 
| x8g.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| x8g.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| x8g.4xlarge | 7.5/15.0 | 9.375/15.0 | 6.25/12.5 | 
| x8g.8xlarge | 15,0 | 18,75 | 12,5 | 
| x8g.12xlarge | 22,5 | 28,125 | 18,75 | 
| x8g.16xlarge | 30.0 | 37,5 | 25.0 | 
| x8g.24xlarge | 40,0 | 50.0 | 32,5 | 
| x8g.48xlarge | 50.0 | 62,5 | 40,0 | 
| x8g.metal-24xl | 40,0 | 50.0 | 32,5 | 
| x8g.metal-48xl | 50.0 | 62,5 | 40,0 | 
| x8aedz.large | 1,562/18,75 | 1,953/18,75 | 1,249/15,0 | 
| x8aedz.xlarge | 3,125/18,75 | 3,907/18,75 | 2,5/15,0 | 
| x8aedz.3xlarge | 9.375/18.75 | 11,719/18,75 | 7,5/15,0 | 
| x8aedz.6xlarge | 18,75 | 23,438 | 15,0 | 
| x8aedz.12xlarge | 37,5 | 46,875 | 30.0 | 
| x8aedz.24xlarge | 75.0 | 93,75 | 60,0 | 
| x8aedz.metal-12xl | 37,5 | 46,875 | 30.0 | 
| x8aedz.metal-24xl | 75.0 | 93,75 | 60,0 | 
| x8i.large | 0,937/12,5 | 1.172/12.5 | 0.774/10.0 | 
| x8i.xlarge | 1.875/12.5 | 2.344/12.5 | 1.562/10.0 | 
| x8i.2xlarge | 3.75/15.0 | 4.688/15.0 | 3.125/12.5 | 
| x8i.4xlarge | 7,5/15,0 | 9.375/15.0 | 6.25/12.5 | 
| x8i.8xlarge | 15,0 | 18,75 | 12,5 | 
| x8i.12xlarge | 22,5 | 28,125 | 18,75 | 
| x8i.16xlarge | 30.0 | 37,5 | 25.0 | 
| x8i.24xlarge | 40,0 | 50.0 | 32,5 | 
| x8i.32xlarge | 50.0 | 62,5 | 40,0 | 
| x8i.48xlarge | 75.0 | 93,75 | 60,0 | 
| x8i.64xlarge | 80,0 | 100.0 | 62,5 | 
| x8i.96xlarge | 100.0 | 125,0 | 80,0 | 
| x8i.metal-48xl | 75.0 | 93,75 | 60,0 | 
| x8i.metal-96xl | 100.0 | 125,0 | 80,0 | 

## Rendimiento de Amazon EBS
<a name="config-bw-ebs-impact"></a>

En la siguiente tabla se muestra el rendimiento de Amazon EBS, en Gbps, que se puede lograr con las configuraciones `default`, `vpc-1` y `ebs-1` .


| Tipo de instancia |  **`default`**(Referencia/ampliable)  |  **`vpc-1`**(Referencia/ampliable)  |  **`ebs-1`**(Referencia/ampliable)  | 
| --- | --- | --- | --- | 
| c8a.medium | 0.325 / 10.0 | 0.195 / 6.25 | 0.407 / 10.0 | 
| c8a.large | 0.65/10.0 | 0.415/6.25 | 0.813/10.0 | 
| c8a.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| c8a.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| c8a.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| c8a.8xlarge | 10.0 | 6,25 | 12,5 | 
| c8a.12xlarge | 15,0 | 9,375 | 18,75 | 
| c8a.16xlarge | 20.0 | 12,5 | 25.0 | 
| c8a.24xlarge | 30.0 | 20.0 | 37,5 | 
| c8a.48xlarge | 60,0 | 41,25 | 75.0 | 
| c8a.metal-24xl | 30.0 | 20.0 | 37,5 | 
| c8a.metal-48xl | 60,0 | 41,25 | 75.0 | 
| c8g.medium | 0.315/10.0 | 0.185/6.25 | 0.394/10.0 | 
| c8g.large | 0.63/10.0 | 0.396/6.25 | 0.788/10.0 | 
| c8g.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| c8g.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| c8g.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| c8g.8xlarge | 10.0 | 6,25 | 12,5 | 
| c8g.12xlarge | 15,0 | 9,375 | 18,75 | 
| c8g.16xlarge | 20.0 | 12,5 | 25.0 | 
| c8g.24xlarge | 30.0 | 20.0 | 37,5 | 
| c8g.48xlarge | 40,0 | 27,5 | 50.0 | 
| c8g.metal-24xl | 30.0 | 20.0 | 37,5 | 
| c8g.metal-48xl | 40,0 | 27,5 | 50.0 | 
| c8gd.medium | 0.315/10.0 | 0.185/6.25 | 0.394/10.0 | 
| c8gd.large | 0.63/10.0 | 0.396/6.25 | 0.788/10.0 | 
| c8gd.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| c8gd.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| c8gd.4xlarge | 50/10.0 | 3.125/6.25 | 6.25/10.0 | 
| c8gd.8xlarge | 10.0 | 6,25 | 12,5 | 
| c8gd.12xlarge | 15,0 | 9,375 | 18,75 | 
| c8gd.16xlarge | 20.0 | 12,5 | 25.0 | 
| c8gd.24xlarge | 30.0 | 20.0 | 37,5 | 
| c8gd.48xlarge | 40,0 | 27,5 | 50.0 | 
| c8gd.metal-24xl | 30.0 | 20.0 | 37,5 | 
| c8gd.metal-48xl | 40,0 | 27,5 | 50.0 | 
| c8i.large | 0.65/10.0 | 0.415/6.25 | 0.813/10.0 | 
| c8i.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| c8i.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| c8i.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| c8i.8xlarge | 10.0 | 6,25 | 12,5 | 
| c8i.12xlarge | 15,0 | 9,375 | 18,75 | 
| c8i.16xlarge | 20.0 | 12,5 | 25.0 | 
| c8i.24xlarge | 30.0 | 20.0 | 37,5 | 
| c8i.32xlarge | 40,0 | 27,5 | 50.0 | 
| c8i.48xlarge | 60,0 | 41,25 | 75.0 | 
| c8i.96xlarge | 80,0 | 55,0 | 100.0 | 
| c8i.metal-48xl | 60,0 | 41,25 | 75.0 | 
| c8i.metal-96xl | 80,0 | 55,0 | 100.0 | 
| c8id.large | 0.65/10.0 | 0.415/6.25 | 0.813/10.0 | 
| c8id.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| c8id.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| c8id.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| c8id.8xlarge | 10.0 | 6,25 | 12,5 | 
| c8id.12xlarge | 15,0 | 9,375 | 18,75 | 
| c8id.16xlarge | 20.0 | 12,5 | 25.0 | 
| c8id.24xlarge | 30.0 | 20.0 | 37,5 | 
| c8id.32xlarge | 40,0 | 27,5 | 50.0 | 
| c8id.48xlarge | 60,0 | 41,25 | 75.0 | 
| c8id.96xlarge | 80,0 | 55,0 | 100.0 | 
| c8gb.metal-48xl | 60,0 | 41,25 | 75.0 | 
| c8id.metal-96xl | 80,0 | 55,0 | 100.0 | 
| c8i-flex.large | 0.315/10.0 | 0.198/6.25 | 0.394/10.0 | 
| c8i-flex.xlarge | 0.63/10.0 | 0.395/6.25 | 0.788/10.0 | 
| c8i-flex.2xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| c8i-flex.4xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| c8i-flex.8xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/12.5 | 
| c8i-flex.12xlarge | 7.5/15.0 | 4.687/9.375 | 9.375/18.75 | 
| c8i-flex.16xlarge | 10.0/20.0 | 6.25/12.5 | 12.5/25.0 | 
| m8a.medium | 0.325 / 10.0 | 0.195 / 6.25 | 0.407 / 10.0 | 
| m8a.large | 0.65/10.0 | 0.415/6.25 | 0.813/10.0 | 
| m8a.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| m8a.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| m8a.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| m8a.8xlarge | 10.0 | 6,25 | 12,5 | 
| m8a.12xlarge | 15,0 | 9,375 | 18,75 | 
| m8a.16xlarge | 20.0 | 12,5 | 25.0 | 
| m8a.24xlarge | 30.0 | 20.0 | 37,5 | 
| m8a.48xlarge | 60,0 | 41,25 | 75.0 | 
| m8a.metal-24xl | 30.0 | 20.0 | 37,5 | 
| m8a.metal-48xl | 60,0 | 41,25 | 75.0 | 
| m8g.medium | 0.315/10.0 | 0.185/6.25 | 0.394/10.0 | 
| m8g.large | 0.63/10.0 | 0.396/6.25 | 0.788/10.0 | 
| m8g.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| m8g.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| m8g.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| m8g.8xlarge | 10.0 | 6,25 | 12,5 | 
| m8g.12xlarge | 15,0 | 9,375 | 18,75 | 
| m8g.16xlarge | 20.0 | 12,5 | 25.0 | 
| m8g.24xlarge | 30.0 | 20.0 | 37,5 | 
| m8g.48xlarge | 40,0 | 27,5 | 50.0 | 
| m8g.metal-24xl | 30.0 | 20.0 | 37,5 | 
| m8g.metal-48xl | 40,0 | 27,5 | 50.0 | 
| m8gd.medium | 0.315/10.0 | 0.185/6.25 | 0.394/10.0 | 
| m8gd.large | 0.63/10.0 | 0.396/6.25 | 0.788/10.0 | 
| m8gd.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| m8gd.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| m8gd.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| m8gd.8xlarge | 10.0 | 6,25 | 12,5 | 
| m8gd.12xlarge | 15,0 | 9,375 | 18,75 | 
| m8gd.16xlarge | 20.0 | 12,5 | 25.0 | 
| m8gd.24xlarge | 30.0 | 20.0 | 37,5 | 
| m8gd.48xlarge | 40,0 | 27,5 | 50.0 | 
| m8gd.metal-24xl | 30.0 | 20.0 | 37,5 | 
| m8gd.metal-48xl | 40,0 | 27,5 | 50.0 | 
| m8i.large | 0.65/10.0 | 0.415/6.25 | 0.813/10.0 | 
| m8i.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| m8i.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| m8i.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| m8i.8xlarge | 10.0 | 6,25 | 12,5 | 
| m8i.12xlarge | 15,0 | 9,375 | 18,75 | 
| m8i.16xlarge | 20.0 | 12,5 | 25.0 | 
| m8i.24xlarge | 30.0 | 20.0 | 37,5 | 
| m8i.32xlarge | 40,0 | 27,5 | 50.0 | 
| m8i.48xlarge | 60,0 | 41,25 | 75.0 | 
| m8i.96xlarge | 80,0 | 55,0 | 100.0 | 
| m8i.metal-48xl | 60,0 | 41,25 | 75.0 | 
| m8i.metal-96xl | 80,0 | 55,0 | 100.0 | 
| m8id.large | 0.65/10.0 | 0.415/6.25 | 0.813/10.0 | 
| m8id.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| m8id.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| m8id.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| m8id.8xlarge | 10.0 | 6,25 | 12,5 | 
| m8id.12xlarge | 15,0 | 9,375 | 18,75 | 
| m8id.16xlarge | 20.0 | 12,5 | 25.0 | 
| m8id.24xlarge | 30.0 | 20.0 | 37,5 | 
| m8id.32xlarge | 40,0 | 27,5 | 50.0 | 
| m8id.48xlarge | 60,0 | 41,25 | 75.0 | 
| m8id.96xlarge | 80,0 | 55,0 | 100.0 | 
| m8id.metal-48xl | 60,0 | 41,25 | 75.0 | 
| m8i.metal-96xl | 80,0 | 55,0 | 100.0 | 
| m8i-flex.large | 0.315/10.0 | 0.198/6.25 | 0.394/10.0 | 
| m8i-flex.xlarge | 0.63/10.0 | 0.395/6.25 | 0.788/10.0 | 
| m8i-flex.2xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| m8i-flex.4xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| m8i-flex.8xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/12.5 | 
| m8i-flex.12xlarge | 7.5/15.0 | 4.687/9.375 | 9.375/18.75 | 
| m8i-flex.16xlarge | 10.0/20.0 | 6.25/12.5 | 12.5/25.0 | 
| r8a.medium | 0.325 / 10.0 | 0.195 / 6.25 | 0.407 / 10.0 | 
| r8a.large | 0.65/10.0 | 0.415/6.25 | 0.813/10.0 | 
| r8a.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| r8a.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| r8a.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| r8a.8xlarge | 10.0 | 6,25 | 12,5 | 
| r8a.12xlarge | 15,0 | 9,375 | 18,75 | 
| r8a.16xlarge | 20.0 | 12,5 | 25.0 | 
| r8a.24xlarge | 30.0 | 20.0 | 37,5 | 
| r8a.48xlarge | 60,0 | 41,25 | 75.0 | 
| r8a.metal-24xl | 30.0 | 20.0 | 37,5 | 
| r8a.metal-48xl | 60,0 | 41,25 | 75.0 | 
| r8g.medium | 0.315/10.0 | 0.185/6.25 | 0.394/10.0 | 
| r8g.large | 0.63/10.0 | 0.396/6.25 | 0.788/10.0 | 
| r8g.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| r8g.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| r8g.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| r8g.8xlarge | 10.0 | 6,25 | 12,5 | 
| r8g.12xlarge | 15,0 | 9,375 | 18,75 | 
| r8g.16xlarge | 20.0 | 12,5 | 25.0 | 
| r8g.24xlarge | 30.0 | 20.0 | 37,5 | 
| r8g.48xlarge | 40,0 | 27,5 | 50.0 | 
| r8g.metal-24xl | 30.0 | 20.0 | 37,5 | 
| r8g.metal-48xl | 40,0 | 27,5 | 50.0 | 
| r8gd.medium | 0.315/10.0 | 0.185/6.25 | 0.394/10.0 | 
| r8gd.large | 0.63/10.0 | 0.396/6.25 | 0.788/10.0 | 
| r8gd.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| r8gd.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| r8gd.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| r8gd.8xlarge | 10.0 | 6,25 | 12,5 | 
| r8gd.12xlarge | 15,0 | 9,375 | 18,75 | 
| r8gd.16xlarge | 20.0 | 12,5 | 25.0 | 
| r8gd.24xlarge | 30.0 | 20.0 | 37,5 | 
| r8gd.48xlarge | 40,0 | 27,5 | 50.0 | 
| r8gd.metal-24xl | 30.0 | 20.0 | 37,5 | 
| r8gd.metal-48xl | 40,0 | 27,5 | 50.0 | 
| r8i.large | 0.65/10.0 | 0.415/6.25 | 0.813/10.0 | 
| r8i.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| r8i.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| r8i.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| r8i.8xlarge | 10.0 | 6,25 | 12,5 | 
| r8i.12xlarge | 15,0 | 9,375 | 18,75 | 
| r8i.16xlarge | 20.0 | 12,5 | 25.0 | 
| r8i.24xlarge | 30.0 | 20.0 | 37,5 | 
| r8i.32xlarge | 40,0 | 27,5 | 50.0 | 
| r8i.48xlarge | 60,0 | 41,25 | 75.0 | 
| r8i.96xlarge | 80,0 | 55,0 | 100.0 | 
| r8i.metal-48xl | 60,0 | 41,25 | 75.0 | 
| r8i.metal-96xl | 80,0 | 55,0 | 100.0 | 
| r8id.large | 0.65/10.0 | 0.415/6.25 | 0.813/10.0 | 
| r8id.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| r8id.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| r8id.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| r8id.8xlarge | 10.0 | 6,25 | 12,5 | 
| r8id.12xlarge | 15,0 | 9,375 | 18,75 | 
| r8id.16xlarge | 20.0 | 12,5 | 25.0 | 
| r8id.24xlarge | 30.0 | 20.0 | 37,5 | 
| r8id.32xlarge | 40,0 | 27,5 | 50.0 | 
| r8id.48xlarge | 60,0 | 41,25 | 75.0 | 
| r8id.96xlarge | 80,0 | 55,0 | 100.0 | 
| r8id.metal-48xl | 60,0 | 41,25 | 75.0 | 
| r8id.metal-96xl | 80,0 | 55,0 | 100.0 | 
| r8i-flex.large | 0.315/10.0 | 0.198/6.25 | 0.394/10.0 | 
| r8i-flex.xlarge | 0.63/10.0 | 0.395/6.25 | 0.788/10.0 | 
| r8i-flex.2xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| r8i-flex.4xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| r8i-flex.8xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/12.5 | 
| r8i-flex.12xlarge | 7.5/15.0 | 4.687/9.375 | 9.375/18.75 | 
| r8i-flex.16xlarge | 10.0/20.0 | 6.25/12.5 | 12.5/25.0 | 
| x8g.medium | 0.315/10.0 | 0.185/6.25 | 0.394/10.0 | 
| x8g.large | 0.63/10.0 | 0.396/6.25 | 0.788/10.0 | 
| x8g.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| x8g.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| x8g.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| x8g.8xlarge | 10.0 | 6,25 | 12,5 | 
| x8g.12xlarge | 15,0 | 9,375 | 18,75 | 
| x8g.16xlarge | 20.0 | 12,5 | 25.0 | 
| x8g.24xlarge | 30.0 | 20.0 | 37,5 | 
| x8g.48xlarge | 40,0 | 27,5 | 50.0 | 
| x8g.metal-24xl | 30.0 | 20.0 | 37,5 | 
| x8g.metal-48xl | 40,0 | 27,5 | 50.0 | 
| x8aedz.large | 1,25/15,0 | 0,859/10,312 | 1,563/15,0 | 
| x8aedz.xlarge | 2,5/15,0 | 1,718/10,312 | 3,125/15,0 | 
| x8aedz.3xlarge | 7,5/15,0 | 5,156/10,312 | 9.375/15.0 | 
| x8aedz.6xlarge | 15,0 | 10,312 | 18,75 | 
| x8aedz.12xlarge | 30.0 | 20,625 | 37,5 | 
| x8aedz.24xlarge | 60,0 | 41,25 | 75.0 | 
| x8aedz.metal-12xl | 30.0 | 20,625 | 37,5 | 
| x8aedz.metal-24xl | 60,0 | 41,25 | 75.0 | 
| x8i.large | 0.65/10.0 | 0.415/6.25 | 0.813/10.0 | 
| x8i.xlarge | 1.25/10.0 | 0.781/6.25 | 1.563/10.0 | 
| x8i.2xlarge | 2.5/10.0 | 1.562/6.25 | 3.125/10.0 | 
| x8i.4xlarge | 5.0/10.0 | 3.125/6.25 | 6.25/10.0 | 
| x8i.8xlarge | 10.0 | 6,25 | 12,5 | 
| x8i.12xlarge | 15,0 | 9,375 | 18,75 | 
| x8i.16xlarge | 20.0 | 12,5 | 25.0 | 
| x8i.24xlarge | 30.0 | 20.0 | 37,5 | 
| x8i.32xlarge | 40,0 | 27,5 | 50.0 | 
| x8i.48xlarge | 60,0 | 41,25 | 75.0 | 
| x8i.64xlarge | 70,0 | 50.0 | 87,5 | 
| x8i.96xlarge | 80,0 | 55,0 | 100.0 | 
| x8i.metal-48xl | 60,0 | 41,25 | 75.0 | 
| x8i.metal-96xl | 80,0 | 55,0 | 100.0 | 

## Monitoreo del ancho de banda de las instancias
<a name="monitor-instance-bandwidth"></a>

Puede usar las métricas de CloudWatch para monitorear el ancho de banda de red de las instancias y los paquetes enviados y recibidos. Puede utilizar las métricas de rendimiento de red proporcionadas por el controlador de Elastic Network Adapter (ENA) para monitorear cuándo el tráfico supera los límites de red que Amazon EC2 define en el nivel de instancia.

Puede configurar si Amazon EC2 envía datos de métricas de la instancia a CloudWatch utilizando periodos de un minuto o periodos de cinco minutos. Es posible que las métricas de rendimiento de red muestren que se ha superado un límite y se han eliminado los paquetes, mientras que las métricas de instancias de CloudWatch no lo hacen. Esto puede ocurrir cuando la instancia tiene un pico corto en la demanda de recursos de red (conocido como microampliación), pero las métricas de CloudWatch no son lo suficientemente pormenorizadas como para reflejar estos picos de microsegundos.

**Más información**
+ [Métricas de la instancia](viewing_metrics_with_cloudwatch.md#ec2-cloudwatch-metrics)
+ [Monitorear el rendimiento de la red](monitoring-network-performance-ena.md)

# Redes mejoradas en instancias de Amazon EC2
<a name="enhanced-networking"></a>

Las redes mejoradas utilizan la virtualización de E/S de raíz única (SR-IOV) para ofrecer funcionalidades de redes de alto rendimiento en los tipos de instancias soportados. SR-IOV es un método de virtualización de dispositivos que ofrece un mayor rendimiento de E/S y una menor utilización de CPU en comparación con las interfaces de red virtualizadas tradicionales. Las redes mejoradas proporcionan un mayor ancho de banda, un rendimiento superior de paquetes por segundo (PPS) y menores latencias entre instancias de manera constante. El uso de las redes mejoradas no supone ningún cargo adicional.

Para obtener más información sobre la velocidad de red admitida para cada tipo de instancia, consulte los [Tipos de instancia de Amazon EC2](https://aws.amazon.com/ec2/instance-types/).

Puede habilitar redes mejoradas mediante uno de los siguientes mecanismos:

**Elastic Network Adapter (ENA)**  
Elastic Network Adapter (ENA) admite velocidades de red de hasta 100 Gbps en los tipos de instancias admitidos.  
Todas las [instancias basadas en Nitro](instance-types.md#instance-hypervisor-type) usan ENA para obtener redes mejoradas. Además, las siguientes instancias basadas en Xen admiten ENA: H1, I3, G3, `m4.16xlarge`, P2, P3, P3dn y R4.  
Para obtener más información, consulte [Habilitar redes mejoradas con ENA en las instancias de EC2](enhanced-networking-ena.md).

**Interfaz de Intel 82599 Virtual Function (VF)**  
La interfaz de Intel 82599 Virtual Function admite velocidades de red de hasta 10 Gbps en los tipos de instancias soportados.  
Los siguientes tipos de instancia utilizan la interfaz Intel 82599 VF para redes mejoradas: C3, C4, D2, I2, M4 (excepto m4.16xlarge) y R3.  
Para obtener más información, consulte [Redes mejoradas con la interfaz de Intel 82599 VF](sriov-networking.md).

**Topics**
+ [Elastic Network Adapter (ENA)](enhanced-networking-ena.md)
+ [ENA Express](ena-express.md)
+ [Intel 82599 VF](sriov-networking.md)
+ [Monitorear el rendimiento de la red](monitoring-network-performance-ena.md)
+ [Mejorar la latencia de red en Linux](ena-improve-network-latency-linux.md)
+ [Consideraciones sobre el rendimiento de Nitro](ena-nitro-perf.md)
+ [Optimizar el rendimiento de la red en Windows](enhanced-networking-os.md)

# Habilitar redes mejoradas con ENA en las instancias de EC2
<a name="enhanced-networking-ena"></a>

Amazon EC2 proporciona funcionalidades de redes mejoradas a través del Elastic Network Adapter (ENA). Para utilizar la red mejorada, debe utilizar una AMI que incluya el controlador ENA requerido o instalarla manualmente. A continuación, puede habilitar la compatibilidad con ENA en la instancia.

Para revisar las notas de la versión o las instrucciones de instalación de un controlador ENA, consulte la pestaña correspondiente a la plataforma del sistema operativo de su instancia.

------
#### [ Linux ]

Puede revisar la siguiente documentación en GitHub:
+ Revise las [notas de lanzamiento del controlador del kernel de Linux ENA](https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/RELEASENOTES.md) en GitHub.
+ Para obtener información general sobre el controlador del kernel de Linux ENA que incluye las instrucciones de instalación, consulte [controlador del kernel de Linux para la familia del Elastic Network Adapter (ENA)](https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/README.rst) en GitHub.

------
#### [ Windows ]

Puede revisar la siguiente documentación en la sección **Administrar los controladores de dispositivos** de esta guía:
+ [Seguimiento del lanzamiento de la versión del controlador de Windows de ENA](ena-driver-releases-windows.md).
+ [Instalar el controlador ENA en instancias de Windows de EC2](ena-adapter-driver-install-upgrade-win.md).

------

Para las instancias basadas en Nitro, las capacidades de red mejoradas varían según la versión de Nitro que implemente el tipo de instancia.

Para revisar las especificaciones de red de la instancia, elija el enlace de la familia de instancia para el tipo de instancia. Si no está seguro de qué familia de instancia se aplica, consulte las [convenciones de nomenclatura](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) en la guía de *tipos de instancia de Amazon EC2*.
+ [Especificaciones de red para instancias de computación acelerada](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html#ac_network)
+ [Especificaciones de red para instancias optimizadas para la computación](https://docs.aws.amazon.com/ec2/latest/instancetypes/co.html#co_network)
+ [Especificaciones de red para instancias de uso general](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html#gp_network)
+ [Especificaciones de red para instancias de computación de alto rendimiento](https://docs.aws.amazon.com/ec2/latest/instancetypes/hpc.html#hpc_network)
+ [Especificaciones de red para instancias optimizadas para memoria](https://docs.aws.amazon.com/ec2/latest/instancetypes/mo.html#mo_network)
+ [Especificaciones de red para instancias optimizadas para el almacenamiento](https://docs.aws.amazon.com/ec2/latest/instancetypes/so.html#so_network)

**Topics**
+ [

## Requisitos previos para las redes mejoradas con ENA
](#ena-requirements)
+ [

# Probar si las redes mejoradas están habilitadas
](test-enhanced-networking-ena.md)
+ [

# Habilitar redes mejoradas en la instancia
](enabling_enhanced_networking.md)
+ [

# Colas de ENA
](ena-queues.md)
+ [

# Solución de problemas del controlador del kernel de ENA en Linux
](troubleshooting-ena.md)
+ [

# Solución de problemas del controlador Elastic Network Adapter para Windows
](troubleshoot-ena-driver.md)

## Requisitos previos para las redes mejoradas con ENA
<a name="ena-requirements"></a>

Para prepararse para las redes mejoradas con ENA, configure la instancia de la siguiente manera:
+ Lance una [instancia basada en Nitro](instance-types.md#instance-hypervisor-type).
+ 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 controlador del kernel de ENA y la habilitación del 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](https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/RELEASENOTES.md).
+ **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](https://support.microsoft.com/en-us/help/4474419/sha-2-code-signing-support-update).
+ Utilice [AWS CloudShell](https://console.aws.amazon.com/cloudshell) en la Consola de administración de AWS, o bien instale y configure la [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) o las [AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/) 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](concepts.md#access-ec2) o la [Guía del usuario de AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html). Las redes mejoradas no se pueden administrar desde la consola de Amazon EC2.

# Probar si las redes mejoradas están habilitadas
<a name="test-enhanced-networking-ena"></a>

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

**Atributo de instancia**  
Compruebe el valor del atributo `enaSupport` de la instancia.

------
#### [ AWS CLI ]

Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[].Instances[].EnaSupport"
```

Si la red mejorada está habilitada, el resultado es el siguiente.

```
[
    true
]
```

------
#### [ PowerShell ]

Utilice el cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances.EnaSupport
```

Si la red mejorada está habilitada, el resultado es el siguiente.

```
True
```

------

**Atributo de imagen**  
Compruebe el valor del atributo `enaSupport` de la imagen.

------
#### [ AWS CLI ]

Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

```
aws ec2 describe-images \
    --image-id ami-0abcdef1234567890 \
    --query "Images[].EnaSupport"
```

Si la red mejorada está habilitada, el resultado es el siguiente.

```
[
    true
]
```

------
#### [ PowerShell ]

Utilice el cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

```
(Get-EC2Image -ImageId ami-0abcdef1234567890).EnaSupport
```

Si la red mejorada está habilitada, el resultado es el siguiente.

```
True
```

------

**Controlador de la interfaz de red de Linux**  
Utilice el siguiente comando para verificar que el controlador del kernel de `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 su distribución de Linux admite nombres de red predecibles, podría ser un nombre como `ens5`. Para obtener más información, expanda la sección de RHEL, SUSE y CentOS en [Habilitar redes mejoradas en la instancia](enabling_enhanced_networking.md).

En el siguiente ejemplo, el controlador del kernel de `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 controlador del kernel de `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
<a name="enabling_enhanced_networking"></a>

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

## Amazon Linux
<a name="enable-enhanced-networking-ena-AL"></a>

Las AMI para Amazon Linux incluyen el controlador del kernel requerido para redes mejoradas 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](test-enhanced-networking-ena.md).

## Ubuntu
<a name="enhanced-networking-ena-ubuntu"></a>

Las últimas AMI de Ubuntu HVM incluyen el controlador del kernel requerido para redes mejoradas 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](test-enhanced-networking-ena.md). 

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 [Soporte](https://console.aws.amazon.com/support).<a name="ubuntu-enhanced-networking-ena-procedure"></a>

**Para instalar el paquete del kernel de `linux-aws` (Ubuntu Trusty 14.04)**

1. <a name="ubuntu-enhanced-networking-ena-start-step"></a>Conéctese a la instancia.

1. 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`.

1. [instancia basada en EBS] Desde el equipo local, detenga la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: [https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI) o [https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) (AWS Tools for Windows PowerShell).

   [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)](#enhanced-networking-ena-instance-store-ubuntu).

1. En el equipo local, habilite el atributo de redes mejoradas con uno de los siguientes comandos:
   + [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) (AWS CLI)

     ```
     aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --ena-support
     ```
   + [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) (Herramientas para Windows PowerShell)

     ```
     Edit-EC2InstanceAttribute -InstanceId i-1234567890abcdef0 -EnaSupport $true
     ```

1. (Opcional) Cree una AMI desde la instancia, tal y como se explica en [Creación de una AMI basada en Amazon EBS](creating-an-ami-ebs.md). 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.

1. Desde el equipo local, inicie la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: [https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) (AWS CLI) o [https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) (AWS Tools for Windows PowerShell).<a name="enhanced-networking-ena-instance-store-ubuntu"></a>

**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 [Creación de una AMI basada en Amazon S3](creating-an-ami-instance-store.md), asegurándose de habilitar el atributo de redes mejoradas cuando registre la AMI.
+ [https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) (AWS CLI)

  ```
  aws ec2 register-image --ena-support ...
  ```
+ [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html) (AWS Tools for Windows PowerShell)

  ```
  Register-EC2Image -EnaSupport $true ...
  ```

## RHEL, SUSE, CentOS
<a name="enhanced-networking-ena-linux"></a>

Las últimas AMI de Red Hat Enterprise Linux, SUSE Linux Enterprise Server y CentOS incluyen el controlador del kernel requerido para redes mejoradas 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](test-enhanced-networking-ena.md).

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. <a name="other-linux-enhanced-networking-ena-start-step"></a>Conéctese a la instancia.

1. Clone el código fuente para el controlador del kernel de `ena` en la instancia desde GitHub en [https://github.com/amzn/amzn-drivers](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
   ```

1. Compile e instale el controlador del kernel de `ena` en la instancia. Estos pasos dependen de la distribución Linux. Para obtener más información sobre la compilación del controlador del kernel en Red Hat Enterprise Linux, consulte [¿Cómo puedo instalar el controlador ENS más reciente para el soporte de redes mejoradas en una instancia de Amazon EC2 que ejecuta RHEL?](https://repost.aws/knowledge-center/install-ena-driver-rhel-ec2)

1. Ejecute el comando **sudo depmod** para actualizar las dependencias del controlador del kernel.

1. <a name="other-linux-enhanced-networking-ena-stop-step"></a>Actualice `initramfs` en la instancia para asegurarse de que el nuevo controlador del kernel se cargue en el momento del arranque. Por ejemplo, si su distribución admite **dracut**, puede utilizar el comando siguiente.

   ```
   dracut -f -v
   ```

1. <a name="predictable-network-names-ena"></a>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](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) 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.

   1. 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
      ```

   1. Vuelva a compilar el archivo de configuración de Grub.

      ```
      sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      ```

1. [instancia basada en EBS] Desde su equipo local, detenga la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: [https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI), [https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) (AWS Tools for Windows PowerShell).

   [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)](#other-linux-enhanced-networking-ena-instance-store).

1. En el equipo local, habilite el atributo `enaSupport` de redes mejoradas con uno de los siguientes comandos:
   + [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) (AWS CLI)

     ```
     aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --ena-support
     ```
   + [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) (Herramientas para Windows PowerShell)

     ```
     Edit-EC2InstanceAttribute -InstanceId i-1234567890abcdef0 -EnaSupport $true
     ```

1. (Opcional) Cree una AMI desde la instancia, tal y como se explica en [Creación de una AMI basada en Amazon EBS](creating-an-ami-ebs.md). 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.

1. Desde el equipo local, inicie la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: [https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) (AWS CLI) o [https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) (AWS Tools for Windows PowerShell).

1. (Opcional) Conéctese a la instancia y compruebe si el controlador del kernel está instalado.

   Si no puede conectarse a la instancia después de habilitar las redes mejoradas, consulte [Solución de problemas del controlador del kernel de ENA en Linux](troubleshooting-ena.md).<a name="other-linux-enhanced-networking-ena-instance-store"></a>

**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 [Creación de una AMI basada en Amazon S3](creating-an-ami-instance-store.md), asegurándose de habilitar el atributo de redes mejoradas cuando registre la AMI.
+ [https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) (AWS CLI)

  ```
  aws ec2 register-image --ena-support ...
  ```
+ [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html) (AWS Tools for Windows PowerShell)

  ```
  Register-EC2Image -EnaSupport ...
  ```

## Ubuntu con DKMS
<a name="enhanced-networking-ena-ubuntu-dkms"></a>

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](#enhanced-networking-ena-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](#enhanced-networking-ena-ubuntu).

1. Instale los paquetes `build-essential` para compilar el controlador del kernel y el paquete `dkms` para volver a compilar el controlador del kernel de `ena` cada vez que se actualice el kernel.

   ```
   ubuntu:~$ sudo apt-get install -y build-essential dkms
   ```

1. Clone la fuente del controlador del kernel de `ena` en la instancia desde GitHub en [https://github.com/amzn/amzn-drivers](https://github.com/amzn/amzn-drivers).

   ```
   ubuntu:~$ git clone https://github.com/amzn/amzn-drivers
   ```

1. 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
   ```

1. 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"
   ```

1. Añada, compile e instale el controlador del kernel de `ena` en su instancia mediante DKMS.

   Añada el controlador del kernel a DKMS.

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

   Cree el controlador del kernel mediante el comando **dkms**.

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

   Instale el controlador del kernel mediante **dkms**.

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

1. Vuelva a compilar `initramfs` para que el controlador del kernel correcto se cargue en el momento del arranque.

   ```
   ubuntu:~$ sudo update-initramfs -u -k all
   ```

1. Compruebe si el controlador del kernel de `ena` está instalado mediante el comando modinfo ena desde [Probar si las redes mejoradas están habilitadas](test-enhanced-networking-ena.md).

   ```
   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)
   ```

1. Continúe con el paso 3 de [Ubuntu](#enhanced-networking-ena-ubuntu). 

## Habilitar redes mejoradas en Windows
<a name="enable-enhanced-networking-ena-windows"></a>

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.

**Para habilitar las redes mejoradas**

1. Conéctese a la instancia e inicie sesión como administrador local.

1. [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
   ```

1. En la instancia, instale el controlador de la siguiente manera:

   1. [Descargue](https://s3.amazonaws.com/ec2-windows-drivers-downloads/ENA/Latest/AwsEnaNetworkDriver.zip) el controlador más reciente en la instancia.

   1. Extraiga el archivo zip.

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

1. Desde el equipo local, detenga la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: [https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI) o [https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) (AWS Tools for Windows PowerShell).

1. 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.
      + [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) (AWS CLI)

        ```
        aws ec2 describe-instances --instance-ids i-1234567890abcdef0 --query "Reservations[].Instances[].EnaSupport"
        ```
      + [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) (Herramientas para Windows PowerShell)

        ```
        (Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances.EnaSupport
        ```

   1. Para habilitar el soporte de ENA, ejecute uno de los siguientes comandos:
      + [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) (AWS CLI)

        ```
        aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --ena-support
        ```
      + [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) (AWS Tools for Windows PowerShell)

        ```
        Edit-EC2InstanceAttribute -InstanceId i-1234567890abcdef0 -EnaSupport $true
        ```

      Si tiene problemas al reiniciar la instancia, también puede deshabilitar el soporte de ENA con uno de los siguientes comandos:
      + [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) (AWS CLI)

        ```
        aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --no-ena-support
        ```
      + [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) (AWS Tools for Windows PowerShell)

        ```
        Edit-EC2InstanceAttribute -InstanceId i-1234567890abcdef0 -EnaSupport $false
        ```

   1. 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
      ]
      ```

1. Desde el equipo local, inicie la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: [https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) (AWS CLI) o [https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) (AWS Tools for Windows PowerShell).

1. 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**.

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

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

1. (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.

# Colas de ENA
<a name="ena-queues"></a>

Las colas de ENA se asignan a las interfaces de red con límites estáticos predeterminados según el tipo y el tamaño de la instancia. En los tipos de instancias compatibles, puede asignar estas colas de forma dinámica entre las interfaces de red elásticas (ENI). Aunque el recuento total de colas por instancia depende de su tipo y tamaño, puede configurar varias ENI con colas de ENA hasta alcanzar el número máximo de colas para la ENI y la instancia.

La asignación flexible de colas de ENA optimiza la distribución de los recursos y permite la máxima utilización de la vCPU. Las cargas de trabajo de alto rendimiento de red suelen necesitar varias colas de ENA. Para afinar el rendimiento de la red y los paquetes por segundo (PPS), configure el número de colas según las necesidades específicas de carga de trabajo. Por ejemplo, las aplicaciones con un uso intensivo de la red pueden necesitar más colas en comparación con las aplicaciones con un uso intensivo de la CPU.

**Topics**
+ [

## Instancias compatibles
](#supported-instances)
+ [

## Modificación del número de colas
](#modify)

## Instancias compatibles
<a name="supported-instances"></a>

Las siguientes instancias son compatibles con la asignación dinámica de varias colas de ENA.

### Fin general
<a name="supported-instances-ena-queues-gp"></a>


| Tipo de instancia | Colas de ENA predeterminadas por interfaz | Número máximo de colas ENA por interfaz | Número máximo de colas ENA por instancia | 
| --- | --- | --- | --- | 
| M6i | 
| m6i.large | 2 | 2. | 6 | 
| m6i.xlarge | 4 | 4 | 16 | 
| m6i.2xlarge | 8 | 8 | 32 | 
| m6i.4xlarge | 8 | 16 | 64 | 
| m6i.8xlarge | 8 | 32 | 64 | 
| m6i.12xlarge | 8 | 32 | 64 | 
| m6i.16xlarge | 8 | 32 | 120 | 
| m6i.24xlarge | 8 | 32 | 120 | 
| m6i.32xlarge | 8 | 32 | 120 | 
| M6id | 
| m6id.large | 2 | 2. | 6 | 
| m6id.xlarge | 4 | 4 | 16 | 
| m6id.2xlarge | 8 | 8 | 32 | 
| m6id.4xlarge | 8 | 16 | 64 | 
| m6id.8xlarge | 8 | 32 | 64 | 
| m6id.12xlarge | 8 | 32 | 64 | 
| m6id.16xlarge | 8 | 32 | 120 | 
| m6id.24xlarge | 8 | 32 | 120 | 
| m6id.32xlarge | 8 | 32 | 120 | 
| M6idn | 
| m6idn.large | 2 | 2. | 6 | 
| m6idn.xlarge | 4 | 4 | 16 | 
| m6idn.2xlarge | 8 | 8 | 32 | 
| m6idn.4xlarge | 8 | 16 | 64 | 
| m6idn.8xlarge | 16 | 32 | 128 | 
| m6idn.12xlarge | 16 | 32 | 128 | 
| m6idn.16xlarge | 16 | 32 | 240 | 
| m6idn.24xlarge | 32 | 32 | 480 | 
| m6idn.32xlarge | 32 | 32 | 512 \$1 | 
| M6in | 
| m6in.large | 2 | 2. | 6 | 
| m6in.xlarge | 4 | 4 | 16 | 
| m6in.2xlarge | 8 | 8 | 32 | 
| m6in.4xlarge | 8 | 16 | 64 | 
| m6in.8xlarge | 16 | 32 | 128 | 
| m6in.12xlarge | 16 | 32 | 128 | 
| m6in.16xlarge | 16 | 32 | 240 | 
| m6in.24xlarge | 32 | 32 | 480 | 
| m6in.32xlarge | 32 | 32 | 512 \$1 | 
| M8a | 
| m8a.medium | 1 | 1 | 3 | 
| m8a.large | 2 | 2. | 6 | 
| m8a.xlarge | 4 | 4 | 16 | 
| m8a.2xlarge | 8 | 8 | 32 | 
| m8a.4xlarge | 8 | 16 | 64 | 
| m8a.8xlarge | 8 | 32 | 128 | 
| m8a.12xlarge | 16 | 64 | 192 | 
| m8a.16xlarge | 16 | 64 | 256 | 
| m8a.24xlarge | 16 | 128 | 384 | 
| m8a.48xlarge | 32 | 128 | 768 | 
| m8a.metal-24xl | 16 | 128 | 384 | 
| m8a.metal-48xl | 32 | 128 | 768 | 
| M8azn | 
| m8azn.medium | 1 | 1 | 3 | 
| m8azn.large | 2 | 2. | 8 | 
| m8azn.xlarge | 4 | 4 | 16 | 
| m8azn.3xlarge | 4 | 16 | 48 | 
| m8azn.6xlarge | 8 | 32 | 96 | 
| m8azn.12xlarge | 8 | 64 | 192 | 
| m8azn.24xlarge | 16 | 128 | 384 | 
| m8azn.metal-12xl | 8 | 64 | 192 | 
| m8azn.metal-24xl | 16 | 128 | 384 | 
| M8gb | 
| m8gb.medium | 1 | 1 | 2 | 
| m8gb.large | 2 | 2. | 6 | 
| m8gb.xlarge | 4 | 4 | 16 | 
| m8gb.2xlarge | 8 | 8 | 32 | 
| m8gb.4xlarge | 8 | 16 | 64 | 
| m8gb.8xlarge | 8 | 32 | 128 | 
| m8gb.12xlarge | 16 | 64 | 192 | 
| m8gb.16xlarge | 16 | 64 | 256 | 
| m8gb.24xlarge | 16 | 128 | 384 | 
| m8gb.48xlarge | 32 | 128 | 768 \$1 | 
| m8gb.metal-24xl | 32 | 128 | 768 | 
| m8gb.metal-48xl | 32 | 128 | 768 \$1 | 
| M8gn | 
| m8gn.medium | 1 | 1 | 2 | 
| m8gn.large | 2 | 2. | 6 | 
| m8gn.xlarge | 4 | 4 | 16 | 
| m8gn.2xlarge | 8 | 8 | 32 | 
| m8gn.4xlarge | 8 | 16 | 64 | 
| m8gn.8xlarge | 8 | 32 | 128 | 
| m8gn.12xlarge | 16 | 64 | 192 | 
| m8gn.16xlarge | 16 | 64 | 256 | 
| m8gn.24xlarge | 16 | 128 | 384 | 
| m8gn.48xlarge | 32 | 128 | 768 \$1 | 
| m8gn.metal-24xl | 32 | 128 | 768 | 
| m8gn.metal-48xl | 32 | 128 | 768 \$1 | 
| M8i | 
| m8i.large | 2 | 2. | 6 | 
| m8i.xlarge | 4 | 4 | 16 | 
| m8i.2xlarge | 8 | 8 | 32 | 
| m8i.4xlarge | 8 | 16 | 64 | 
| m8i.8xlarge | 8 | 32 | 128 | 
| m8i.12xlarge | 16 | 64 | 192 | 
| m8i.16xlarge | 16 | 64 | 256 | 
| m8i.24xlarge | 16 | 128 | 384 | 
| m8i.32xlarge | 16 | 128 | 512 | 
| m8i.48xlarge | 32 | 128 | 768 | 
| m8i.96xlarge | 32 | 128 | 1536 | 
| m8i.metal-48xl | 32 | 128 | 768 | 
| m8i.metal-96xl | 32 | 128 | 1536 | 
| M8id | 
| m8id.large | 2 | 2. | 6 | 
| m8id.xlarge | 4 | 4 | 16 | 
| m8id.2xlarge | 8 | 8 | 32 | 
| m8id.4xlarge | 8 | 16 | 64 | 
| m8id.8xlarge | 8 | 32 | 128 | 
| m8id.12xlarge | 16 | 64 | 192 | 
| m8id.16xlarge | 16 | 64 | 256 | 
| m8id.24xlarge | 16 | 128 | 384 | 
| m8id.32xlarge | 16 | 128 | 512 | 
| m8id.48xlarge | 32 | 128 | 768 | 
| m8id.96xlarge | 32 | 128 | 1536 | 
| m8id.metal-48xl | 32 | 128 | 768 | 
| m8id.metal-96xl | 32 | 128 | 1536 | 
| M8i-flex | 
| m8i-flex.large | 1 | 1 | 3 | 
| m8i-flex.xlarge | 2 | 2. | 8 | 
| m8i-flex.2xlarge | 4 | 4 | 16 | 
| m8i-flex.4xlarge | 4 | 8 | 32 | 
| m8i-flex.8xlarge | 4 | 16 | 64 | 
| m8i-flex.12xlarge | 8 | 32 | 96 | 
| m8i-flex.16xlarge | 8 | 32 | 128 | 

**nota**  
\$1 Estos tipos de instancia cuentan con varias tarjetas de red. Otros tipos de instancia cuentan con una sola tarjeta de red. Para obtener más información, consulte [Tarjetas de red](using-eni.md#network-cards). 

### Optimizada para computación
<a name="supported-instances-ena-queues-co"></a>


| Tipo de instancia | Colas de ENA predeterminadas por interfaz | Número máximo de colas ENA por interfaz | Número máximo de colas ENA por instancia | 
| --- | --- | --- | --- | 
| C6i | 
| c6i.large | 2 | 2. | 6 | 
| c6i.xlarge | 4 | 4 | 16 | 
| c6i.2xlarge | 8 | 8 | 32 | 
| c6i.4xlarge | 8 | 16 | 64 | 
| c6i.8xlarge | 8 | 32 | 64 | 
| c6i.12xlarge | 8 | 32 | 64 | 
| c6i.16xlarge | 8 | 32 | 120 | 
| c6i.24xlarge | 8 | 32 | 120 | 
| c6i.32xlarge | 8 | 32 | 120 | 
| C6id | 
| c6id.large | 2 | 2. | 6 | 
| c6id.xlarge | 4 | 4 | 16 | 
| c6id.2xlarge | 8 | 8 | 32 | 
| c6id.4xlarge | 8 | 16 | 64 | 
| c6id.8xlarge | 8 | 32 | 64 | 
| c6id.12xlarge | 8 | 32 | 64 | 
| c6id.16xlarge | 8 | 32 | 120 | 
| c6id.24xlarge | 8 | 32 | 120 | 
| c6id.32xlarge | 8 | 32 | 120 | 
| C6in | 
| c6in.large | 2 | 2. | 6 | 
| c6in.xlarge | 4 | 4 | 16 | 
| c6in.2xlarge | 8 | 8 | 32 | 
| c6in.4xlarge | 8 | 16 | 64 | 
| c6in.8xlarge | 16 | 32 | 128 | 
| c6in.12xlarge | 16 | 32 | 128 | 
| c6in.16xlarge | 16 | 32 | 240 | 
| c6in.24xlarge | 32 | 32 | 480 | 
| c6in.32xlarge | 32 | 32 | 512 \$1 | 
| C8a | 
| c8a.medium | 1 | 1 | 3 | 
| c8a.large | 2 | 2. | 6 | 
| c8a.xlarge | 4 | 4 | 16 | 
| c8a.2xlarge | 8 | 8 | 32 | 
| c8a.4xlarge | 8 | 16 | 64 | 
| c8a.8xlarge | 8 | 32 | 128 | 
| c8a.12xlarge | 16 | 64 | 192 | 
| c8a.16xlarge | 16 | 64 | 256 | 
| c8a.24xlarge | 16 | 128 | 384 | 
| c8a.48xlarge | 32 | 128 | 768 | 
| c8a.metal-24xl | 16 | 128 | 384 | 
| c8a.metal-48xl | 32 | 128 | 768 | 
| C8gb | 
| c8gb.medium | 1 | 1 | 2 | 
| c8gb.large | 2 | 2. | 6 | 
| c8gb.xlarge | 4 | 4 | 16 | 
| c8gb.2xlarge | 8 | 8 | 32 | 
| c8gb.4xlarge | 8 | 16 | 64 | 
| c8gb.8xlarge | 8 | 32 | 128 | 
| c8gb.12xlarge | 16 | 64 | 192 | 
| c8gb.16xlarge | 16 | 64 | 256 | 
| c8gb.24xlarge | 16 | 128 | 384 | 
| c8gb.48xlarge | 32 | 128 | 768 \$1 | 
| c8gb.metal-24xl | 32 | 128 | 768 | 
| c8gb.metal-48xl | 32 | 128 | 768 \$1 | 
| C8gn | 
| c8gn.medium | 1 | 1 | 2 | 
| c8gn.large | 2 | 2. | 6 | 
| c8gn.xlarge | 4 | 4 | 16 | 
| c8gn.2xlarge | 8 | 8 | 32 | 
| c8gn.4xlarge | 8 | 16 | 64 | 
| c8gn.8xlarge | 8 | 32 | 128 | 
| c8gn.12xlarge | 16 | 64 | 192 | 
| c8gn.16xlarge | 16 | 64 | 256 | 
| c8gn.24xlarge | 16 | 128 | 384 | 
| c8gn.48xlarge | 32 | 128 | 768 \$1 | 
| c8gn.metal-24xl | 32 | 128 | 768 | 
| c8gn.metal-48xl | 32 | 128 | 768 \$1 | 
| C8i | 
| c8i.large | 2 | 2. | 6 | 
| c8i.xlarge | 4 | 4 | 16 | 
| c8i.2xlarge | 8 | 8 | 32 | 
| c8i.4xlarge | 8 | 16 | 64 | 
| c8i.8xlarge | 8 | 32 | 128 | 
| c8i.12xlarge | 16 | 64 | 192 | 
| c8i.16xlarge | 16 | 64 | 256 | 
| c8i.24xlarge | 16 | 128 | 384 | 
| c8i.32xlarge | 16 | 128 | 512 | 
| c8i.48xlarge | 32 | 128 | 768 | 
| c8i.96xlarge | 32 | 128 | 1536 | 
| c8i.metal-48xl | 32 | 128 | 768 | 
| c8i.metal-96xl | 32 | 128 | 1536 | 
| C8id | 
| c8id.large | 2 | 2. | 6 | 
| c8id.xlarge | 4 | 4 | 16 | 
| c8id.2xlarge | 8 | 8 | 32 | 
| c8id.4xlarge | 8 | 16 | 64 | 
| c8id.8xlarge | 8 | 32 | 128 | 
| c8id.12xlarge | 16 | 64 | 192 | 
| c8id.16xlarge | 16 | 64 | 256 | 
| c8id.24xlarge | 16 | 128 | 384 | 
| c8id.32xlarge | 16 | 128 | 512 | 
| c8id.48xlarge | 32 | 128 | 768 | 
| c8id.96xlarge | 32 | 128 | 1536 | 
| c8id.metal-48xl | 32 | 128 | 768 | 
| c8id.metal-96xl | 32 | 128 | 1536 | 
| C8i-flex | 
| c8i-flex.large | 1 | 1 | 3 | 
| c8i-flex.xlarge | 2 | 2. | 8 | 
| c8i-flex.2xlarge | 4 | 4 | 16 | 
| c8i-flex.4xlarge | 4 | 8 | 32 | 
| c8i-flex.8xlarge | 4 | 16 | 64 | 
| c8i-flex.12xlarge | 8 | 32 | 96 | 
| c8i-flex.16xlarge | 8 | 32 | 128 | 

**nota**  
\$1 Estos tipos de instancia cuentan con varias tarjetas de red. Otros tipos de instancia cuentan con una sola tarjeta de red. Para obtener más información, consulte [Tarjetas de red](using-eni.md#network-cards). 

### Optimizada para memoria
<a name="supported-instances-ena-queues-mo"></a>


| Tipo de instancia | Colas de ENA predeterminadas por interfaz | Número máximo de colas ENA por interfaz | Número máximo de colas ENA por instancia | 
| --- | --- | --- | --- | 
| R6i | 
| r6i.large | 2 | 2. | 6 | 
| r6i.xlarge | 4 | 4 | 16 | 
| r6i.2xlarge | 8 | 8 | 32 | 
| r6i.4xlarge | 8 | 16 | 64 | 
| r6i.8xlarge | 8 | 32 | 64 | 
| r6i.12xlarge | 8 | 32 | 64 | 
| r6i.16xlarge | 8 | 32 | 120 | 
| r6i.24xlarge | 8 | 32 | 120 | 
| r6i.32xlarge | 8 | 32 | 120 | 
| R6id | 
| r6id.large | 2 | 2. | 6 | 
| r6id.xlarge | 4 | 4 | 16 | 
| r6id.2xlarge | 8 | 8 | 32 | 
| r6id.4xlarge | 8 | 16 | 64 | 
| r6id.8xlarge | 8 | 32 | 64 | 
| r6id.12xlarge | 8 | 32 | 64 | 
| r6id.16xlarge | 8 | 32 | 120 | 
| r6id.24xlarge | 8 | 32 | 120 | 
| r6id.32xlarge | 8 | 32 | 120 | 
| R6idn | 
| r6idn.large | 2 | 2. | 6 | 
| r6idn.xlarge | 4 | 4 | 16 | 
| r6idn.2xlarge | 8 | 8 | 32 | 
| r6idn.4xlarge | 8 | 16 | 64 | 
| r6idn.8xlarge | 16 | 32 | 128 | 
| r6idn.12xlarge | 16 | 32 | 128 | 
| r6idn.16xlarge | 16 | 32 | 240 | 
| r6idn.24xlarge | 32 | 32 | 480 | 
| r6idn.32xlarge | 32 | 32 | 512 \$1 | 
| R6in | 
| r6in.large | 2 | 2. | 6 | 
| r6in.xlarge | 4 | 4 | 16 | 
| r6in.2xlarge | 8 | 8 | 32 | 
| r6in.4xlarge | 8 | 16 | 64 | 
| r6in.8xlarge | 16 | 32 | 128 | 
| r6in.12xlarge | 16 | 32 | 128 | 
| r6in.16xlarge | 16 | 32 | 240 | 
| r6in.24xlarge | 32 | 32 | 480 | 
| r6in.32xlarge | 32 | 32 | 512 \$1 | 
| R8a | 
| r8a.medium | 1 | 1 | 3 | 
| r8a.large | 2 | 2. | 6 | 
| r8a.xlarge | 4 | 4 | 16 | 
| r8a.2xlarge | 8 | 8 | 32 | 
| r8a.4xlarge | 8 | 16 | 64 | 
| r8a.8xlarge | 8 | 32 | 128 | 
| r8a.12xlarge | 16 | 64 | 192 | 
| r8a.16xlarge | 16 | 64 | 256 | 
| r8a.24xlarge | 16 | 128 | 384 | 
| r8a.48xlarge | 32 | 128 | 768 | 
| r8a.metal-24xl | 16 | 128 | 384 | 
| r8a.metal-48xl | 32 | 128 | 768 | 
| R8gb | 
| r8gb.medium | 1 | 1 | 2 | 
| r8gb.large | 2 | 2. | 6 | 
| r8gb.xlarge | 4 | 4 | 16 | 
| r8gb.2xlarge | 8 | 8 | 32 | 
| r8gb.4xlarge | 8 | 16 | 64 | 
| r8gb.8xlarge | 8 | 32 | 128 | 
| r8gb.12xlarge | 16 | 64 | 192 | 
| r8gb.16xlarge | 16 | 64 | 256 | 
| r8gb.24xlarge | 16 | 128 | 384 | 
| r8gb.48xlarge | 32 | 128 | 768 \$1 | 
| r8gb.metal-24xl | 32 | 128 | 768 | 
| r8gb.metal-48xl | 32 | 128 | 768 \$1 | 
| R8gn | 
| r8gn.medium | 1 | 1 | 2 | 
| r8gn.large | 2 | 2. | 6 | 
| r8gn.xlarge | 4 | 4 | 16 | 
| r8gn.2xlarge | 8 | 8 | 32 | 
| r8gn.4xlarge | 8 | 16 | 64 | 
| r8gn.8xlarge | 8 | 32 | 128 | 
| r8gn.12xlarge | 16 | 64 | 192 | 
| r8gn.16xlarge | 16 | 64 | 256 | 
| r8gn.24xlarge | 16 | 128 | 384 | 
| r8gn.48xlarge | 32 | 128 | 768 \$1 | 
| r8gn.metal-24xl | 32 | 128 | 768 | 
| r8gn.metal-48xl | 32 | 128 | 768 \$1 | 
| R8i | 
| r8i.large | 2 | 2. | 6 | 
| r8i.xlarge | 4 | 4 | 16 | 
| r8i.2xlarge | 8 | 8 | 32 | 
| r8i.4xlarge | 8 | 16 | 64 | 
| r8i.8xlarge | 8 | 32 | 128 | 
| r8i.12xlarge | 16 | 64 | 192 | 
| r8i.16xlarge | 16 | 64 | 256 | 
| r8i.24xlarge | 16 | 128 | 384 | 
| r8i.32xlarge | 16 | 128 | 512 | 
| r8i.48xlarge | 32 | 128 | 768 | 
| r8i.96xlarge | 32 | 128 | 1536 | 
| r8i.metal-48xl | 32 | 128 | 768 | 
| r8i.metal-96xl | 32 | 128 | 1536 | 
| R8id | 
| r8id.large | 2 | 2. | 6 | 
| r8id.xlarge | 4 | 4 | 16 | 
| r8id.2xlarge | 8 | 8 | 32 | 
| r8id.4xlarge | 8 | 16 | 64 | 
| r8id.8xlarge | 8 | 32 | 128 | 
| r8id.12xlarge | 16 | 64 | 192 | 
| r8id.16xlarge | 16 | 64 | 256 | 
| r8id.24xlarge | 16 | 128 | 384 | 
| r8id.32xlarge | 16 | 128 | 512 | 
| r8id.48xlarge | 32 | 128 | 768 | 
| r8id.96xlarge | 32 | 128 | 1536 | 
| r8id.metal-48xl | 32 | 128 | 768 | 
| r8id.metal-96xl | 32 | 128 | 1536 | 
| R8i-flex | 
| r8i-flex.large | 1 | 1 | 3 | 
| r8i-flex.xlarge | 2 | 2. | 8 | 
| r8i-flex.2xlarge | 4 | 4 | 16 | 
| r8i-flex.4xlarge | 4 | 8 | 32 | 
| r8i-flex.8xlarge | 4 | 16 | 64 | 
| r8i-flex.12xlarge | 8 | 32 | 96 | 
| r8i-flex.16xlarge | 8 | 32 | 128 | 
| X8aedz | 
| x8aedz.large | 2 | 2. | 8 | 
| x8aedz.xlarge | 4 | 4 | 16 | 
| x8aedz.3xlarge | 4 | 16 | 48 | 
| x8aedz.6xlarge | 8 | 32 | 96 | 
| x8aedz.12xlarge | 8 | 64 | 192 | 
| x8aedz.24xlarge | 16 | 128 | 384 | 
| x8aedz.metal-12xl | 8 | 64 | 192 | 
| x8aedz.metal-24xl | 16 | 128 | 384 | 
| X8i | 
| x8i.large | 2 | 2. | 6 | 
| x8i.xlarge | 4 | 4 | 16 | 
| x8i.2xlarge | 8 | 8 | 32 | 
| x8i.4xlarge | 8 | 16 | 64 | 
| x8i.8xlarge | 8 | 32 | 128 | 
| x8i.12xlarge | 16 | 64 | 192 | 
| x8i.16xlarge | 16 | 64 | 256 | 
| x8i.24xlarge | 16 | 128 | 384 | 
| x8i.32xlarge | 16 | 128 | 512 | 
| x8i.48xlarge | 32 | 128 | 768 | 
| x8i.64xlarge | 32 | 128 | 1024 | 
| x8i.96xlarge | 32 | 128 | 1536 | 
| x8i.metal-48xl | 32 | 128 | 768 | 
| x8i.metal-96xl | 32 | 128 | 1536 | 

**nota**  
\$1 Estos tipos de instancia cuentan con varias tarjetas de red. Otros tipos de instancia cuentan con una sola tarjeta de red. Para obtener más información, consulte [Tarjetas de red](using-eni.md#network-cards). 

## Modificación del número de colas
<a name="modify"></a>

Puede modificar el número de colas de ENA con Consola de administración de AWS o AWS CLI. En la Consola de administración de AWS, la configuración de las colas de ENA está disponible en los ajustes de cada **interfaz de red**.

Para modificar el número de colas de ENA desde la AWS CLI, use uno de los siguientes comandos. Antes de modificar el número de colas, use el siguiente comando para comprobar la cantidad actual de colas.

```
aws ec2 describe-instances --instance-id i-1234567890abcdef0
```

**nota**  
La instancia debe detenerse antes de modificar el número de colas de ENA.
El valor de las colas de ENA debe ser una potencia de 2, como 1, 2, 4, 8, 16, 32, etc.
El número de colas asignadas a una sola ENI no puede superar el número de vCPU disponibles en la instancia.

`[attach-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-network-interface.html)`

En el siguiente ejemplo, se configuran 32 colas de ENA en una ENI.

```
aws ec2 attach-network-interface \
  --network-interface-id eni-001aa1bb223cdd4e4 \
  --instance-id i-1234567890abcdef0 \
  --device-index 1 \
  --ena-queue-count 32
```

`[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)`

En el siguiente ejemplo, se configuran 2 colas de ENA en cada una de las 3 ENI.

```
aws ec2 run-instances \
  --image-id ami-12ab3c30 \
  --instance-type c6i.large \
  --min-count 1 \
  --max-count 1 \
  --network-interfaces \
    "[{\"DeviceIndex\":0,\"SubnetId\":\"subnet-123456789012a345a\",\"EnaQueueCount\":2},
      {\"DeviceIndex\":1,\"SubnetId\":\"subnet-123456789012a345a\",\"EnaQueueCount\":2},
      {\"DeviceIndex\":2,\"SubnetId\":\"subnet-123456789012a345a\",\"EnaQueueCount\":2}]"
```

`[modify-network-interface-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-network-interface-attribute.html)`

En el siguiente ejemplo, se configuran 32 colas de ENA en una ENI.

```
aws ec2 modify-network-interface-attribute \
--network-interface-id eni-1234567890abcdef0 \
--attachment AttachmentId=eni-attach-12345678,EnaQueueCount=32
```

En el siguiente ejemplo, la cantidad de ENA se restablece al valor predeterminado.

```
aws ec2 modify-network-interface-attribute \
--network-interface-id eni-1234567890abcdef0 \
--attachment AttachmentId=eni-attach-12345678,DefaultEnaQueueCount=true
```

# Solución de problemas del controlador del kernel de ENA en Linux
<a name="troubleshooting-ena"></a>

Elastic Network Adapter (ENA) se ha diseñado para mejorar la salud del sistema operativo y reducir la posibilidad de interrupción a largo plazo debido a errores o a comportamientos de hardware inesperados. La arquitectura ENA mantiene los errores de la unidad o el dispositivo lo más transparente posible para el sistema. En este tema se proporciona información sobre cómo solucionar problemas de ENA.

Si no puede conectarse a la instancia, comience por la sección [Solucionar problemas de conectividad](#ena-connectivity-issues).

Si experimenta una degradación del rendimiento después de migrar a un tipo de instancia de sexta generación, consulte el artículo [What do I need to do before I migrate my EC2 instance to a sixth generation instance to make sure that I get maximum network performance?](https://repost.aws/knowledge-center/migrate-to-gen6-ec2-instance)

Si puede conectarse a la instancia, puede recopilar la información de diagnóstico usando la detección de errores y los mecanismos de recuperación que se abordan en secciones posteriores dentro de este tema.

**Topics**
+ [

## Solucionar problemas de conectividad
](#ena-connectivity-issues)
+ [

## Mecanismo Keep-alive
](#ena-keep-alive)
+ [

## Registrar tiempo de espera de lectura
](#register-read-timeout-ena)
+ [

## Statistics
](#statistics-ena)
+ [

## Registros de errores de controlador en syslog
](#driver-error-logs-ena)
+ [

## Notificaciones de configuración subóptimas
](#ts-ena-sub-opt-config-notification)

## Solucionar problemas de conectividad
<a name="ena-connectivity-issues"></a>

Si pierde la conexión mientras habilita la red mejorada, puede ser que el módulo `ena` sea incompatible con el kernel en ejecución de la instancia. Esto puede ocurrir si instala el módulo para una versión de kernel específica (sin **dkms** o con un archivo **dkms.conf** incorrectamente configurado) y después se actualiza el kernel de la instancia. Si el kernel de la instancia que está cargado al arrancar no tiene un módulo `ena` correctamente instalado, la instancia no reconocerá el adaptador de red y la instancia no será alcanzable.

Habilitar las redes mejoradas para una instancia o AMI de PV también puede hacer que la instancia no sea alcanzable.

Si la instancia no es alcanzable después de habilitar las redes mejoradas con ENA, puede deshabilitar el atributo `enaSupport` de la instancia y volverá al adaptador de red.

**Para inhabilitar las redes mejoradas con ENA (instancias respaldadas por EBS)**

1. En el equipo local, detenga la instancia mediante la consola de Amazon EC2, el comando [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI) o el cmdlet [Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) (Herramientas de AWS para PowerShell).

1. Desde el equipo local, deshabilite el atributo de red mejorada mediante el comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) con la opción `--no-ena-support` o el cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) con el parámetro `-EnaSupport $false`.

1. En el equipo local, inicie la instancia mediante la consola de Amazon EC2, el comando [start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) o el cmdlet [Start-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html).

1. (Opcional) Conéctese a la instancia e intente reinstalar el módulo `ena` con la versión de kernel actual siguiendo los pasos de [Habilitar redes mejoradas con ENA en las instancias de EC2](enhanced-networking-ena.md).<a name="disable-enhanced-networking-ena-instance-store"></a>

**Para deshabilitar las redes mejoradas con ENA (instancias con respaldo en el almacenamiento de la instancia)**

1. Cree una nueva AMI como se describe en [Creación de una AMI basada en Amazon S3](creating-an-ami-instance-store.md).

1. Al registrar la AMI, asegúrese de incluir la opción `--no-ena-support` en el comando [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI) o el parámetro `-EnaSupport $false` en el cmdlet [Register-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html).

## Mecanismo Keep-alive
<a name="ena-keep-alive"></a>

El dispositivo ENA publica eventos keep-alive a intervalos establecidos (por lo general una vez por segundo). El controlador de ENA implementa un mecanismo watchdog para detectar la presencia de estos mensajes keep-alive. Si hay uno o varios mensajes, el watchdog se rearma; de lo contrario, el controlador concluye que el dispositivo experimentó un error y hace lo siguiente:
+ Vuelca las estadísticas actuales en el syslog
+ Restablece el dispositivo ENA
+ Restablece el estado del controlador ENA

El procedimiento anterior puede dar lugar a cierta pérdida de tráfico durante un breve periodo (las conexiones TCP deberían poder recuperarse), pero no debería afectar al usuario en nada más.

El dispositivo ENA también puede solicitar indirectamente un procedimiento de restablecimiento de dispositivos, no enviando una notificación keep-alive, por ejemplo, si el dispositivo de ENA llega a un estado desconocido después de cargar una configuración irrecuperable.

El siguiente es un ejemplo del procedimiento de restablecimiento:

```
[18509.800135] ena 0000:00:07.0 eth1: Keep alive watchdog timeout. // The watchdog process initiates a reset
[18509.815244] ena 0000:00:07.0 eth1: Trigger reset is on		
[18509.825589] ena 0000:00:07.0 eth1: tx_timeout: 0 // The driver logs the current statistics
[18509.834253] ena 0000:00:07.0 eth1: io_suspend: 0
[18509.842674] ena 0000:00:07.0 eth1: io_resume: 0
[18509.850275] ena 0000:00:07.0 eth1: wd_expired: 1
[18509.857855] ena 0000:00:07.0 eth1: interface_up: 1
[18509.865415] ena 0000:00:07.0 eth1: interface_down: 0
[18509.873468] ena 0000:00:07.0 eth1: admin_q_pause: 0
[18509.881075] ena 0000:00:07.0 eth1: queue_0_tx_cnt: 0
[18509.888629] ena 0000:00:07.0 eth1: queue_0_tx_bytes: 0
[18509.895286] ena 0000:00:07.0 eth1: queue_0_tx_queue_stop: 0
.......
........
[18511.280972] ena 0000:00:07.0 eth1: free uncompleted tx skb qid 3 idx 0x7 // At the end of the down process, the driver discards incomplete packets.
[18511.420112] [ENA_COM: ena_com_validate_version] ena device version: 0.10 //The driver begins its up process
[18511.420119] [ENA_COM: ena_com_validate_version] ena controller version: 0.0.1 implementation version 1
[18511.420127] [ENA_COM: ena_com_admin_init] ena_defs : Version:[b9692e8] Build date [Wed Apr  6 09:54:21 IDT 2016]
[18512.252108] ena 0000:00:07.0: Device watchdog is Enabled
[18512.674877] ena 0000:00:07.0: irq 46 for MSI/MSI-X
[18512.674933] ena 0000:00:07.0: irq 47 for MSI/MSI-X
[18512.674990] ena 0000:00:07.0: irq 48 for MSI/MSI-X
[18512.675037] ena 0000:00:07.0: irq 49 for MSI/MSI-X
[18512.675085] ena 0000:00:07.0: irq 50 for MSI/MSI-X
[18512.675141] ena 0000:00:07.0: irq 51 for MSI/MSI-X
[18512.675188] ena 0000:00:07.0: irq 52 for MSI/MSI-X
[18512.675233] ena 0000:00:07.0: irq 53 for MSI/MSI-X
[18512.675279] ena 0000:00:07.0: irq 54 for MSI/MSI-X
[18512.772641] [ENA_COM: ena_com_set_hash_function] Feature 10 isn't supported
[18512.772647] [ENA_COM: ena_com_set_hash_ctrl] Feature 18 isn't supported
[18512.775945] ena 0000:00:07.0: Device reset completed successfully // The reset process is complete
```

## Registrar tiempo de espera de lectura
<a name="register-read-timeout-ena"></a>

La arquitectura de ENA sugiere un uso limitado de operaciones de lectura I/O mapeadas a la memoria, MMIO. El controlador del dispositivo de ENA tiene acceso a los registros de MMIO solo durante el procedimiento de inicialización. 

Si los logs del controlador (disponibles en el resultado de **dmesg**) indican errores en las operaciones de lectura, puede ser debido a un controlador incompatible o compilado incorrectamente, un dispositivo de hardware ocupado o un error de hardware.

Las entradas de registro intermitentes que indican errores en operaciones de lectura no deben considerarse un problema, el controlador volverá a intentarlas en este caso. Sin embargo, una secuencia de entradas de registro que contenga errores de lectura indica un problema de controlador o de hardware.

A continuación se ofrece un ejemplo de una entrada de registro de controlador que indica un error en una operación de lectura debido a un tiempo de espera:

```
[ 47.113698] [ENA_COM: ena_com_reg_bar_read32] reading reg failed for timeout. expected: req id[1] offset[88] actual: req id[57006] offset[0] 
[ 47.333715] [ENA_COM: ena_com_reg_bar_read32] reading reg failed for timeout. expected: req id[2] offset[8] actual: req id[57007] offset[0] 
[ 47.346221] [ENA_COM: ena_com_dev_reset] Reg read32 timeout occurred
```

## Statistics
<a name="statistics-ena"></a>

Si experimente problemas de latencia o rendimiento de red insuficiente, recupere las estadísticas del dispositivo y examínelas. Estas estadísticas se obtienen mediante **ethtool**, como se muestra abajo:

```
[ec2-user ~]$ ethtool -S ethN
NIC statistics:
	tx_timeout: 0
	suspend: 0
	resume: 0
	wd_expired: 0
	interface_up: 1
	interface_down: 0
	admin_q_pause: 0
	bw_in_allowance_exceeded: 0
	bw_out_allowance_exceeded: 0
	pps_allowance_exceeded: 0
	conntrack_allowance_available: 450878
	conntrack_allowance_exceeded: 0
	linklocal_allowance_exceeded: 0
	queue_0_tx_cnt: 4329
	queue_0_tx_bytes: 1075749
	queue_0_tx_queue_stop: 0
	...
```

Los parámetros de resultado del siguiente comando se describen a continuación:

`tx_timeout`: *N*  
El número de veces que se activó el watchdog Netdev.

`suspend`: *N*  
El número de veces que el controlador realizó una operación de suspensión.

`resume`: *N*  
El número de veces que el controlador realizó una operación de reanudación.

`wd_expired`: *N*  
El número de veces que el controlador no recibió el evento keep-alive en los tres segundos anteriores.

`interface_up`: *N*  
El número de veces que se activó la interfaz de ENA.

`interface_down`: *N*  
El número de veces que se desactivó la interfaz de ENA.

`admin_q_pause`: *N*  
El número de veces que la cola de administración no se encontró en un estado de ejecución.

`bw_in_allowance_exceeded`: *N*  
El número de paquetes formados en cola o eliminados el ancho de banda agregado entrante superó el máximo de la instancia.

`bw_out_allowance_exceeded`: *N*  
El número de paquetes en cola o eliminados porque el ancho de banda agregado saliente superó el máximo de la instancia.

`pps_allowance_exceeded`: *N*  
El número de paquetes en cola o eliminados porque el PPS bidireccional superó el máximo de la instancia. \$1

`conntrack_allowance_available`: *N*  
La cantidad de conexiones rastreadas que puede establecer la instancia antes de alcanzar el límite de conexiones rastreadas de ese tipo de instancia. Solo disponible para instancias basadas en Nitro. No compatibles con instancias de FreeBSD ni con entornos de DPDK.

`conntrack_allowance_exceeded`: *N*  
El número de paquetes eliminados porque el seguimiento de conexiones superó el máximo de la instancia y no se pudieron establecer nuevas conexiones. Esto puede provocar la pérdida de paquetes para el tráfico hacia o desde la instancia.

`linklocal_allowance_exceeded`: *N*  
El número de paquetes eliminados porque el PPS del tráfico a los servicios proxy locales superó el máximo para la interfaz de red. Esto afecta al tráfico del servicio DNS de Amazon, el servicio de metadatos de instancias y el Servicio de sincronización temporal de Amazon, pero no afecta al tráfico de los solucionadores DNS personalizados.

`queue_N_tx_cnt`: *N*  
El número de paquetes transmitidos para esta cola.

`queue_N_tx_bytes`: *N*  
El número de bytes transmitidos para esta cola.

`queue_N_tx_queue_stop`: *N*  
El número de veces que la cola *N* se llenó y se paró.

`queue_N_tx_queue_wakeup`: *N*  
El número de veces que la cola *N* se reanudó después de pararse.

`queue_N_tx_dma_mapping_err`: *N*  
Cuenta de errores de acceso directo a memoria. Si este valor no es 0, significa que los recursos del sistema están bajos.

`queue_N_tx_linearize`: *N*  
El número de veces que se intentó la linearización SKB para esta cola.

`queue_N_tx_linearize_failed`: *N*  
El número de veces que la linearización SKB para esta cola dio error.

`queue_N_tx_napi_comp`: *N*  
El número de veces que el controlador `napi` llamó a `napi_complete` para esta cola.

`queue_N_tx_tx_poll`: *N*  
El número de veces que el controlador `napi` se programó para esta cola.

`queue_N_tx_doorbells`: *N*  
El número de timbres de transmisión para esta cola.

`queue_N_tx_prepare_ctx_err`: *N*  
El número de veces que `ena_com_prepare_tx` dio error para esta cola.

`queue_N_tx_bad_req_id`: *N*  
`req_id` no válido para esta cola. El `req_id` válido es cero, menos `queue_size`, menos 1. 

`queue_N_tx_llq_buffer_copy`: *N*  
El número de paquetes cuyo tamaño de encabezados es mayor que la entrada llq para esta cola.

`queue_N_tx_missed_tx`: *N*  
El número de paquetes que quedaron incompletos para esta cola.

`queue_N_tx_unmask_interrupt`: *N*  
El número de veces que se desenmascaró la interrupción de tx para esta cola.

`queue_N_rx_cnt`: *N*  
El número de paquetes que se recibió para esta cola.

`queue_N_rx_bytes`: *N*  
El número de bytes que se recibió para esta cola.

`queue_N_rx_rx_copybreak_pkt`: *N*  
El número de veces que la cola rx recibió un paquete cuyo tamaño es menor que el del paquete rx\$1copybreak para esta cola.

`queue_N_rx_csum_good`: *N*  
El número de veces que la cola rx recibió un paquete en el que se verificó la suma de comprobación y era correcta para esta cola.

`queue_N_rx_refil_partial`: *N*  
El número de veces que el controlador no logró rellenar la porción vacía de la cola rx con los búferes para esta cola. Si este valor no es 0, indica que los recursos de memoria están bajos.

`queue_N_rx_bad_csum`: *N*  
El número de veces que la cola `rx` tuvo una suma de comprobación incorrecta para esta cola (solo si se admite la descarga de la suma de comprobación de rx).

`queue_N_rx_page_alloc_fail`: *N*  
El número de veces que la asignación de página para esta cola dio error. Si este valor no es 0, indica que los recursos de memoria están bajos.

`queue_N_rx_skb_alloc_fail`: *N*  
El número de veces que la asignación de SKB para esta cola dio error. Si este valor no es 0, indica que los recursos del sistema están bajos.

`queue_N_rx_dma_mapping_err`: *N*  
Cuenta de errores de acceso directo a memoria. Si este valor no es 0, significa que los recursos del sistema están bajos.

`queue_N_rx_bad_desc_num`: *N*  
Demasiados búferes por paquete. Si este valor no es 0, indica el uso de búferes muy pequeños.

`queue_N_rx_bad_req_id`: *N*  
El req\$1id para esta cola no es válido. El req\$1id válido es de [0, queue\$1size - 1].

`queue_N_rx_empty_rx_ring`: *N*  
El número de veces que la cola rx estuvo vacía para esta cola.

`queue_N_rx_csum_unchecked`: *N*  
El número de veces que la cola rx recibió un paquete cuya suma de comprobación no se verificó para esta cola.

`queue_N_rx_xdp_aborted`: *N*  
El número de veces que un paquete XDP se clasificó como XDP\$1ABORT.

`queue_N_rx_xdp_drop`: *N*  
El número de veces que un paquete XDP se clasificó como XDP\$1DROP.

`queue_N_rx_xdp_pass`: *N*  
El número de veces que un paquete XDP se clasificó como XDP\$1PASS.

`queue_N_rx_xdp_tx`: *N*  
El número de veces que un paquete XDP se clasificó como XDP\$1TX.

`queue_N_rx_xdp_invalid`: *N*  
El número de veces que el código devuelto XDP para el paquete no era válido.

`queue_N_rx_xdp_redirect`: *N*  
El número de veces que un paquete XDP se clasificó como XDP\$1REDIRECT.

`queue_N_xdp_tx_cnt`: *N*  
El número de paquetes transmitidos para esta cola.

`queue_N_xdp_tx_bytes`: *N*  
El número de bytes transmitidos para esta cola.

`queue_N_xdp_tx_queue_stop`: *N*  
El número de veces que esta cola se llenó y se detuvo.

`queue_N_xdp_tx_queue_wakeup`: *N*  
El número de veces que esta cola se reanudó después de detenerse.

`queue_N_xdp_tx_dma_mapping_err`: *N*  
Cuenta de errores de acceso directo a memoria. Si este valor no es 0, significa que los recursos del sistema están bajos.

`queue_N_xdp_tx_linearize`: *N*  
El número de veces que se intentó la linealización del búfer XDP para esta cola.

`queue_N_xdp_tx_linearize_failed`: *N*  
El número de veces que se produjo un error en la linealización del búfer XDP para esta cola.

`queue_N_xdp_tx_napi_comp`: *N*  
El número de veces que el controlador napi llamó napi\$1complete para esta cola.

`queue_N_xdp_tx_tx_poll`: *N*  
El número de veces que se programó el controlador napi para esta cola.

`queue_N_xdp_tx_doorbells`: *N*  
El número de timbres de transmisión para esta cola.

`queue_N_xdp_tx_prepare_ctx_err`: *N*  
El número de veces que ena\$1com\$1prepare\$1tx dio error para esta cola. Este valor debe ser siempre cero; si no es así, consulte los logs del controlador.

`queue_N_xdp_tx_bad_req_id`: *N*  
El req\$1id para esta cola no es válido. El req\$1id válido es de [0, queue\$1size - 1].

`queue_N_xdp_tx_llq_buffer_copy`: *N*  
El número de paquetes cuyos encabezados se copiaron usando la copia del búfer llq para esta cola.

`queue_N_xdp_tx_missed_tx`: *N*  
El número de veces que una entrada de cola tx perdió un tiempo de espera de finalización para esta cola.

`queue_N_xdp_tx_unmask_interrupt`: *N*  
El número de veces que se desenmascaró la interrupción de tx para esta cola.

`ena_admin_q_aborted_cmd`: *N*  
El número total de comandos admin que se anularon. Esto sucede, por lo general, durante el procedimiento de autorrecuperación.

`ena_admin_q_submitted_cmd`: *N*  
El número de timbres de cola admin.

`ena_admin_q_completed_cmd`: *N*  
El número de finalizaciones de la cola admin.

`ena_admin_q_out_of_space`: *N*  
El número de veces que el controlador intentó enviar un nuevo comando admin, pero la cola estaba llena.

`ena_admin_q_no_completion`: *N*  
El número de veces que el controlador no logró una finalización admin para un comando.

## Registros de errores de controlador en syslog
<a name="driver-error-logs-ena"></a>

El controlador de ENA escribe mensajes de registro en **syslog** durante el arranque del sistema. Puede examinarlo para buscar errores si está experimentando problemas. A continuación puede ver un ejemplo de información registrada por el controlador de ENA en **syslog** durante el arranque del sistema, junto con algunas anotaciones para mensajes seleccionados.

```
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  478.416939] [ENA_COM: ena_com_validate_version] ena device version: 0.10
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  478.420915] [ENA_COM: ena_com_validate_version] ena controller version: 0.0.1 implementation version 1
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.256831] ena 0000:00:03.0: Device watchdog is Enabled
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.672947] ena 0000:00:03.0: creating 8 io queues. queue size: 1024
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.680885] [ENA_COM: ena_com_init_interrupt_moderation] Feature 20 isn't supported  // Interrupt moderation is not supported by the device
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.691609] [ENA_COM: ena_com_get_feature_ex] Feature 10 isn't supported // RSS HASH function configuration is not supported by the device
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.694583] [ENA_COM: ena_com_get_feature_ex] Feature 18 isn't supported //RSS HASH input source configuration is not supported by the device 
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.697433] [ENA_COM: ena_com_set_host_attributes] Set host attribute isn't supported
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.701064] ena 0000:00:03.0 (unnamed net_device) (uninitialized): Cannot set host attributes
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.704917] ena 0000:00:03.0: Elastic Network Adapter (ENA) found at mem f3000000, mac addr 02:8a:3c:1e:13:b5 Queues 8
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  480.805037] EXT4-fs (xvda1): re-mounted. Opts: (null)
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  481.025842] NET: Registered protocol family 10
```

**¿Qué tipo de errores se puede omitir?**  
Las advertencias siguientes que aparecen en el registro de errores del sistema se puede omitir para ENA:

La configuración de atributos de host no es compatible  
Los atributos de host no se admiten con este dispositivo.

Error al asignar un búfer para la cola de recepción (rx queue)  
Este en un error recuperable que indica que podría haber habido una presión de memoria cuando se produjo.

La característica *X* no es compatible  
La característica mencionada no es compatible con ENA. Entre los valores posibles para *X* se incluyen:  
+ 10: la configuración de la función Hash de RSS no es compatible con este dispositivo.
+ 12: la configuración de la tabla de indirección de RSS no es compatible con este dispositivo.
+ 18: la configuración de la entrada de Hash de RSS no es compatible con este dispositivo.
+ 20: la moderación de interrupciones no es compatible con este dispositivo.
+ 27: el controlador del Elastic Network Adapter no admite sondear las capacidades de Ethernet desde snmpd.

La configuración de AENQ ha fallado  
El ENA no es compatible con la configuración AENQ.

Intentando configurar eventos de AENQ no compatibles  
Este error indica que se está intentando establecer un grupo de eventos de AENQ no admitido por ENA.

## Notificaciones de configuración subóptimas
<a name="ts-ena-sub-opt-config-notification"></a>

El dispositivo ENA detecta ajustes de configuración subóptimos en el controlador que usted puede cambiar. El dispositivo notifica al controlador ENA y registra una advertencia en la consola. En el ejemplo siguiente se muestra el formato del mensaje de advertencia.

```
Sub-optimal configuration notification code: 1. Refer to AWS ENA documentation for additional details and mitigation options.
```

La siguiente lista muestra los detalles del código de la notificación y las acciones recomendadas en caso de que la configuración no sea óptima.
+ **Código 1: no se recomienda el uso de ENA Express con una configuración de LLQ amplio**

  El ENI de ENA Express está configurado con un LLQ amplio. Esta configuración no es óptima y podría afectar al rendimiento de ENA Express. Le recomendamos que desactive la configuración de LLQ amplio cuando utilice los ENI de ENA Express de la siguiente manera.

  ```
  sudo rmmod ena && sudo modprobe ena force_large_llq_header=0
  ```

  Para obtener más información sobre la configuración óptima de ENA Express, consulte [Mejorar el rendimiento de la red entre las instancias de EC2 con ENA Express](ena-express.md).
+ **Código 2: no se recomienda la ENI de ENA Express con una profundidad de cola de Tx inferior a la óptima**

  La ENI de ENA Express está configurada con una profundidad de cola de Tx inferior a la óptima. Esta configuración podría afectar al rendimiento de ENA Express. Le recomendamos que amplíe todas las colas de Tx al valor máximo para la interfaz de red cuando utilice las ENI de ENA Express de la siguiente manera.

  Puede ejecutar los siguientes comandos **ethtool** para ajustar el tamaño de LLQ. Para obtener más información sobre cómo controlar, consultar y habilitar Wide-LLQ, consulte el tema [Large Low-Latency Queue (Large LLQ)](https://github.com/amzn/amzn-drivers/tree/master/kernel/linux/ena#large-low-latency-queue-large-llq) del controlador del kernel de Linux para la documentación ENA en el *repositorio de GitHub de Amazon Drivers.*

  ```
  ethtool -g interface
  ```

  Defina sus colas de Tx a la profundidad máxima:

  ```
  ethtool -G interface tx depth
  ```

  Para obtener más información sobre la configuración óptima de ENA Express, consulte [Mejorar el rendimiento de la red entre las instancias de EC2 con ENA Express](ena-express.md).
+ **Código 3: ENA con un tamaño LLQ normal y un tráfico de paquetes de Tx que supera el tamaño máximo de encabezado admitido**

  De forma predeterminada, ENA LLQ admite un tamaño de encabezado de paquete Tx de hasta 96 bytes. Si el tamaño del encabezado del paquete es superior a 96 bytes, el paquete se descarta. Para mitigar este problema, le recomendamos que habilite Wide-LLQ, que aumenta el tamaño del encabezado de paquete Tx admitido hasta un máximo de 224 bytes.

  Sin embargo, al activar Wide-LLQ, el tamaño máximo del anillo Tx se reduce de 1000 a 512 entradas. Wide-LLQ está activado de forma predeterminada para todos los tipos de instancias de Nitro v4 y posteriores.
  + Los tipos de instancias de Nitro v4 tienen un tamaño de anillo Tx Wide-LLQ máximo predeterminado de 512 entradas, que no se puede cambiar.
  + Los tipos de instancias de Nitro v5 tienen un tamaño de anillo Tx Wide-LLQ predeterminado de 512 entradas, que puede aumentar hasta 1000 entradas.

  Puede ejecutar los siguientes comandos **ethtool** para ajustar el tamaño de LLQ. Para obtener más información sobre cómo controlar, consultar y habilitar Wide-LLQ, consulte el tema [Large Low-Latency Queue (Large LLQ)](https://github.com/amzn/amzn-drivers/tree/master/kernel/linux/ena#large-low-latency-queue-large-llq) del controlador del kernel de Linux para la documentación ENA en el *repositorio de GitHub de Amazon Drivers.*

  Encuentre la profundidad máxima para sus colas de Tx:

  ```
  ethtool -g interface
  ```

  Defina sus colas de Tx a la profundidad máxima:

  ```
  ethtool -G interface tx depth
  ```

# Solución de problemas del controlador Elastic Network Adapter para Windows
<a name="troubleshoot-ena-driver"></a>

El Elastic Network Adapter (ENA) está diseñado para mejorar el estado del sistema operativo y reducir el comportamiento inesperado del hardware o los errores que pueden interrumpir el funcionamiento de su instancia de Windows. La arquitectura ENA mantiene los errores de la unidad o el dispositivo lo más transparente posible para el sistema operativo.

## Recopilar información de diagnóstico de la instancia
<a name="ts-ena-drv-collect-diagnostics"></a>

Los pasos para abrir las herramientas del sistema operativo (SO) Windows varían según la versión del SO instalada en la instancia. En las siguientes secciones, utilizamos el diálogo **Ejecutar** para abrir las herramientas, que funciona igual en todas las versiones del sistema operativo. Sin embargo, puede acceder a estas herramientas utilizando el método que prefiera.

**Acceso al cuadro de diálogo Ejecutar**
+ Uso de la combinación de teclas del logotipo de Windows: `Windows` \$1 `R`
+ Utilizar la barra de búsqueda:
  + Escriba `run` en la barra de búsqueda.
  + Seleccione la aplicación **Ejecutar** de los resultados de la búsqueda.

Algunos pasos requieren el menú de contexto para acceder a las propiedades o acciones sensibles al contexto. Hay varias formas de hacerlo, según su versión y el hardware de su sistema operativo.

**Accede al menú de contexto**
+ Con el ratón: haga clic con el botón derecho en un elemento para abrir su menú de contexto.
+ Uso del teclado:
  + En función de la versión del sistema operativo, utilice `Shift` \$1 `F10`, o bien `Ctrl` \$1 `Shift` \$1 `F10`.
  + Si tiene la tecla de contexto en el teclado (tres líneas horizontales en un cuadro), seleccione el elemento que desee y, a continuación, presione la tecla de contexto.

Si puede conectarse a su instancia, utilice las siguientes técnicas para recopilar información de diagnóstico para solucionar problemas.

### Verificar el estado del dispositivo ENA
<a name="ts-ena-diagnostics-device-mgr"></a>

Para verificar el estado del controlador de Windows ENA mediante el administrador de dispositivos de Windows, siga estos pasos:

1. Abra el icono **Ejecutar** mediante alguno de los métodos descritos en la sección anterior.

1. Para abrir el administrador de dispositivos de Windows, ingrese `devmgmt.msc` en el cuadro **Run** (Ejecutar).

1. Seleccione **Aceptar**. Se abre la ventana del administrador de dispositivos.

1. Seleccione la flecha a la izquierda de **Adaptadores de red** para ampliar la lista.

1. Elija el nombre o abra el menú de contexto de **Amazon Elastic Network Adapter** y luego seleccione **Propiedades**. Se abre el cuadro de diálogo **Propiedades del adaptador de red elástico de Amazon**.

1. Compruebe que el mensaje de la pestaña **General** diga “Este dispositivo funciona correctamente”.

### Investigar mensajes de eventos del controlador
<a name="ts-ena-diagnostics-event-log"></a>

Para revisar los registros de eventos del controlador de Windows ENA mediante el lector de eventos de Windows, siga estos pasos:

1. Abra el icono **Run** (Ejecutar) mediante alguno de los métodos descritos en la sección anterior.

1. Para abrir el lector de eventos de Windows, ingrese `eventvwr.msc` en el cuadro **Ejecutar**.

1. Seleccione **Aceptar**. Se abrirá la ventana del lector de eventos.

1. Amplíe el menú **Registros de Windows** y, a continuación, elija **Sistema**.

1. En **Acciones**, en el panel superior derecho, elija **Filtrar registro actual**. Se muestra el cuadro de diálogo de filtrado.

1. En el cuadro **Orígenes de eventos**, ingrese `ena`. Esto limita los resultados a los eventos generados por el controlador de Windows ENA.

1. Seleccione **OK**. Muestra los resultados del registro de eventos filtrados en las secciones de detalles de la ventana.

1. Para obtener más detalles, seleccione un mensaje de evento de la lista.

En el siguiente ejemplo, se muestra un evento de controlador ENA en la lista de eventos del sistema del lector de eventos de Windows:

![\[Ejemplo: evento de controlador ENA que se muestra en la lista de mensajes del sistema del lector de eventos de Windows.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/ena-event-viewer-example.png)


#### Resumen de mensajes de evento
<a name="ts-ena-diagnostics-event-messages"></a>

En la tabla siguiente, se muestran los mensajes de eventos que genera el controlador de Windows ENA.


**Input**  

| ID de evento | Descripción del evento del controlador ENA | Tipo | 
| --- | --- | --- | 
| 5001 | El hardware no tiene recursos | Error | 
| 5002 | El adaptador ha detectado un error de hardware | Error | 
| 5005 | Se ha agotado el tiempo de espera del adaptador en el funcionamiento del NDIS que no se completó oportunamente | Error | 
| 5032 | El adaptador no ha podido restablecer el dispositivo | Error | 
| 5200 | Se ha inicializado el adaptador | Informativo | 
| 5201 | Se ha detenido el adaptador | Informativo | 
| 5202 | Se ha pausado el adaptador | Informativo | 
| 5203 | Se ha reiniciado el adaptador | Informativo | 
| 5204 | El adaptador se ha apagado | Informativo | 
| 5205 | Se ha restablecido el adaptador | Error | 
| 5206 | El adaptador ha sido eliminado sorpresivamente | Error | 
| 5208 | Error en la rutina de inicialización del adaptador | Error | 
| 5210 | El adaptador ha encontrado y recuperado correctamente un problema interno | Error | 

### Revisar las métricas de rendimiento
<a name="ts-ena-diagnostics-perf-metrics"></a>

El controlador ENA de Windows publica métricas de rendimiento de la red desde las instancias en las que están habilitadas. Puede ver y habilitar métricas en la instancia mediante la aplicación nativa Performance Monitor (Monitor de rendimiento). Para obtener más información acerca de las métricas que produce el controlador ENA para Windows, consulte [Supervisar el rendimiento de la red para ajustes ENA en la instancia de EC2](monitoring-network-performance-ena.md).

En los casos en que las métricas de ENA están habilitadas y el agente de Amazon CloudWatch está instalado, CloudWatch recopila las métricas asociadas a los contadores del Monitor de rendimiento de Windows, así como algunas métricas avanzadas para ENA. Estas métricas se recopilan además de las métricas habilitadas de forma predeterminada en las instancias de EC2. Para obtener más información acerca de las métricas, consulte [Métricas recopiladas por el agente de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html) en la *Guía del usuario de Amazon CloudWatch*.

**nota**  
Las métricas de rendimiento están disponibles para las versiones 2.4.0 y posteriores del controlador de ENA (también para la versión 2.2.3). La versión 2.2.4 del controlador de ENA se revirtió debido a la posible disminución del rendimiento en las instancias de EC2 de sexta generación. Le recomendamos que actualice a la versión actual del controlador para asegurarse de tener las últimas actualizaciones.

Algunas de las formas en las que puede utilizar las métricas de rendimiento incluyen:
+ Solucione problemas de rendimiento de instancias.
+ Elija el tamaño de instancia adecuado para una carga de trabajo.
+ Planifique de forma proactiva las actividades de escalado.
+ Aplicaciones de referencia para determinar si maximizan el rendimiento disponible en una instancia.

**Frecuencia de actualización**  
De forma predeterminada, el controlador actualiza las métricas mediante un intervalo de 1 segundo. Sin embargo, la aplicación que recupera las métricas podría utilizar un intervalo diferente para las encuestas. Puede cambiar el intervalo de actualización en el Administrador de dispositivos mediante las propiedades avanzadas del controlador.

Para cambiar el intervalo de actualización de métricas del controlador de Windows ENA, siga estos pasos:

1. Abra el icono **Run** (Ejecutar) mediante alguno de los métodos descritos en la sección anterior.

1. Para abrir el administrador de dispositivos de Windows, ingrese `devmgmt.msc` en el cuadro **Run** (Ejecutar).

1. Seleccione **Aceptar**. Se abre la ventana del administrador de dispositivos.

1. Seleccione la flecha a la izquierda de **Adaptadores de red** para ampliar la lista.

1. Elija el nombre o abra el menú de contexto de **Amazon Elastic Network Adapter** y luego seleccione **Propiedades**. Se abre el cuadro de diálogo **Propiedades del adaptador de red elástico de Amazon**.

1. Abra la pestaña **Avanzado** en la ventana emergente.

1. Desde la lista **Propiedades**, elija **Intervalo de actualización de métricas** para cambiar el valor.

1. Elija **Aceptar** cuando haya terminado.

## Investigar notificaciones de configuración subóptimas
<a name="ts-ena-win-sub-opt-config-notification"></a>

El dispositivo ENA detecta ajustes de configuración subóptimos en el controlador que usted puede cambiar. El dispositivo notifica al controlador ENA y registra una notificación de evento. Revisar los eventos subóptimos en el Visor de eventos de Windows

1. Abra el icono **Run** (Ejecutar) mediante alguno de los métodos descritos en la sección anterior.

1. Para abrir el lector de eventos de Windows, ingrese `eventvwr.msc` en el cuadro **Ejecutar**.

1. Seleccione **Aceptar**. Se abrirá la ventana del lector de eventos.

1. Amplíe el menú **Registros de Windows** y, a continuación, elija **Sistema**.

1. En **Acciones**, en el panel superior derecho, elija **Filtrar registro actual**. Se muestra el cuadro de diálogo de filtrado.

1. En el cuadro **Orígenes de eventos**, ingrese `ena`. Esto limita los resultados a los eventos generados por el controlador de Windows ENA.

1. Seleccione **Aceptar**. Muestra los resultados del registro de eventos filtrados en las secciones de detalles de la ventana.

Los eventos con `59000` ID le notifican los resultados de configuración que no son óptimos. Haga clic con el botón derecho en un evento y seleccione **Propiedades del evento** para abrir una vista detallada o **Panel de vista previa** en el menú **Ver** para ver el mismo detalle.

![\[Ejemplo: ID de evento de sistema 59000 que se muestra en el panel de vista previa del lector de eventos de Windows.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/ena-sub-opt-event-general.png)


Abra la pestaña **Detalles** para ver el código del evento. En la sección **Datos binarios: en palabras**, la última palabra es el código.

![\[Ejemplo: La última palabra de la sección de datos binarios aparece resaltada.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/ena-sub-opt-event-detail.png)


La siguiente lista muestra los detalles del código de la notificación y las acciones recomendadas en caso de que la configuración no sea óptima.
+ **Código `1`: no se recomienda el uso de ENA Express con una configuración de LLQ amplio**

  El ENI de ENA Express está configurado con un LLQ amplio. Esta configuración no es óptima y podría afectar al rendimiento de ENA Express. Le recomendamos que desactive la configuración de LLQ amplio cuando utilice los ENI de ENA Express de la siguiente manera.

  1. Para abrir el administrador de dispositivos de Windows, ingrese `devmgmt.msc` en el cuadro **Ejecutar**.

  1. Seleccione **Aceptar**. Se abre la ventana del administrador de dispositivos.

  1. Seleccione la flecha a la izquierda de **Adaptadores de red** para ampliar la lista.

  1. Abra las propiedades del dispositivo para `Amazon Elastic Network Adapter`.

  1. Desde ahí, abra la pestaña **Avanzado** para realizar los cambios.

  1. Seleccione la propiedad **LLQ Header Size Policy** y establezca su valor en `Normal (128 Bytes)`.

  1. Elija **Aceptar** para guardar los cambios.
+ **Código `2`: no se recomienda la ENI de ENA Express con una profundidad de cola de Tx inferior a la óptima**

  La ENI de ENA Express está configurada con una profundidad de cola de Tx inferior a la óptima. Esta configuración podría afectar al rendimiento de ENA Express. Le recomendamos que amplíe todas las colas de Tx al valor máximo para la interfaz de red cuando utilice las ENI de ENA Express de la siguiente manera.

  Siga estos pasos para aumentar las colas de Tx a la profundidad máxima:

  1. Para abrir el administrador de dispositivos de Windows, ingrese `devmgmt.msc` en el cuadro **Ejecutar**.

  1. Seleccione **Aceptar**. Se abre la ventana del administrador de dispositivos.

  1. Seleccione la flecha a la izquierda de **Adaptadores de red** para ampliar la lista.

  1. Abra las propiedades del dispositivo para `Amazon Elastic Network Adapter`.

  1. Desde ahí, abra la pestaña **Avanzado** para realizar los cambios.

  1. Seleccione la propiedad **Transmitir búferes** y establezca su valor en el máximo admitido.

  1. Elija **Aceptar** para guardar los cambios.

## Restablecimiento del adaptador ENA
<a name="ts-ena-drv-reset"></a>

El proceso de restablecimiento se inicia cuando el controlador de Windows ENA detecta un error en un adaptador y marca el adaptador como incorrecto. El controlador no puede restablecerse por sí mismo, por lo que depende del sistema operativo para verificar el estado del adaptador y llamar al identificador de restablecimiento del controlador de Windows ENA. El proceso de restablecimiento podría dar lugar a un breve periodo en el que se produce una pérdida de tráfico. Sin embargo, las conexiones TCP deberían poder recuperarse.

El adaptador ENA también puede solicitar indirectamente un procedimiento de restablecimiento del dispositivo, al no enviar una notificación de mantenimiento. Por ejemplo, si el adaptador ENA llega a un estado desconocido después de cargar una configuración irrecuperable, podría dejar de enviar notificaciones persistentes.

**Causas comunes para restablecer el adaptador ENA**
+ Faltan mensajes persistentes

  El adaptador ENA publica eventos persistentes a intervalos establecidos (por lo general una vez por segundo). El controlador de Windows ENA implementa un mecanismo watchdog para verificar periódicamente la presencia de estos mensajes persistentes. Si detecta uno o más mensajes nuevos desde la última vez que lo verificó, registra un resultado satisfactorio. De lo contrario, el controlador concluye que el dispositivo ha sufrido un error e inicia una secuencia de restablecimiento.
+ Los paquetes están atascados en las colas de transmisión

  El adaptador ENA verifica que los paquetes fluyan a través de las colas de transmisión según lo esperado. El controlador de Windows ENA detecta si los paquetes se atascan e inicia una secuencia de restablecimiento si esto sucede.
+ Tiempo de espera de lectura para los registros de E/S asignadas para memoria (MMIO)

  A fin de limitar las operaciones de lectura de E/S asignadas para memoria (MMIO), el controlador de Windows ENA accede a los registros MMIO solo durante los procesos de inicialización y restablecimiento. Si el controlador detecta un tiempo de espera, se lleva a cabo una de las siguientes acciones, según el proceso que se esté ejecutando:
  + Si se detecta un tiempo de espera durante la inicialización, el flujo falla, lo que hace que el controlador muestre un signo de exclamación amarillo junto al adaptador ENA en el Administrador de dispositivos de Windows.
  + Si se detecta un tiempo de espera durante el restablecimiento, el flujo falla. A continuación, el sistema operativo inicia una eliminación sorpresa del adaptador ENA y lo recupera al detener e iniciar el adaptador que se eliminó. Para obtener más información sobre la eliminación sorpresa de una tarjeta de interfaz de red (NIC), consulte [Manejo de la eliminación sorpresa de una NIC](https://learn.microsoft.com/en-us/windows-hardware/drivers/network/handling-the-surprise-removal-of-a-nic) en la documentación para el *Desarrollador de hardware de Microsoft Windows*.

## Escenarios de solución de problemas
<a name="ts-ena-drv-scenarios"></a>

Los siguientes escenarios pueden ayudarlo a solucionar problemas que pudieran surgir con el controlador de Windows ENA. Le recomendamos que comience con la actualización del controlador ENA, si no tiene la última versión. Para encontrar el controlador más reciente para la versión del sistema operativo Windows, consulte [Seguimiento del lanzamiento de la versión del controlador de Windows de ENA](ena-driver-releases-windows.md).

### Versión inesperada del controlador ENA instalado
<a name="ts-ena-drv-sc-unexpected-vsn"></a>

#### Descripción
<a name="ts-ena-drv-sc-unexpected-vsn-descr"></a>

Tras seguir los pasos para instalar una versión específica del controlador ENA, el Administrador de dispositivos de Windows muestra que Windows ha instalado una versión diferente del controlador ENA.

#### Causa
<a name="ts-ena-drv-sc-unexpected-vsn-cause"></a>

Al ejecutar la instalación de un paquete de controladores, Windows clasifica todos los paquetes de controladores válidos para el dispositivo determinado en el [almacén de controladores](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/driver-store) local antes de que comience. A continuación, seleccione el paquete con el valor de clasificación más bajo como el que mejor coincide. Puede ser diferente del paquete que pretendía instalar. Para obtener más información sobre el proceso de selección de paquetes de controladores de dispositivos, consulte [Cómo selecciona Windows un paquete de controladores para un dispositivo](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/how-windows-selects-a-driver-for-a-device) en el *sitio web de documentación de Microsoft*.

#### Solución
<a name="ts-ena-drv-sc-unexpected-vsn-solution"></a>

Para asegurarse de que Windows instale la versión del paquete de controladores que haya elegido, puede eliminar los paquetes de controladores de menor rango de la Tienda de controladores con la herramienta de línea de comandos [PNPUtil](https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/pnputil).

Para actualizar el controlador ENA, siga estos pasos:

1. Conéctese a la instancia e inicie sesión como administrador local.

1. Abra la ventana de propiedades del Administrador de dispositivos, tal como se describe en la sección [Verificar el estado del dispositivo ENA](#ts-ena-diagnostics-device-mgr). Se abre la pestaña **General** de la ventana **Propiedades del adaptador de red elástico de Amazon**.

1. Abra la pestaña **Controlador**.

1. Elija **Actualizar controlador**. Se abre el cuadro de diálogo **Actualizar el software del controlador: adaptador de red elástico de Amazon**.

   1. En la página **¿Cómo desea buscar el software de controlador?**, elija **Buscar software de controlador en el equipo**.

   1. En la página **Buscar el software del controlador en su ordenador**, seleccione **Déjame elegir de la lista de controladores de dispositivos de mi equipo**, que se encuentra debajo de la barra de búsqueda.

   1. En la página **Seleccionar el controlador de dispositivo que desea instalar para este equipo**, elija **Tener disco...**.

   1. En la ventana **Instalar desde disco**, seleccione **Examinar...** , junto a la ubicación del archivo en el menú desplegable.

   1. Navegue hasta la ubicación en la que descargó el paquete de controladores ENA de destino. Seleccione el archivo nombrado `ena.inf` y elija **Abrir**.

   1. Para iniciar la instalación, seleccione **Aceptar** y, a continuación, seleccione **Siguiente**.

1. Si el instalador no reinicia automáticamente la instancia, ejecute el cmdlet de PowerShell **Restart-Computer**.

   ```
   PS C:\> Restart-Computer
   ```

### Advertencia de dispositivo para el controlador ENA
<a name="ts-ena-drv-sc-device-warn"></a>

#### Descripción
<a name="ts-ena-drv-sc-device-warn-descr"></a>

El icono del adaptador ENA en la sección **Adaptadores de red** del Administrador de dispositivos muestra un signo de advertencia (un triángulo amarillo con un signo de exclamación en su interior).

En el siguiente ejemplo, se muestra un adaptador ENA con el icono de advertencia del Administrador de dispositivos de Windows:

![\[Ejemplo: adaptador ENA con el icono de advertencia del Administrador de dispositivos de Windows.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/ena-adapter-device-mgr-warn.png)


#### Causa
<a name="ts-ena-drv-sc-device-warn-cause"></a>

Esta advertencia de dispositivo suele deberse a problemas de entorno, que pueden requerir más investigación y, a menudo, requerir un proceso de eliminación para determinar la causa subyacente. Para obtener una lista completa de los errores de dispositivo, consulte [Mensajes de error del Administrador de dispositivos](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/device-manager-error-messages) en la documentación de Microsoft.

#### Solución
<a name="ts-ena-drv-sc-device-warn-solution"></a>

La solución para la advertencia de este dispositivo depende de la causa raíz. El proceso de eliminación descrito aquí incluye algunos pasos básicos para ayudar a identificar y resolver los problemas más comunes que podrían tener una solución sencilla. Se requiere un análisis de causa raíz adicional cuando estos pasos no resuelven el problema.

Siga estos pasos para ayudar a identificar y resolver problemas comunes:

1. 

**Detener e iniciar el dispositivo**

   Abra la ventana de propiedades del Administrador de dispositivos, tal como se describe en la sección [Verificar el estado del dispositivo ENA](#ts-ena-diagnostics-device-mgr). Se abre la pestaña **General** de la ventana **Propiedades de Amazon Elastic Network Adapter**, donde **Estado del dispositivo** muestra el código de error y un mensaje breve.

   1. Abra la pestaña **Driver** (Controlador).

   1. Elija **Desactivar dispositivo** y responda **Sí** al mensaje de advertencia que aparecerá.

   1. Elija **Habilitar dispositivo**.

1. 

**Detenga e inicie la instancia de EC2**

   Si el adaptador sigue mostrando el icono de advertencia en el Administrador de dispositivos, el siguiente paso es detener e iniciar la instancia de EC2. Esto vuelve a iniciar la instancia en un hardware diferente en la mayoría de los casos.

1. 

**Investigar el posible problema de los recursos de instancia**

   Si ha detenido e iniciado la instancia de EC2 y el problema continúa, esto podría indicar un problema de recursos en la instancia, como memoria insuficiente.

### Tiempo de espera de conexión con el restablecimiento del adaptador (códigos de error 5007, 5205)
<a name="ts-ena-drv-sc-conn"></a>

#### Descripción
<a name="ts-ena-drv-sc-conn-descr"></a>

El lector de eventos Windows muestra el tiempo de espera del adaptador y los eventos de restablecimiento que se producen en conjunto para los adaptadores ENA. Los mensajes se parecen a los siguientes ejemplos:
+ **ID de evento 5007**: Amazon Elastic Network Adapter: se ha agotado el tiempo de espera durante una operación.
+ **ID de evento 5205**: Amazon Elastic Network Adapter: se ha iniciado el restablecimiento del adaptador.

Reestablecer el adaptador provoca una interrupción mínima del tráfico. Incluso cuando haya varios reinicios, sería inusual que provocaran cualquier interrupción grave de la red.

#### Causa
<a name="ts-ena-drv-sc-conn-cause"></a>

Esta secuencia de eventos indica que el controlador de Windows ENA inició un restablecimiento de un adaptador ENA que no respondía. Sin embargo, el mecanismo que utiliza el controlador de dispositivo para detectar este problema está sujeto a falsos positivos como resultado de la falta de CPU 0.

#### Solución
<a name="ts-ena-drv-sc-conn-solution"></a>

Si esta combinación de errores se produce con frecuencia, verifique las asignaciones de recursos para ver dónde pueden resultar útiles hacer ajustes.

1. Abra el icono **Run** (Ejecutar) mediante alguno de los métodos descritos en la sección anterior.

1. Para abrir el Monitor de recursos de Windows, ingrese `resmon` en el cuadro **Ejecutar**.

1. Seleccione **Aceptar**. Se abre la ventana del Monitor de recursos.

1. Abra la pestaña **CPU**. Los gráficos de uso por CPU se muestran en el lado derecho de la ventana del Monitor de recursos.

1. Verifique los niveles de uso de la CPU 0 para ver si son demasiado altos.

Recomendamos configurar RSS a fin de excluir la CPU 0 para el adaptador ENA en tipos de instancias más grandes (más de 16 vCPU). Para los tipos de instancias más pequeños, la configuración de RSS podría mejorar la experiencia. Sin embargo, dado que hay menos núcleos disponibles, es necesario realizar pruebas para garantizar que la restricción de los núcleos de CPU no afecte negativamente al rendimiento.

Utilice el comando **Set-NetAdapterRss** a fin de configurar RSS para el adaptador ENA, tal y como se muestra en el ejemplo siguiente.

```
Set-NetAdapterRss -name (Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*Elastic*"}).Name -Baseprocessorgroup 0 -BaseProcessorNumber 1
```

### La migración a una infraestructura de instancias de sexta generación afecta al rendimiento o la conexión
<a name="ts-ena-drv-6gen-instance-perf"></a>

#### Descripción
<a name="ts-ena-drv-6gen-instance-perf-descr"></a>

Si migra a una instancia de EC2 de sexta generación, es posible que experimente una reducción en el rendimiento o errores en los datos adjuntos de ENA si no ha actualizado la versión del controlador de Windows ENA.

#### Causa
<a name="ts-ena-drv-6gen-instance-perf-cause"></a>

Los tipos de instancias de EC2 de sexta generación requieren la siguiente versión mínima del controlador de ENA para Windows, según el sistema operativo (SO) de la instancia.


**Versión mínima**  

| Versión de Windows Server | Versión del controlador ENA | 
| --- | --- | 
|  Windows Server 2008 R2  |  2.2.3 o 2.4.0  | 
|  Windows Server 2012 y versiones posteriores  |  2.2.3 y versiones posteriores  | 
|  Estación de trabajo Windows  |  2.2.3 y versiones posteriores  | 

#### Solución
<a name="ts-ena-drv-6gen-instance-perf-solution"></a>

Antes de actualizar a una instancia de EC2 de sexta generación, asegúrese de que la AMI desde la que inicie tenga controladores compatibles según el SO de la instancia, como se muestra en la tabla anterior. Para obtener más información, consulte [¿Qué debo hacer antes de migrar mi instancia de EC2 a una instancia de sexta generación para asegurarme de obtener el máximo rendimiento de la red?](https://repost.aws/knowledge-center/migrate-to-gen6-ec2-instance) en el *Centro de conocimiento de AWS re:Post*.

### Rendimiento inferior al óptimo de la interfaz de red elástica
<a name="ts-ena-drv-interface-perf"></a>

#### Descripción
<a name="ts-ena-drv-interface-perf-descr"></a>

La interfaz ENA no tiene el rendimiento esperado.

#### Causa
<a name="ts-ena-drv-interface-perf-cause"></a>

El análisis de causa raíz de los problemas de rendimiento es un proceso de eliminación. Hay demasiadas variables involucradas para identificar una causa común.

#### Solución
<a name="ts-ena-drv-interface-perf-solution"></a>

El primer paso del análisis de causa raíz es revisar la información de diagnóstico de la instancia que no funciona según lo esperado, con el fin de determinar si hay errores que podrían estar causando el problema. Para obtener más información, consulte la sección [Recopilar información de diagnóstico de la instancia](#ts-ena-drv-collect-diagnostics).

Para conseguir el máximo rendimiento de red en instancias con redes mejoradas, es posible que necesite modificar la configuración predeterminada del sistema operativo. Otras optimizaciones (como activar la descarga de la suma de comprobación y habilitar RSS, por ejemplo) ya están en marcha en las AMI oficiales de Windows de forma predeterminada. Para obtener otras optimizaciones que puede aplicar al adaptador ENA, consulte los ajustes de rendimiento que se muestran en [Ajustes de rendimiento del adaptador ENA](#ts-ena-drv-perf-adj).

Le recomendamos que proceda con precaución y limite los ajustes de propiedades del dispositivo a los que se enumeran en esta sección, o a los cambios específicos recomendados por el equipo de soporte de AWS.

Para cambiar las propiedades del adaptador ENA, siga estos pasos:

1. Abra el icono **Run** (Ejecutar) mediante alguno de los métodos descritos en la sección anterior.

1. Para abrir el administrador de dispositivos de Windows, ingrese `devmgmt.msc` en el cuadro **Run** (Ejecutar).

1. Seleccione **Aceptar**. Se abre la ventana del administrador de dispositivos.

1. Seleccione la flecha a la izquierda de **Adaptadores de red** para ampliar la lista.

1. Elija el nombre o abra el menú de contexto de **Amazon Elastic Network Adapter** y luego seleccione **Propiedades**. Se abre el cuadro de diálogo **Propiedades del adaptador de red elástico de Amazon**.

1. Para realizar los cambios, abra la pestaña **Avanzado**.

1. Cuando haya terminado, elija **Aceptar** para guardar los cambios.

El siguiente ejemplo, se muestra una propiedad del adaptador ENA en el Administrador de dispositivo de Windows:

![\[Ejemplo: propiedad del adaptador ENA en el Administrador de dispositivo de Windows.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/ena-adapter-device-mgr-property.png)


##### Ajustes de rendimiento del adaptador ENA
<a name="ts-ena-drv-perf-adj"></a>

La tabla siguiente incluye propiedades que se pueden ajustar para mejorar el rendimiento de la interfaz ENA.


**Input**  

| Propiedad | Descripción | Predeterminado | Ajuste | 
| --- | --- | --- | --- | 
|  Búferes de recepción  |  Controla el número de entradas de las colas de recepción de software.  |  1024  |  Se puede aumentar hasta un máximo de 8192.  | 
|  Escala lateral de recepción (RSS)  |  Permite la distribución eficiente del procesamiento de recepción de red en varias CPU de sistemas multiprocesador.  |  Habilitado  |  Puede distribuir la carga entre varios procesadores. Para obtener más información, consulte [Optimizar el rendimiento de la red en instancias de Windows de EC2](enhanced-networking-os.md).  | 
|  Número máximo de colas RSS  |  Establece el número máximo de colas RSS permitidas cuando `RSS` está habilitado.  |  32  |  El número de colas RSS se determina durante la inicialización del controlador e incluye las siguientes limitaciones (entre otras): [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/troubleshoot-ena-driver.html) Puede establecer el valor del 1 al 32, según los límites de generación de hardware y instancia. Para obtener más información, consulte [Optimizar el rendimiento de la red en instancias de Windows de EC2](enhanced-networking-os.md).  | 
|  Paquete gigante  |  Permite el uso de tramas ethernet gigantes (más de 1500 bytes de carga útil).  |  Deshabilitado (limita la carga útil a 1500 bytes o menos)  |  El valor se puede configurar en `9015`, que se traduce en 9001 bytes de carga útil. Esta es la carga útil máxima para tramas ethernet gigantes. Consulte [Consideraciones para utilizar tramas ethernet gigantes](#ts-ena-drv-jumbo-frames).  | 

##### Consideraciones para utilizar tramas ethernet gigantes
<a name="ts-ena-drv-jumbo-frames"></a>

Las tramas gigantes permiten más de 1500 bytes de datos al aumentar el tamaño de la carga por paquete, lo que aumenta el porcentaje del paquete que no supone una sobrecarga del paquete. De este modo, se necesitan menos paquetes para enviar la misma cantidad de datos utilizables. Sin embargo, el tráfico está limitado a una MTU máxima de 1500 en los siguientes casos:
+ Tráfico fuera de una región de AWS determinada para EC2 Classic.
+ Tráfico fuera de una única VPC.
+ Tráfico a través de un emparejamiento de VPC entre regiones.
+ Tráfico a través de conexiones de VPN.
+ Tráfico a través de una puerta de enlace de Internet.

**nota**  
Los paquetes de más de 1500 bytes están fragmentados. Si tiene el indicador `Don't Fragment` establecido en el encabezado IP, estos paquetes se eliminan.  
Las tramas gigantes se deben utilizar con precaución para el tráfico vinculado a Internet o cualquier tráfico que provenga de una VPC. Los paquetes son fragmentados por sistemas intermedios, lo que ralentiza el tráfico. Para utilizar tramas gigantes dentro de una VPC sin afectar al tráfico saliente que proviene de la VPC, prueba una de las siguientes opciones:  
Configure el tamaño de la MTU por ruta.
Utilice varias interfaces de red con distintos tamaños de MTU y rutas diferentes.

**Casos de uso recomendados para tramas gigantes**  
Las tramas gigantes pueden ser útiles para el tráfico dentro de las VPC y entre ellas. Recomendamos utilizar tramas gigantes para los siguientes casos de uso:
+ En el caso de las instancias que se colocan dentro de un grupo con ubicación en clúster, las tramas gigantes ayudan a obtener el máximo rendimiento de red posible. Para obtener más información, consulte [Grupos de ubicación para instancias de Amazon EC2](placement-groups.md).
+ Puede utilizar tramas gigantes para el tráfico entre las VPC y las redes locales a través de Direct Connect. Para obtener más información sobre el uso de Direct Connect y la verificación de la capacidad de tramas jumbo, consulte [MTU para interfaces virtuales privadas o interfaces virtuales de tránsito](https://docs.aws.amazon.com/directconnect/latest/UserGuide/WorkingWithVirtualInterfaces.html#set-jumbo-frames-vif.html) en la *Guía del usuario de Direct Connect*.
+ Para obtener más información acerca de los tamaños de MTU admitidos para puertas de enlace de tránsito, consulte [Cuotas para sus puertas de enlace de tránsito](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-quotas.html#mtu-quota) en *Puertas de enlace de tránsito de Amazon VPC*.

# Mejorar el rendimiento de la red entre las instancias de EC2 con ENA Express
<a name="ena-express"></a>

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 en la misma zona de disponibilidad.

**Ventajas de ENA Express**
+ Aumenta el ancho de banda máximo que puede utilizar un único flujo de 5 Gbps hasta 25 Gbps en la zona de disponibilidad, 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](enhanced-networking.md) podría ser una mejor opción para su red.
El tráfico de ENA Express no puede enviarse en una zona local.

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.

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 se pueden beneficiar del aumento del ancho de banda máximo de flujo único de 5 Gbps hasta 25 Gbps dentro de la misma zona de disponibilidad, 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.

**Topics**
+ [

## Cómo funciona ENA Express
](#ena-express-how-it-works)
+ [

## Tipos de instancia compatibles con ENA Express
](#ena-express-supported-instance-types)
+ [

## Requisitos previos para instancias de Linux
](#ena-express-prereq-linux)
+ [

## Ajuste el rendimiento de la configuración de ENA Express en la instancia de Linux
](#ena-express-tune)
+ [

# Revise los ajustes de ENA Express para su instancia de EC2
](ena-express-list-view.md)
+ [

# Configurar los ajustes de ENA Express para su instancia de EC2
](ena-express-configure.md)

## Cómo funciona ENA Express
<a name="ena-express-how-it-works"></a>

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](#ena-express-supported-instance-types).
+ 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**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/ena-express.html)

  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 zona de disponibilidad.
+ La ruta de red entre las instancias no debe incluir cajas de middleware. ENA Express no admite actualmente cajas de middleware.
+ (Solo instancias de Linux) Para aprovechar todo el potencial del ancho de banda, utilice la versión 2.2.9 o superior del controlador.
+ (Solo instancias de Linux) 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](https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/ENA_Linux_Best_Practices.rst) 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.

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 obtener más información sobre las métricas de ENA Express, consulte [Métricas para ENA Express](monitoring-network-performance-ena.md#network-performance-metrics-ena-express).

## Tipos de instancia compatibles con ENA Express
<a name="ena-express-supported-instance-types"></a>

Los siguientes tipos de instancia son compatibles con ENA Express.

------
#### [ General purpose ]


| Tipo de instancia | Arquitectura | 
| --- | --- | 
| m6a.12xlarge | x86\$164 | 
| m6a.16xlarge | x86\$164 | 
| m6a.24xlarge | x86\$164 | 
| m6a.32xlarge | x86\$164 | 
| m6a.48xlarge | x86\$164 | 
| m6a.metal | x86\$164 | 
| m6i.8xlarge | x86\$164 | 
| m6i.12xlarge | x86\$164 | 
| m6i.16xlarge | x86\$164 | 
| m6i.24xlarge | x86\$164 | 
| m6i.32xlarge | x86\$164 | 
| m6i.metal | x86\$164 | 
| m6id.8xlarge | x86\$164 | 
| m6id.12xlarge | x86\$164 | 
| m6id.16xlarge | x86\$164 | 
| m6id.24xlarge | x86\$164 | 
| m6id.32xlarge | x86\$164 | 
| m6id.metal | x86\$164 | 
| m6idn.8xlarge | x86\$164 | 
| m6idn.12xlarge | x86\$164 | 
| m6idn.16xlarge | x86\$164 | 
| m6idn.24xlarge | x86\$164 | 
| m6idn.32xlarge | x86\$164 | 
| m6idn.metal | x86\$164 | 
| m6in.8xlarge | x86\$164 | 
| m6in.12xlarge | x86\$164 | 
| m6in.16xlarge | x86\$164 | 
| m6in.24xlarge | x86\$164 | 
| m6in.32xlarge | x86\$164 | 
| m6in.metal | x86\$164 | 
| m7a.12xlarge | x86\$164 | 
| m7a.16xlarge | x86\$164 | 
| m7a.24xlarge | x86\$164 | 
| m7a.32xlarge | x86\$164 | 
| m7a.48xlarge | x86\$164 | 
| m7a.metal-48xl | x86\$164 | 
| m7g.12xlarge | arm64 | 
| m7g.16xlarge | arm64 | 
| m7g.metal | arm64 | 
| m7gd.12xlarge | arm64 | 
| m7gd.16xlarge | arm64 | 
| m7gd.metal | arm64 | 
| m7i.12xlarge | x86\$164 | 
| m7i.16xlarge | x86\$164 | 
| m7i.24xlarge | x86\$164 | 
| m7i.48xlarge | x86\$164 | 
| m7i.metal-24xl | x86\$164 | 
| m7i.metal-48xl | x86\$164 | 
| m8a.16xlarge | x86\$164 | 
| m8a.24xlarge | x86\$164 | 
| m8a.48xlarge | x86\$164 | 
| m8a.metal-24xl | x86\$164 | 
| m8a.metal-48xl | x86\$164 | 
| m8azn.12xlarge | x86\$164 | 
| m8azn.24xlarge | x86\$164 | 
| m8azn.metal-12xl | x86\$164 | 
| m8azn.metal-24xl | x86\$164 | 
| m8g.12xlarge | arm64 | 
| m8g.16xlarge | arm64 | 
| m8g.24xlarge | arm64 | 
| m8g.48xlarge | arm64 | 
| m8g.metal-24xl | arm64 | 
| m8g.metal-48xl | arm64 | 
| m8gb.8xlarge | arm64 | 
| m8gb.12xlarge | arm64 | 
| m8gb.16xlarge | arm64 | 
| m8gb.24xlarge | arm64 | 
| m8gb.48xlarge | arm64 | 
| m8gb.metal-24xl | arm64 | 
| m8gb.metal-48xl | arm64 | 
| m8gd.12xlarge | arm64 | 
| m8gd.16xlarge | arm64 | 
| m8gd.24xlarge | arm64 | 
| m8gd.48xlarge | arm64 | 
| m8gd.metal-24xl | arm64 | 
| m8gd.metal-48xl | arm64 | 
| m8gn.8xlarge | arm64 | 
| m8gn.12xlarge | arm64 | 
| m8gn.16xlarge | arm64 | 
| m8gn.24xlarge | arm64 | 
| m8gn.48xlarge | arm64 | 
| m8gn.metal-24xl | arm64 | 
| m8gn.metal-48xl | arm64 | 
| m8i.24xlarge | x86\$164 | 
| m8i.32xlarge | x86\$164 | 
| m8i.48xlarge | x86\$164 | 
| m8i.96xlarge | x86\$164 | 
| m8i.metal-48xl | x86\$164 | 
| m8i.metal-96xl | x86\$164 | 
| m8id.24xlarge | x86\$164 | 
| m8id.32xlarge | x86\$164 | 
| m8id.48xlarge | x86\$164 | 
| m8id.96xlarge | x86\$164 | 
| m8id.metal-48xl | x86\$164 | 
| m8id.metal-96xl | x86\$164 | 

------
#### [ Compute optimized ]


| Tipo de instancia | Arquitectura | 
| --- | --- | 
| c6a.12xlarge | x86\$164 | 
| c6a.16xlarge | x86\$164 | 
| c6a.24xlarge | x86\$164 | 
| c6a.32xlarge | x86\$164 | 
| c6a.48xlarge | x86\$164 | 
| c6a.metal | x86\$164 | 
| c6gn.4xlarge | arm64 | 
| c6gn.8xlarge | arm64 | 
| c6gn.12xlarge | arm64 | 
| c6gn.16xlarge | arm64 | 
| c6i.8xlarge | x86\$164 | 
| c6i.12xlarge | x86\$164 | 
| c6i.16xlarge | x86\$164 | 
| c6i.24xlarge | x86\$164 | 
| c6i.32xlarge | x86\$164 | 
| c6i.metal | x86\$164 | 
| c6id.8xlarge | x86\$164 | 
| c6id.12xlarge | x86\$164 | 
| c6id.16xlarge | x86\$164 | 
| c6id.24xlarge | x86\$164 | 
| c6id.32xlarge | x86\$164 | 
| c6id.metal | x86\$164 | 
| c6in.8xlarge | x86\$164 | 
| c6in.12xlarge | x86\$164 | 
| c6in.16xlarge | x86\$164 | 
| c6in.24xlarge | x86\$164 | 
| c6in.32xlarge | x86\$164 | 
| c6in.metal | x86\$164 | 
| c7a.12xlarge | x86\$164 | 
| c7a.16xlarge | x86\$164 | 
| c7a.24xlarge | x86\$164 | 
| c7a.32xlarge | x86\$164 | 
| c7a.48xlarge | x86\$164 | 
| c7a.metal-48xl | x86\$164 | 
| c7g.12xlarge | arm64 | 
| c7g.16xlarge | arm64 | 
| c7g.metal | arm64 | 
| c7gd.12xlarge | arm64 | 
| c7gd.16xlarge | arm64 | 
| c7gd.metal | arm64 | 
| c7gn.4xlarge | arm64 | 
| c7gn.8xlarge | arm64 | 
| c7gn.12xlarge | arm64 | 
| c7gn.16xlarge | arm64 | 
| c7gn.metal | arm64 | 
| c7i.12xlarge | x86\$164 | 
| c7i.16xlarge | x86\$164 | 
| c7i.24xlarge | x86\$164 | 
| c7i.48xlarge | x86\$164 | 
| c7i.metal-24xl | x86\$164 | 
| c7i.metal-48xl | x86\$164 | 
| c8a.16xlarge | x86\$164 | 
| c8a.24xlarge | x86\$164 | 
| c8a.48xlarge | x86\$164 | 
| c8a.metal-24xl | x86\$164 | 
| c8a.metal-48xl | x86\$164 | 
| c8g.12xlarge | arm64 | 
| c8g.16xlarge | arm64 | 
| c8g.24xlarge | arm64 | 
| c8g.48xlarge | arm64 | 
| c8g.metal-24xl | arm64 | 
| c8g.metal-48xl | arm64 | 
| c8gb.8xlarge | arm64 | 
| c8gb.12xlarge | arm64 | 
| c8gb.16xlarge | arm64 | 
| c8gb.24xlarge | arm64 | 
| c8gb.48xlarge | arm64 | 
| c8gb.metal-24xl | arm64 | 
| c8gb.metal-48xl | arm64 | 
| c8gd.12xlarge | arm64 | 
| c8gd.16xlarge | arm64 | 
| c8gd.24xlarge | arm64 | 
| c8gd.48xlarge | arm64 | 
| c8gd.metal-24xl | arm64 | 
| c8gd.metal-48xl | arm64 | 
| c8gn.8xlarge | arm64 | 
| c8gn.12xlarge | arm64 | 
| c8gn.16xlarge | arm64 | 
| c8gn.24xlarge | arm64 | 
| c8gn.48xlarge | arm64 | 
| c8gn.metal-24xl | arm64 | 
| c8gn.metal-48xl | arm64 | 
| c8i.24xlarge | x86\$164 | 
| c8i.32xlarge | x86\$164 | 
| c8i.48xlarge | x86\$164 | 
| c8i.96xlarge | x86\$164 | 
| c8i.metal-48xl | x86\$164 | 
| c8i.metal-96xl | x86\$164 | 
| c8id.24xlarge | x86\$164 | 
| c8id.32xlarge | x86\$164 | 
| c8id.48xlarge | x86\$164 | 
| c8id.96xlarge | x86\$164 | 
| c8id.metal-48xl | x86\$164 | 
| c8id.metal-96xl | x86\$164 | 

------
#### [ Memory optimized ]


| Tipo de instancia | Arquitectura | 
| --- | --- | 
| r6a.12xlarge | x86\$164 | 
| r6a.16xlarge | x86\$164 | 
| r6a.24xlarge | x86\$164 | 
| r6a.32xlarge | x86\$164 | 
| r6a.48xlarge | x86\$164 | 
| r6a.metal | x86\$164 | 
| r6i.8xlarge | x86\$164 | 
| r6i.12xlarge | x86\$164 | 
| r6i.16xlarge | x86\$164 | 
| r6i.24xlarge | x86\$164 | 
| r6i.32xlarge | x86\$164 | 
| r6i.metal | x86\$164 | 
| r6id.8xlarge | x86\$164 | 
| r6id.12xlarge | x86\$164 | 
| r6id.16xlarge | x86\$164 | 
| r6id.24xlarge | x86\$164 | 
| r6id.32xlarge | x86\$164 | 
| r6id.metal | x86\$164 | 
| r6idn.8xlarge | x86\$164 | 
| r6idn.12xlarge | x86\$164 | 
| r6idn.16xlarge | x86\$164 | 
| r6idn.24xlarge | x86\$164 | 
| r6idn.32xlarge | x86\$164 | 
| r6idn.metal | x86\$164 | 
| r6in.8xlarge | x86\$164 | 
| r6in.12xlarge | x86\$164 | 
| r6in.16xlarge | x86\$164 | 
| r6in.24xlarge | x86\$164 | 
| r6in.32xlarge | x86\$164 | 
| r6in.metal | x86\$164 | 
| r7a.12xlarge | x86\$164 | 
| r7a.16xlarge | x86\$164 | 
| r7a.24xlarge | x86\$164 | 
| r7a.32xlarge | x86\$164 | 
| r7a.48xlarge | x86\$164 | 
| r7a.metal-48xl | x86\$164 | 
| r7g.12xlarge | arm64 | 
| r7g.16xlarge | arm64 | 
| r7g.metal | arm64 | 
| r7gd.12xlarge | arm64 | 
| r7gd.16xlarge | arm64 | 
| r7gd.metal | arm64 | 
| r7i.12xlarge | x86\$164 | 
| r7i.16xlarge | x86\$164 | 
| r7i.24xlarge | x86\$164 | 
| r7i.48xlarge | x86\$164 | 
| r7i.metal-24xl | x86\$164 | 
| r7i.metal-48xl | x86\$164 | 
| r7iz.8xlarge | x86\$164 | 
| r7iz.12xlarge | x86\$164 | 
| r7iz.16xlarge | x86\$164 | 
| r7iz.32xlarge | x86\$164 | 
| r7iz.metal-16xl | x86\$164 | 
| r7iz.metal-32xl | x86\$164 | 
| r8a.16xlarge | x86\$164 | 
| r8a.24xlarge | x86\$164 | 
| r8a.48xlarge | x86\$164 | 
| r8a.metal-24xl | x86\$164 | 
| r8a.metal-48xl | x86\$164 | 
| r8g.12xlarge | arm64 | 
| r8g.16xlarge | arm64 | 
| r8g.24xlarge | arm64 | 
| r8g.48xlarge | arm64 | 
| r8g.metal-24xl | arm64 | 
| r8g.metal-48xl | arm64 | 
| r8gb.8xlarge | arm64 | 
| r8gb.12xlarge | arm64 | 
| r8gb.16xlarge | arm64 | 
| r8gb.24xlarge | arm64 | 
| r8gb.48xlarge | arm64 | 
| r8gb.metal-24xl | arm64 | 
| r8gb.metal-48xl | arm64 | 
| r8gd.12xlarge | arm64 | 
| r8gd.16xlarge | arm64 | 
| r8gd.24xlarge | arm64 | 
| r8gd.48xlarge | arm64 | 
| r8gd.metal-24xl | arm64 | 
| r8gd.metal-48xl | arm64 | 
| r8gn.8xlarge | arm64 | 
| r8gn.12xlarge | arm64 | 
| r8gn.16xlarge | arm64 | 
| r8gn.24xlarge | arm64 | 
| r8gn.48xlarge | arm64 | 
| r8gn.metal-24xl | arm64 | 
| r8gn.metal-48xl | arm64 | 
| r8i.24xlarge | x86\$164 | 
| r8i.32xlarge | x86\$164 | 
| r8i.48xlarge | x86\$164 | 
| r8i.96xlarge | x86\$164 | 
| r8i.metal-48xl | x86\$164 | 
| r8i.metal-96xl | x86\$164 | 
| r8id.24xlarge | x86\$164 | 
| r8id.32xlarge | x86\$164 | 
| r8id.48xlarge | x86\$164 | 
| r8id.96xlarge | x86\$164 | 
| r8id.metal-48xl | x86\$164 | 
| r8id.metal-96xl | x86\$164 | 
| u7i-6tb.112xlarge | x86\$164 | 
| u7i-8tb.112xlarge | x86\$164 | 
| u7i-12tb.224xlarge | x86\$164 | 
| u7in-16tb.224xlarge | x86\$164 | 
| u7in-24tb.224xlarge | x86\$164 | 
| u7in-32tb.224xlarge | x86\$164 | 
| u7inh-32tb.480xlarge | x86\$164 | 
| x2idn.16xlarge | x86\$164 | 
| x2idn.24xlarge | x86\$164 | 
| x2idn.32xlarge | x86\$164 | 
| x2idn.metal | x86\$164 | 
| x2iedn.8xlarge | x86\$164 | 
| x2iedn.16xlarge | x86\$164 | 
| x2iedn.24xlarge | x86\$164 | 
| x2iedn.32xlarge | x86\$164 | 
| x2iedn.metal | x86\$164 | 
| x8g.12xlarge | arm64 | 
| x8g.16xlarge | arm64 | 
| x8g.24xlarge | arm64 | 
| x8g.48xlarge | arm64 | 
| x8g.metal-24xl | arm64 | 
| x8g.metal-48xl | arm64 | 
| x8aedz.24xlarge | x86\$164 | 
| x8aedz.metal-24xl | x86\$164 | 
| x8i.24xlarge | x86\$164 | 
| x8i.32xlarge | x86\$164 | 
| x8i.48xlarge | x86\$164 | 
| x8i.64xlarge | x86\$164 | 
| x8i.96xlarge | x86\$164 | 
| x8i.metal-48xl | x86\$164 | 
| x8i.metal-96xl | x86\$164 | 

------
#### [ Accelerated computing ]


| Tipo de instancia | Arquitectura | 
| --- | --- | 
| g6.48xlarge | x86\$164 | 
| g6e.12xlarge | x86\$164 | 
| g6e.24xlarge | x86\$164 | 
| g6e.48xlarge | x86\$164 | 
| g7e.12xlarge | x86\$164 | 
| g7e.24xlarge | x86\$164 | 
| g7e.48xlarge | x86\$164 | 
| p5.4xlarge | x86\$164 | 
| p5.48xlarge | x86\$164 | 
| p5e.48xlarge | x86\$164 | 
| p5en.48xlarge | x86\$164 | 
| p6-b200.48xlarge | x86\$164 | 
| p6-b300.48xlarge | x86\$164 | 

------
#### [ Storage optimized ]


| Tipo de instancia | Arquitectura | 
| --- | --- | 
| i4g.4xlarge | arm64 | 
| i4g.8xlarge | arm64 | 
| i4g.16xlarge | arm64 | 
| i4i.8xlarge | x86\$164 | 
| i4i.12xlarge | x86\$164 | 
| i4i.16xlarge | x86\$164 | 
| i4i.24xlarge | x86\$164 | 
| i4i.32xlarge | x86\$164 | 
| i4i.metal | x86\$164 | 
| i7i.12xlarge | x86\$164 | 
| i7i.16xlarge | x86\$164 | 
| i7i.24xlarge | x86\$164 | 
| i7i.48xlarge | x86\$164 | 
| i7i.metal-24xl | x86\$164 | 
| i7i.metal-48xl | x86\$164 | 
| i7ie.12xlarge | x86\$164 | 
| i7ie.18xlarge | x86\$164 | 
| i7ie.24xlarge | x86\$164 | 
| i7ie.48xlarge | x86\$164 | 
| i7ie.metal-24xl | x86\$164 | 
| i7ie.metal-48xl | x86\$164 | 
| i8g.12xlarge | arm64 | 
| i8g.16xlarge | arm64 | 
| i8g.24xlarge | arm64 | 
| i8g.48xlarge | arm64 | 
| i8g.metal-24xl | arm64 | 
| i8g.metal-48xl | arm64 | 
| i8ge.12xlarge | arm64 | 
| i8ge.18xlarge | arm64 | 
| i8ge.24xlarge | arm64 | 
| i8ge.48xlarge | arm64 | 
| i8ge.metal-24xl | arm64 | 
| i8ge.metal-48xl | arm64 | 
| im4gn.4xlarge | arm64 | 
| im4gn.8xlarge | arm64 | 
| im4gn.16xlarge | arm64 | 

------

## Requisitos previos para instancias de Linux
<a name="ena-express-prereq-linux"></a>

Para asegurarse de que ENA Express puede funcionar eficazmente, actualice la configuración de la instancia de Linux de la siguiente manera.
+ 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'
     ```

  1. 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.
+ Para minimizar la latencia del tráfico TCP en ENA Express, puede deshabilitar la función de agrupación automática de paquetes de TCP. Esto podría provocar un leve aumento en la sobrecarga de paquetes:

  ```
  sudo bash -c 'echo 0 > /proc/sys/net/ipv4/tcp_autocorking'
  ```

## Ajuste el rendimiento de la configuración de ENA Express en la instancia de Linux
<a name="ena-express-tune"></a>

A fin de comprobar la configuración de la instancia de Linux para un rendimiento óptimo de ENA Express, puede ejecutar el siguiente script que está disponible en el repositorio de Amazon GitHub:

[https://github.com/amzn/amzn-ec2-ena-utilities/blob/main/ena-express/check-ena-express-settings.sh](https://github.com/amzn/amzn-ec2-ena-utilities/blob/main/ena-express/check-ena-express-settings.sh)

El script ejecuta una serie de pruebas y sugiere cambios de configuración, tanto recomendados como necesarios.

# Revise los ajustes de ENA Express para su instancia de EC2
<a name="ena-express-list-view"></a>

Puede comprobar la configuración de ENA Express por instancia o por interfaz de red. Para actualizar la configuración de ENA Express, consulte [Configurar los ajustes de ENA Express para su instancia de EC2](ena-express-configure.md).

------
#### [ Console ]

**Para ver la configuración de ENA Express para una interfaz de red**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

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

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

1. En la sección de **Vinculaicón 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**.

**Para ver la configuración de ENA Express para una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

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

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

1. 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 ]

**Para obtener la configuración de ENA Express de una instancia**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/describe-instances.html](https://docs.aws.amazon.com/cli/latest/reference/describe-instances.html). Este ejemplo de comando devuelve una lista de las configuraciones de ENA Express para las interfaces de red asociadas a cada una de las instancias en ejecución especificadas por el parámetro `--instance-ids`.

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 i-0598c7d356eba48d7 \
    --query 'Reservations[*].Instances[*].[InstanceId, NetworkInterfaces[*].Attachment.EnaSrdSpecification]'
```

A continuación, se muestra un ejemplo del resultado.

```
[
    [
        [
            "i-1234567890abcdef0",
            [
                {
                    "EnaSrdEnabled": true,
                    "EnaSrdUdpSpecification": {
                        "EnaSrdUdpEnabled": false
                    }
                }
            ]
        ]
    ],
    [
        [
            "i-0598c7d356eba48d7",
            [
            {
                    "EnaSrdEnabled": true,
                    "EnaSrdUdpSpecification": {
                        "EnaSrdUdpEnabled": false
                    }
                }
            ]
        ]
    ]
]
```

**Para obtener la configuración de ENA Express para una interfaz de red**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/describe-network-interfaces.html](https://docs.aws.amazon.com/cli/latest/reference/describe-network-interfaces.html).

```
aws ec2 describe-network-interfaces \
    --network-interface-ids eni-1234567890abcdef0 \
    --query NetworkInterfaces[].[NetworkInterfaceId,Attachment.EnaSrdSpecification]
```

A continuación, se muestra un ejemplo del resultado.

```
[
    [
        "eni-1234567890abcdef0",
        {
            "EnaSrdEnabled": true,
            "EnaSrdUdpSpecification": {
                "EnaSrdUdpEnabled": false
            }
        }
    ]
]
```

------
#### [ PowerShell ]

**Para obtener la configuración de ENA Express para una interfaz de red**  
Utilice el cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2NetworkInterface.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2NetworkInterface.html).

```
Get-EC2NetworkInterface `
    -NetworkInterfaceId eni-1234567890abcdef0 | `
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 } }
```

A continuación, se muestra un ejemplo del resultado.

```
Association         : 
NetworkInterfaceId  : eni-0d1234e5f6a78901b
OwnerId             : 111122223333
AttachTime          : 6/11/2022 1:13:11 AM
AttachmentId        : eni-attach-0d1234e5f6a78901b
DeleteOnTermination : True
NetworkCardIndex    : 0
InstanceId          : i-1234567890abcdef0
InstanceOwnerId     : 111122223333
Status              : attached
EnaSrdEnabled       : True
EnaSrdUdpEnabled    : False
```

------

# Configurar los ajustes de ENA Express para su instancia de EC2
<a name="ena-express-configure"></a>

Puede configurar ENA Express para los tipos de instancia de EC2 compatibles sin necesidad de instalar ningún software adicional. Para obtener más información, consulte [Tipos de instancia compatibles con ENA Express](ena-express.md#ena-express-supported-instance-types).

------
#### [ Console ]

**Para administrar ENA Express para una interfaz de red**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

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

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

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

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

1. Para usar **ENA Express**, seleccione la casilla **Habilitar**.

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

1. Elija **Guardar** para guardar las opciones de configuración.

**Para administrar ENA Express para una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

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

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

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

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

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

1. Para utilizar **ENA Express** para la asociación de la interfaz de red seleccionada, elija la casilla **Habilitar**.

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

1. Elija **Guardar** para guardar las opciones de configuración.

**Para configurar ENA Express al conectar una interfaz de red**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

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

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

1. Seleccione la **instancia** a la que se adjuntará.

1. Para usar **ENA Express** después de asociar la interfaz de red a la instancia, seleccione la casilla **Habilitar**.

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

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

------
#### [ AWS CLI ]

**Para configurar ENA Express al conectar una interfaz de red**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/;attach-network-interface.html](https://docs.aws.amazon.com/cli/latest/reference/;attach-network-interface.html), 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 se configura `EnaSrdEnabled` como `true`, y permite que `EnaSrdUdpEnabled` se establezca de forma predeterminada en `false`.

```
aws ec2 attach-network-interface \
    --network-interface-id eni-1234567890abcdef0 \
    --instance-id i-1234567890abcdef0 \
    --device-index 1 \
    --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 se configura `EnaSrdEnabled` y `EnaSrdUdpEnabled` como `true`.

```
aws ec2 attach-network-interface \
    --network-interface-id eni-1234567890abcdef0 \
    --instance-id i-1234567890abcdef0 \
    --device-index 1 \
    --ena-srd-specification 'EnaSrdEnabled=true,EnaSrdUdpSpecification={EnaSrdUdpEnabled=true}'
```

**Para actualizar la configuración de ENA Express de una interfaz de red adjunta**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/modify-network-interface-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/modify-network-interface-attribute.html), 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 se configura `EnaSrdEnabled` como `true`, y se permite que `EnaSrdUdpEnabled` sea la forma predeterminada para `false` si nunca se configuró previamente.

```
aws ec2 modify-network-interface-attribute \
    --network-interface-id eni-1234567890abcdef0 \
    --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 se configura `EnaSrdEnabled` y `EnaSrdUdpEnabled` como `true`.

```
aws ec2 modify-network-interface-attribute \
    --network-interface-id eni-1234567890abcdef0 \
    --ena-srd-specification 'EnaSrdEnabled=true,EnaSrdUdpSpecification={EnaSrdUdpEnabled=true}'
```

**Ejemplo 3: dejar de usar ENA Express para el tráfico UDP**  
En este ejemplo se configura `EnaSrdUdpEnabled` como `false`.

```
aws ec2 modify-network-interface-attribute \
    --network-interface-id eni-1234567890abcdef0 \
    --ena-srd-specification 'EnaSrdUdpSpecification={EnaSrdUdpEnabled=false}'
```

------
#### [ PowerShell ]

**Para configurar ENA Express al conectar una interfaz de red**  
Utilice cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2NetworkInterface.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2NetworkInterface.html) 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 se configura `EnaSrdEnabled` como `true`, y permite que `EnaSrdUdpEnabled` se establezca de forma predeterminada en `false`.

```
Add-EC2NetworkInterface `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -InstanceId i-1234567890abcdef0 `
    -DeviceIndex 1 `
    -EnaSrdSpecification_EnaSrdEnabled $true
```

**Ejemplo 2: usar ENA Express tanto para el tráfico TCP como para el tráfico UDP**  
En este ejemplo se configura `EnaSrdEnabled` y `EnaSrdUdpEnabled` como `true`.

```
Add-EC2NetworkInterface `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -InstanceId i-1234567890abcdef0 `
    -DeviceIndex 1 `
    -EnaSrdSpecification_EnaSrdEnabled $true `
    -EnaSrdUdpSpecification_EnaSrdUdpEnabled $true
```

**Para configurar ENA Express para el adjunto de interfaz de red**  
Utilice cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2NetworkInterfaceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2NetworkInterfaceAttribute.html) 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 se configura `EnaSrdEnabled` como `true`, y se permite que `EnaSrdUdpEnabled` sea la forma predeterminada para `false` si nunca se configuró previamente.

```
Edit-EC2NetworkInterfaceAttribute `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -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
```

**Ejemplo 2: usar ENA Express tanto para el tráfico TCP como para el tráfico UDP**  
En este ejemplo se configura `EnaSrdEnabled` y `EnaSrdUdpEnabled` como `true`.

```
Edit-EC2NetworkInterfaceAttribute `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -EnaSrdSpecification_EnaSrdEnabled $true `
    -EnaSrdSpecification_EnaSrdUdpSpecification_EnaSrdUdpEnabled $true ;
Get-EC2NetworkInterface -NetworkInterfaceId eni-1234567890abcdef0 | `
Select-Object `
    NetworkInterfaceId, 
    @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled }}, 
    @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled }} | `
Format-List
```

**Ejemplo 3: dejar de usar ENA Express para el tráfico UDP**  
En este ejemplo se configura `EnaSrdUdpEnabled` como `false`.

```
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
```

------

## Configuración de ENA Express en la inicialización
<a name="ena-express-configure-on-launch"></a>

Puede utilizar uno de los siguientes métodos para configurar ENA Express directamente cuando inicie una instancia. Los enlaces especificados lo remiten a las instrucciones de Consola de administración de AWS para estos métodos.
+ **Asistente de inicialización de instancias:** puede configurar ENA Express en la inicialización de instancias con el asistente de inicialización de instancias. Para obtener información, consulte **Configuración de red avanzada** en el [Configuración de red](ec2-instance-launch-parameters.md#liw-network-settings) para el asistente de inicialización de instancias.
+ **Plantilla de inicialización:** puede configurar ENA Express en la inicialización cuando utiliza una plantilla de inicialización. Para obtener más información, consulte la página [Creación de una plantilla de inicialización de Amazon EC2](create-launch-template.md) y, a continuación, amplíe la sección **Configuración de red** y revise la **Configuración de red avanzada**.

# Redes mejoradas con la interfaz de Intel 82599 VF
<a name="sriov-networking"></a>

Para las [instancia basadas en Xen](instance-types.md#instance-hypervisor-type), la interfaz Intel 82599 Virtual Function (VF) proporciona capacidades de redes mejoradas. La interfaz utiliza el controlador Intel `ixgbevf`.

En las siguientes pestañas se muestra cómo comprobar el controlador del adaptador de red que está instalado en el sistema operativo de la instancia.

------
#### [ Linux ]

**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](#predictable-network-names-sriov), 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
```

------
#### [ Windows ]

**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` listado debajo de **Adaptadores de red**.

------

**Topics**
+ [

## Prepare su instancia para redes mejoradas.
](#ixgbevf-requirements)
+ [

## Probar si las redes mejoradas están habilitadas
](#test-enhanced-networking)
+ [

## Habilitar redes mejoradas en la instancia
](#enable-enhanced-networking)
+ [

## Solucionar problemas de conectividad
](#enhanced-networking-troubleshooting)

## Prepare su instancia para redes mejoradas.
<a name="ixgbevf-requirements"></a>

Para prepararse para las redes mejoradas con la interfaz Intel 82599 VF, configure su instancia de la siguiente manera:
+ Compruebe que el tipo de instancia es uno de los siguientes: C3, C4, D2, I2, M4 (excepto `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](https://console.aws.amazon.com/cloudshell) en la Consola de administración de AWS, o bien instale y configure la [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) o las [AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/) 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](concepts.md#access-ec2) o la [Guía del usuario de AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html). Las redes mejoradas no se pueden administrar desde la consola de Amazon EC2.

## Probar si las redes mejoradas están habilitadas
<a name="test-enhanced-networking"></a>

Compruebe que el atributo `sriovNetSupport` esté establecido en la instancia o en la imagen.

------
#### [ AWS CLI ]

**Comprobación del atributo de instancia (sriovNetSupport)**  
Use el siguiente comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-attribute.html). Si se configuró el atributo, el valor es `simple`.

```
aws ec2 describe-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --attribute sriovNetSupport
```

**Comprobación del atributo de imagen (sriovNetSupport)**  
Use el siguiente comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html). Si se configuró el atributo, el valor es `simple`.

```
aws ec2 describe-images \
    --image-id ami-0abcdef1234567890 \
    --query "Images[].SriovNetSupport"
```

------
#### [ PowerShell ]

**Comprobación del atributo de instancia (sriovNetSupport)**  
Utilice el cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceAttribute.html). Si se configuró el atributo, el valor es `simple`.

```
Get-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -Attribute sriovNetSupport
```

**Comprobación del atributo de imagen (sriovNetSupport)**  
Use el siguiente comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html). Si se configuró el atributo, el valor es `simple`.

```
(Get-EC2Image -ImageId ami-0abcdef1234567890).SriovNetSupport
```

------

## Habilitar redes mejoradas en la instancia
<a name="enable-enhanced-networking"></a>

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.

### Amazon Linux
<a name="enable-amazon-linux"></a>

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](#test-enhanced-networking).

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. <a name="amazon-linux-enhanced-networking-start-step"></a>Conéctese a la instancia.

1. 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
   ```

1. Desde el equipo local, reinicie la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: [https://docs.aws.amazon.com/cli/latest/reference/ec2/reboot-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/reboot-instances.html) (AWS CLI) o [https://docs.aws.amazon.com/powershell/latest/reference/items/Restart-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Restart-EC2Instance.html) (AWS Tools for Windows PowerShell).

1. <a name="amazon-linux-enhanced-networking-stop-step"></a>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](#test-enhanced-networking).

1. [instancia basada en EBS] Desde el equipo local, detenga la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: [https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI) o [https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) (AWS Tools for Windows PowerShell).

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

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

------
#### [ AWS CLI ]

   Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) como se indica a continuación.

   ```
   aws ec2 modify-instance-attribute \
       --instance-id i-1234567890abcdef0 \
       --sriov-net-support simple
   ```

------
#### [ PowerShell ]

   Utilice el cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) de la siguiente manera.

   ```
   Edit-EC2InstanceAttribute `
       -InstanceId i-1234567890abcdef0 `
       -SriovNetSupport "simple"
   ```

------

1. (Opcional) Cree una AMI desde la instancia, tal y como se explica en [Creación de una AMI basada en Amazon EBS](creating-an-ami-ebs.md). 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.

1. Desde el equipo local, inicie la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: [https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) (AWS CLI) o [https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) (AWS Tools for Windows PowerShell).

1. 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 eth*n*** command de [Probar si las redes mejoradas están habilitadas](#test-enhanced-networking).

**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 [Creación de una AMI basada en Amazon S3](creating-an-ami-instance-store.md), asegurándose de habilitar el atributo de redes mejoradas cuando registre la AMI.

------
#### [ AWS CLI ]

Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) como se indica a continuación.

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

------
#### [ PowerShell ]

Utilice [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html) de la siguiente manera.

```
Register-EC2Image -SriovNetSupport "simple" ...
```

------

### Ubuntu
<a name="enhanced-networking-ubuntu"></a>

Antes de comenzar, [compruebe si las redes mejoradas ya están habilitadas](#test-enhanced-networking) 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.<a name="ubuntu-enhanced-networking-procedure"></a>

**Para instalar el paquete de kernel de `linux-aws`**

1. <a name="ubuntu-enhanced-networking-start-step"></a>Conéctese a la instancia.

1. 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`.

### Otras distribuciones de Linux
<a name="enhanced-networking-linux"></a>

Antes de comenzar, [compruebe si las redes mejoradas ya están habilitadas](#test-enhanced-networking) 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. <a name="other-linux-enhanced-networking-start-step"></a>Conéctese a la instancia.

1. Descargue el código fuente para el módulo `ixgbevf` de su instancia desde Sourceforge en [https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/](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.

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

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

1. <a name="other-linux-enhanced-networking-stop-step"></a>Actualice `initramfs` en la instancia para asegurarse de que el nuevo módulo se carga en el momento del arranque.

1. <a name="predictable-network-names-sriov"></a>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](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) 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.

   1. 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
      ```

   1. Vuelva a compilar el archivo de configuración de Grub.

      ```
      [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      ```

1. [Instancia basada en EBS] Desde el equipo local, detenga la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI) o [https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) (AWS Tools for Windows PowerShell).

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

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

------
#### [ AWS CLI ]

   Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) como se indica a continuación.

   ```
   aws ec2 modify-instance-attribute \
       --instance-id i-1234567890abcdef0 -\
       -sriov-net-support simple
   ```

------
#### [ PowerShell ]

   Utilice el cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) de la siguiente manera.

   ```
   Edit-EC2InstanceAttribute `
       -InstanceId i-1234567890abcdef0 `
       -SriovNetSupport "simple"
   ```

------

1. (Opcional) Cree una AMI desde la instancia, tal y como se explica en [Creación de una AMI basada en Amazon EBS](creating-an-ami-ebs.md). 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.

1. Desde el equipo local, inicie la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: [https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) (AWS CLI) o [https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) (AWS Tools for Windows PowerShell).

1. (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 [Creación de una AMI basada en Amazon S3](creating-an-ami-instance-store.md), asegurándose de habilitar el atributo de redes mejoradas cuando registre la AMI.

------
#### [ AWS CLI ]

Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) como se indica a continuación.

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

------
#### [ PowerShell ]

Utilice [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html) de la siguiente manera.

```
Register-EC2Image -SriovNetSupport "simple" ...
```

------

### Windows
<a name="enable-windows"></a>

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 [Redes mejoradas en instancias de Amazon EC2](enhanced-networking.md).

**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](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ec2-windows-ami-version-history.html) en la *Referencia de las AMI de Windows de AWS*.

**Para habilitar las redes mejoradas**

1. <a name="amazon-linux-enhanced-networking-start-step"></a>Conéctese a la instancia e inicie sesión como administrador local.

1. [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.

1. Desde la instancia, descargue el controlador del adaptador de red Intel para su sistema operativo:
   + **Windows Server 2022**

     Visite la [página de descarga](https://www.intel.com/content/www/us/en/download/706171/intel-network-adapter-driver-for-windows-server-2022.html) y descargue `Wired_driver_version_x64.zip`.
   + **Windows Server 2019** incluida para versión de Server 1809 y posteriores\$1

     Visite la [página de descarga](https://www.intel.com/content/www/us/en/download/19372/intel-network-adapter-driver-for-windows-server-2019.html) y descargue `Wired_driver_version_x64.zip`.
   + **Windows Server 2016** incluida para versión de Server 1803 y anteriores\$1

     Visite la [página de descarga](https://www.intel.com/content/www/us/en/download/18737/intel-network-adapter-driver-for-windows-server-2016.html) y descargue `Wired_driver_version_x64.zip`.
   + **Windows Server 2012 R2**

     Visite la [página de descarga](https://www.intel.com/content/www/us/en/download/17480/intel-network-adapter-driver-for-windows-server-2012-r2.html) y descargue `Wired_driver_version_x64.zip`.
   + **Windows Server 2012**

     Visite la [página de descarga](https://www.intel.com/content/www/us/en/download/16789/intel-network-adapter-driver-for-windows-server-2012.html) y descargue `Wired_driver_version_x64.zip`.
   + **Windows Server 2008 R2**

     Visite la [página de descarga](https://www.intel.com/content/www/us/en/download/15590/intel-network-adapter-driver-for-windows-7-final-release.html) y descargue `PROWinx64Legacy.exe`.

   \$1Las 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.

1. 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`.

     1. Extraiga el contenido del archivo `PROWinx64Legacy.zip`.

     1. 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`.

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

          ```
          pnputil -i -a PROXGB\Winx64\NDIS68\vxn68x64.inf
          ```
        + Windows Server 2019

          ```
          pnputil -i -a PROXGB\Winx64\NDIS68\vxn68x64.inf
          ```
        + Windows Server 2016

          ```
          pnputil -i -a PROXGB\Winx64\NDIS65\vxn65x64.inf
          ```
        + Windows Server 2012 R2

          ```
          pnputil -i -a PROXGB\Winx64\NDIS64\vxn64x64.inf
          ```
        + Windows Server 2012

          ```
          pnputil -i -a PROXGB\Winx64\NDIS63\vxn63x64.inf
          ```

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

------
#### [ AWS CLI ]

   Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) como se indica a continuación.

   ```
   aws ec2 modify-instance-attribute \
       --instance-id i-1234567890abcdef0 \
       --sriov-net-support simple
   ```

------
#### [ PowerShell ]

   Utilice el cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) de la siguiente manera.

   ```
   Edit-EC2InstanceAttribute `
       -InstanceId i-1234567890abcdef0 `
       -SriovNetSupport "simple"
   ```

------

1. (Opcional) Cree una AMI desde la instancia, tal y como se explica en [Creación de una AMI basada en Amazon EBS](creating-an-ami-ebs.md). 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.

1. Desde el equipo local, inicie la instancia mediante la consola de Amazon EC2 o uno de los siguientes comandos: [https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) (AWS CLI) o [https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) (AWS Tools for Windows PowerShell).

## Solucionar problemas de conectividad
<a name="enhanced-networking-troubleshooting"></a>

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?](https://repost.aws/knowledge-center/enable-configure-enhanced-networking)

# Supervisar el rendimiento de la red para ajustes ENA en la instancia de EC2
<a name="monitoring-network-performance-ena"></a>

El controlador de Elastic Network Adapter (ENA) publica métricas de rendimiento de la red desde las instancias en las que están habilitadas. Puede utilizar estas métricas para solucionar problemas de rendimiento de instancias, elegir el tamaño de instancia adecuado para una carga de trabajo, planificar actividades de escalado de forma proactiva y comparar las aplicaciones a fin de determinar si maximizan el rendimiento disponible en una instancia.

Amazon EC2 define los máximos de red en el nivel de instancia para garantizar una experiencia de redes de alta calidad, incluido un rendimiento de red constante en todos los tamaños de instancia. AWS proporciona máximos de lo siguiente para cada instancia:
+ **Capacidad de ancho de banda**: cada instancia de EC2 tiene un ancho de banda máximo para el tráfico entrante y saliente agregado, según el tamaño y el tipo de instancias. Algunas instancias utilizan un mecanismo de créditos de E/S de red para asignar el ancho de banda de la red en función del uso de ancho de banda medio. Amazon EC2 también tiene un ancho de banda máximo para el tráfico hacia Direct Connect e Internet. Para obtener más información, consulte [Ancho de banda de red de instancias de Amazon EC2](ec2-instance-network-bandwidth.md).
+ **Rendimiento de paquete por segundo (PPS)**: cada instancia de EC2 tiene un rendimiento de PPS máximo, según el tamaño y el tipo de instancias.
+ **Conexiones rastreadas**: el grupo de seguridad realiza el seguimiento de cada conexión establecida para asegurarse de que los paquetes devueltos se entreguen como se espera. Existe un número máximo de conexiones que se pueden rastrear por instancia. Para obtener más información, consulte [Seguimiento de conexiones del grupo de seguridad de Amazon EC2](security-group-connection-tracking.md)
+ El **acceso al servicio de enlace local**: Amazon EC2 proporciona un PPS máximo por interfaz de red para el tráfico a servicios de proxy local como el servicio de DNS de Amazon, el servicio de metadatos de instancia y el Servicio de sincronización temporal de Amazon.

Cuando el tráfico de red de una instancia supera un máximo, AWS da forma al tráfico que supera el máximo al poner en cola y, a continuación, soltar paquetes de red. Puede monitorear cuando el tráfico supera un máximo mediante las métricas de rendimiento de la red. Estas métricas informan, en tiempo real, el impacto en el tráfico de red y los posibles problemas de rendimiento de la red.

**Topics**
+ [

## Requisitos
](#network-performance-metrics-requirements)
+ [

## Métricas para el controlador de ENA
](#network-performance-metrics)
+ [

## Ver las métricas de rendimiento de la red de la instancia de
](#view-network-performance-metrics)
+ [

## Métricas para ENA Express
](#network-performance-metrics-ena-express)
+ [

## Métricas de rendimiento de la red con el controlador de DPDK para ENA
](#network-performance-metrics-dpdk)
+ [

## Métricas en instancias que ejecutan FreeBSD
](#network-performance-metrics-freebsd)

## Requisitos
<a name="network-performance-metrics-requirements"></a>

**Instancias de Linux**
+ Instale el controlador de ENA de versión 2.2.10 o posterior. Para verificar la versión instalada, utilice el comando **ethtool**. En el siguiente ejemplo, la versión cumple el requisito mínimo.

  ```
  [ec2-user ~]$ ethtool -i eth0 | grep version
  version: 2.2.10
  ```

  Para actualizar el controlador de ENA, consulte [Red mejorada](enhanced-networking-ena.md).
+ Para importar estas métricas a Amazon CloudWatch, instale el agente CloudWatch. Para obtener más información, consulte [Recopilar métricas de rendimiento de la red](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-network-performance.html) en *Guía del usuario de Amazon CloudWatch*.
+ Para que tenga compatibilidad con la métrica `conntrack_allowance_available`, instale la versión 2.8.1 o posterior del controlador ENA.
+ Para anular el límite de PPS del fragmento de salida de 1024, instale el controlador ENA versión 2.13.3 o posterior.

**instancias de Windows**
+ Instale el controlador de ENA de versión 2.2.2 o posterior. Para verificar la versión instalada, utilice el administrador de dispositivos de la siguiente manera.

  1. Abra el administrador de dispositivos mediante la ejecución de `devmgmt.msc`.

  1. Expanda **Adaptadores de red**.

  1. Elija **Amazon Elastic Network Adapter**, **Propiedades**.

  1. En la pestaña **Controlador**, busque **Versión del controlador**.

  Para actualizar el controlador de ENA, consulte [Red mejorada](enhanced-networking-ena.md).
+ Para importar estas métricas a Amazon CloudWatch, instale el agente CloudWatch. Para obtener más información, consulte [Recopilar métricas avanzadas de red](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-network-performance.html) en *Guía del usuario de Amazon CloudWatch*.

## Métricas para el controlador de ENA
<a name="network-performance-metrics"></a>

El controlador de ENA entrega las siguientes métricas a la instancia en tiempo real. Proporcionan el número acumulado de paquetes en cola o eliminado en cada interfaz de red desde el último restablecimiento del controlador.


| Métrica | Descripción | Compatible con | 
| --- | --- | --- | 
| bw\$1in\$1allowance\$1exceeded |  El número de paquetes formados en cola o eliminados el ancho de banda agregado entrante superó el máximo de la instancia.  | Todos los tipos de instancias | 
| bw\$1out\$1allowance\$1exceeded |  El número de paquetes en cola o eliminados porque el ancho de banda agregado saliente superó el máximo de la instancia.  | Todos los tipos de instancias | 
| conntrack\$1allowance\$1exceeded |  El número de paquetes eliminados porque el seguimiento de conexiones superó el máximo de la instancia y no se pudieron establecer nuevas conexiones. Esto puede provocar la pérdida de paquetes para el tráfico hacia o desde la instancia.  | Todos los tipos de instancias | 
| conntrack\$1allowance\$1available | La cantidad de conexiones rastreadas que puede establecer la instancia antes de alcanzar el límite de conexiones rastreadas de ese tipo de instancia. | Solo en [instancias basadas en Nitro](instance-types.md#instance-hypervisor-type)  | 
| linklocal\$1allowance\$1exceeded |  El número de paquetes eliminados porque el PPS del tráfico a los servicios proxy locales superó el máximo para la interfaz de red. Esto afecta al tráfico del servicio DNS de Amazon, el servicio de metadatos de instancias y el Servicio de sincronización temporal de Amazon, pero no afecta al tráfico de los solucinadores de DNS personalizados.  | Todos los tipos de instancias | 
| pps\$1allowance\$1exceeded |  El número de paquetes en cola o eliminados porque el PPS bidireccional superó el máximo de la instancia. \$1  | Todos los tipos de instancias | 

\$1 Dependiendo de la configuración del modo proxy de fragmentos para el controlador ENA Linux v2.13.3 o posterior, este límite también puede incluir las caídas de fragmentos de salida que superen los 1024 PPS para la interfaz de red. Si el modo proxy de fragmentos está habilitado para el controlador de Linux, las caídas de fragmentos de salida evitan el límite de 1024 PPS que se aplica normalmente y se cuentan dentro de las asignaciones de PPS estándar. El modo proxy de fragmentos está deshabilitado de forma predeterminada.

## Ver las métricas de rendimiento de la red de la instancia de
<a name="view-network-performance-metrics"></a>

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

### Instancias de Linux
<a name="view-network-performance-metrics-linux"></a>

Puede publicar métricas en sus herramientas favoritas para visualizar los datos de métricas. Por ejemplo, puede publicar las métricas en Amazon CloudWatch mediante el agente de CloudWatch. El agente permite seleccionar métricas individuales y controlar la publicación.

También puede utilizar **ethtool** para recuperar las métricas de cada interfaz de red, como eth0, de la siguiente manera.

```
[ec2-user ~]$ ethtool -S eth0
     bw_in_allowance_exceeded: 0
     bw_out_allowance_exceeded: 0
     pps_allowance_exceeded: 0
     conntrack_allowance_exceeded: 0
     linklocal_allowance_exceeded: 0
     conntrack_allowance_available: 136812
```

### instancias de Windows
<a name="view-network-performance-metrics-windows"></a>

Puede ver las métricas con cualquier consumidor de contadores de rendimiento de Windows. Los datos se pueden analizar de acuerdo con el manifiesto EnaPerfCounters. Este es un archivo XML que define el proveedor de contador de rendimiento y sus conjuntos de contadores.

**Instalación del manifiesto**

Si ha iniciado la instancia con una AMI que contiene el controlador de ENA 2.2.2 o posterior o utilizado el script de instalación en el paquete de controladores para el controlador de ENA 2.2.2, el manifiesto ya está instalado. Para instalar el manifiesto manualmente, siga los pasos siguientes:

1. Elimine el manifiesto existente mediante el siguiente comando:

   ```
   unlodctr /m:EnaPerfCounters.man
   ```

1. Copie el archivo del manifiesto, `EnaPerfCounters.man`, del paquete de instalación del controlador a `%SystemRoot%\System32\drivers`.

1. Instale el nuevo manifiesto mediante el siguiente comando:

   ```
   lodctr /m:EnaPerfCounters.man
   ```

**Para ver métricas mediante el Monitor de rendimiento**

1. Abra el Monitor de rendimiento.

1. Presione Ctrl\$1N para agregar nuevos contadores.

1. Elija **Configuración de paquetes de ENA** en la lista.

1. Seleccione las instancias que desea monitorear y elija **Agregar**.

1. Seleccione **OK**.

## Métricas para ENA Express
<a name="network-performance-metrics-ena-express"></a>

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. Si ha habilitado 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. Por ejemplo:
+ Evalúe sus recursos para asegurarse de que tengan capacidad suficiente para establecer más conexiones de SRD.
+ Identifique dónde hay posibles problemas que impidan que los paquetes salientes aptos utilicen SRD.
+ Calcule el porcentaje de tráfico saliente que usa SRD para la instancia.
+ Calcule el porcentaje de tráfico entrante que usa SRD para la instancia.

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

Para ver una lista de las métricas para su instancia de Linux que se filtran para ENA Express, ejecute el comando **ethtool** para su interfaz de red (que aquí se muestra como `eth0`). Tome nota del valor de la métrica `ena_srd_mode`.

```
[ec2-user ~]$ ethtool -S eth0 | grep ena_srd
NIC statistics:
	ena_srd_mode: 1
	ena_srd_tx_pkts: 0
	ena_srd_eligible_tx_pkts: 0
	ena_srd_rx_pkts: 0
	ena_srd_resource_utilization: 0
```

Las siguientes métricas están disponibles para todas las instancias que tienen habilitada ENA Express.

**ena\$1srd\$1mode**  
Se describen qué características de ENA Express están habilitadas. 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

**ena\$1srd\$1eligible\$1tx\$1pkts**  
El número de red de la siguiente manera:  
+ 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](ena-express.md#ena-express-supported-instance-types).
+ Tanto las instancias de envío como las de recepción deben tener configurado ENA Express.
+ Las instancias de envío y recepción deben ejecutarse en la misma zona de disponibilidad.
+ La ruta de red entre las instancias no debe incluir cajas de middleware. ENA Express no admite actualmente cajas de middleware.
La métrica de elegibilidad de ENA Express abarca los requisitos de origen y destino, y la red entre los dos puntos de conexión. Los paquetes aptos aún pueden ser descalificados tras su recuento. Por ejemplo, si un paquete apto supera el límite de la unidad de transmisión máxima (MTU), vuelve a la transmisión ENA estándar, aunque el paquete se sigue mostrando como apto en el contador.

**ena\$1srd\$1tx\$1pkts**  
El número de paquetes SRD transmitidos en un periodo determinado.

**ena\$1srd\$1rx\$1pkts**  
El número de paquetes SRD recibidos en un periodo determinado.

**ena\$1srd\$1resource\$1utilization**  
El porcentaje de uso máximo de memoria permitido para conexiones SRD simultáneas que ha consumido la instancia.

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.

**Tráfico de salida (paquetes salientes)**  
Para asegurarse de que su tráfico de salida utiliza SRD como se espera, compare el número de paquetes SRD aptos (`ena_srd_eligible_tx_pkts`) con el número de paquetes SRD enviados (`ena_srd_tx_pkts`) durante un periodo de tiempo determinado.

Las diferencias significativas entre el número de paquetes aptos y el número de paquetes SRD enviados suelen deberse a problemas de utilización de recursos. Cuando la tarjeta de red conectada a la instancia agota sus recursos máximos, o si los paquetes superan el límite de MTU, los paquetes aptos no pueden transmitirse a través de SRD y deben volver a la transmisión ENA estándar. Los paquetes también pueden experimentar esto durante migraciones en directo o actualizaciones de servidores en directo. Se requiere una solución de problemas adicionales para determinar la causa raíz.

**nota**  
Puede ignorar las pequeñas diferencias ocasionales entre el número de paquetes aptos y el número de paquetes de SRD. Esto puede ocurrir cuando su instancia establece una conexión con otra instancia para el tráfico SRD, por ejemplo.

Para averiguar qué porcentaje de su tráfico de salida total durante un periodo de tiempo determinado utiliza SRD, compare el número de paquetes SRD enviados (`ena_srd_tx_pkts`) con el número total de paquetes enviados para la instancia (`NetworkPacketOut`) durante ese tiempo.

**Tráfico de entrada (paquetes entrantes)**  
Para saber qué porcentaje del tráfico de entrada utiliza SRD, compare el número de paquetes SRD recibidos (`ena_srd_rx_pkts`) durante un periodo de tiempo determinado con el número total de paquetes recibidos para la instancia (`NetworkPacketIn`) durante ese tiempo.

**Uso de los recursos**  
El uso de los recursos se basa en el número de conexiones SRD simultáneas que una única instancia puede mantener en un momento determinado. La métrica de uso de recursos (`ena_srd_resource_utilization`) hace un seguimiento del uso actual de la instancia. A medida que la utilización se acerque al 100 %, es de esperar que se produzcan problemas de rendimiento. ENA Express retrocede de la transmisión SRD a la transmisión ENA estándar y aumenta la posibilidad de que se pierdan paquetes. Un alto uso de recursos es un indicio de que llegó el momento de escalar horizontalmente la instancia para mejorar el rendimiento de la red.

**nota**  
Cuando el tráfico de red de una instancia supera un máximo, AWS da forma al tráfico que supera el máximo al poner en cola y, a continuación, soltar paquetes de red.

**Persistencia**  
Las métricas de entrada y salida se acumulan mientras ENA Express está habilitado para la instancia. Las métricas dejan de acumularse si ENA Express está desactivado, pero persisten mientras la instancia sigue en ejecución. Las métricas se reinician si la instancia se reinicia o se finaliza, o si la interfaz de red se desvincula de la instancia.

## Métricas de rendimiento de la red con el controlador de DPDK para ENA
<a name="network-performance-metrics-dpdk"></a>

El controlador de ENA, versión 2.2.0 y posterior, admite informes de métricas de red. DPDK 20.11 incluye el controlador de ENA 2.2.0 y es la primera versión de DPDK que admite esta característica.

El controlador DPDK v25.03 o posterior admite el modo proxy de fragmentos. Si el modo proxy de fragmentos está habilitado para el controlador de DPDK, las caídas de fragmentos de salida evitan el límite de 1024 PPS que se aplica normalmente y se cuentan dentro de las asignaciones de PPS estándar. El modo proxy de fragmentos está deshabilitado de forma predeterminada.

Puede utilizar una aplicación de ejemplo para ver las estadísticas de DPDK. Para comenzar una versión interactiva de la aplicación de ejemplo, ejecute el siguiente comando.

```
./app/dpdk-testpmd -- -i
```

Dentro de esta sesión interactiva, puede escribir un comando para recuperar estadísticas extendidas de un puerto. El siguiente comando de ejemplo recupera las estadísticas del puerto 0.

```
show port xstats 0
```

A continuación se muestra un ejemplo de una sesión interactiva con la aplicación de ejemplo de DPDK.

```
[root@ip-192.0.2.0 build]# ./app/dpdk-testpmd -- -i
        EAL: Detected 4 lcore(s)
        EAL: Detected 1 NUMA nodes
        EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
        EAL: Selected IOVA mode 'PA'
        EAL: Probing VFIO support...
        EAL:   Invalid NUMA socket, default to 0
        EAL:   Invalid NUMA socket, default to 0
        EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0
(socket 0)
        EAL: No legacy callbacks, legacy socket not created
        Interactive-mode selected
    
        Port 0: link state change event
        testpmd: create a new mbuf pool <mb_pool_0>: n=171456,
size=2176, socket=0
        testpmd: preferred mempool ops selected: ring_mp_mc
    
        Warning! port-topology=paired and odd forward ports number, the
last port will pair with itself.
    
        Configuring Port 0 (socket 0)
        Port 0: 02:C7:17:A2:60:B1
        Checking link statuses...
        Done
        Error during enabling promiscuous mode for port 0: Operation
not supported - ignore
        testpmd> show port xstats 0
        ###### NIC extended statistics for port 0
        rx_good_packets: 0
        tx_good_packets: 0
        rx_good_bytes: 0
        tx_good_bytes: 0
        rx_missed_errors: 0
        rx_errors: 0
        tx_errors: 0
        rx_mbuf_allocation_errors: 0
        rx_q0_packets: 0
        rx_q0_bytes: 0
        rx_q0_errors: 0
        tx_q0_packets: 0
        tx_q0_bytes: 0
        wd_expired: 0
        dev_start: 1
        dev_stop: 0
        tx_drops: 0
        bw_in_allowance_exceeded: 0
        bw_out_allowance_exceeded: 0
        pps_allowance_exceeded: 0
        conntrack_allowance_exceeded: 0
        linklocal_allowance_exceeded: 0
        rx_q0_cnt: 0
        rx_q0_bytes: 0
        rx_q0_refill_partial: 0
        rx_q0_bad_csum: 0
        rx_q0_mbuf_alloc_fail: 0
        rx_q0_bad_desc_num: 0
        rx_q0_bad_req_id: 0
        tx_q0_cnt: 0
        tx_q0_bytes: 0
        tx_q0_prepare_ctx_err: 0
        tx_q0_linearize: 0
        tx_q0_linearize_failed: 0
        tx_q0_tx_poll: 0
        tx_q0_doorbells: 0
        tx_q0_bad_req_id: 0
        tx_q0_available_desc: 1023
        testpmd>
```

Para obtener más información acerca de la aplicación de ejemplo y su uso a fin de recuperar estadísticas ampliadas. consulte la [Guía del usuario de la aplicación de Testpmd](https://doc.dpdk.org/guides/testpmd_app_ug/) en la documentación de DPDK.

## Métricas en instancias que ejecutan FreeBSD
<a name="network-performance-metrics-freebsd"></a>

A partir de la versión 2.3.0, el controlador FreeBSD de ENA admite la recopilación de métricas de rendimiento de la red en instancias que ejecutan FreeBSD. Para habilitar la recopilación de métricas de FreeBSD, ingrese el siguiente comando y establezca el *intervalo* en un valor entre 1 y 3600. Esto especifica la frecuencia, en segundos, para recopilar métricas de FreeBSD.

```
sysctl dev.ena.network_interface.eni_metrics.sample_interval=interval
```

Por ejemplo, el siguiente comando configura el controlador para recopilar métricas de FreeBSD en la interfaz de red 1 cada 10 segundos:

```
sysctl dev.ena.1.eni_metrics.sample_interval=10
```

Para desactivar la recopilación de métricas de FreeBSD, puede ejecutar el comando anterior y especificar `0` como el *intervalo*.

Después de habilitar la recopilación de métricas de FreeBSD, puede recuperar el último conjunto de métricas recopiladas mediante la ejecución del siguiente comando.

```
sysctl dev.ena.network_interface.eni_metrics
```

# Mejorar la latencia de red para instancias de EC2 basadas en Linux
<a name="ena-improve-network-latency-linux"></a>

La latencia de la red es la cantidad de tiempo que tarda un paquete de datos en viajar desde su origen hasta su destino. Las aplicaciones que envían datos a través de la red dependen de las respuestas oportunas para ofrecer una experiencia de usuario positiva. La alta latencia de la red puede provocar varios problemas, como los siguientes:
+ Tiempos de carga lentos para páginas web
+ Retraso en la transmisión de video
+ Problemas para acceder a los recursos en línea

En esta sección se describen los pasos que puede seguir para mejorar la latencia de red en las instancias de Amazon EC2 que se ejecutan en Linux. Para lograr una latencia óptima, siga estos pasos para configurar los ajustes de la instancia, el núcleo y el controlador ENA. Para obtener más información sobre configuración, consulte la [Guía de prácticas recomendadas del controlador Linux ENA y optimización del rendimiento](https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/ENA_Linux_Best_Practices.rst) en GitHub.

**nota**  
Los pasos y la configuración pueden variar ligeramente según el hardware de red específico, la AMI desde la que lanzó la instancia y el caso de uso de la aplicación. Antes de realizar cualquier cambio, pruebe y supervise minuciosamente el rendimiento de la red para asegurarse de obtener los resultados deseados.

## Reducir la cantidad de saltos de red para los paquetes de datos
<a name="ena-latency-reduce-hops"></a>

Cada salto que realiza un paquete de datos al moverse de un router a otro aumenta la latencia de la red. Por lo general, el tráfico debe realizar varios saltos para llegar a su destino. Hay dos formas de reducir los saltos de red en sus instancias de Amazon EC2, de la siguiente manera:
+ **Grupo con ubicación en clúster**: al especificar un [grupo con ubicación en clúster](placement-strategies.md#placement-groups-cluster), Amazon EC2 inicia instancias que se encuentran cerca unas de otras, físicamente dentro de la misma zona de disponibilidad (AZ) con un mayor número de paquetes. La proximidad física de las instancias del grupo les permite aprovechar la conectividad de alta velocidad, lo que se traduce en una latencia baja y un alto rendimiento de flujo único.
+ **Host dedicado**: un [host dedicado](dedicated-hosts-overview.md) también es un servidor físico dedicado para su uso. Con un host dedicado, puede iniciar sus instancias para que se ejecuten en el mismo servidor físico. La comunicación entre instancias que se ejecutan en el mismo host dedicado puede realizarse sin saltos adicionales.

## Cómo la configuración del kernel de Linux afecta la latencia
<a name="ena-latency-kernel-config"></a>

La configuración del kernel de Linux puede aumentar o disminuir la latencia de la red. Para lograr sus objetivos de optimización de la latencia, es importante ajustar la configuración del kernel de Linux de acuerdo con los requisitos específicos de su carga de trabajo.

Hay muchas opciones de configuración para el kernel de Linux que pueden ayudar a reducir la latencia de la red. Las opciones más importantes son las siguientes.
+ **Habilitar el modo de sondeo ocupado**: el modo de sondeo ocupado reduce la latencia en la ruta de recepción de la red. Al habilitar el modo de sondeo ocupado, el código de la capa de conexión puede sondear directamente la cola de recepción de un dispositivo de red. La desventaja del sondeo ocupado es el mayor uso de la CPU en el host, que se debe a la búsqueda de nuevos datos en un bucle muy estricto. Hay dos ajustes globales que controlan el número de microsegundos en que se esperan los paquetes de todas las interfaces.

     
`busy_read`  
Un tiempo de espera de sondeo ocupado de baja latencia para lecturas de sockets. Controla la cantidad de microsegundos que se esperan a que la capa de sockets lea los paquetes de la cola del dispositivo. Para habilitar la característica de forma global con el comando **sysctl**, la organización del kernel de Linux recomienda un valor de 50 microsegundos. Para obtener más información, consulte [busy\$1read](https://www.kernel.org/doc/html/v5.19/admin-guide/sysctl/net.html?highlight=busy_read) en la *Guía del usuario y del administrador del kernel de Linux*.  

  ```
  [ec2-user ~]$ sudo sysctl -w net.core.busy_read=50
  ```  
`busy_poll`  
Un tiempo de espera de sondeo ocupado de baja latencia para sondear y seleccionar. Controla la cantidad de microsegundos que se esperan a que se produzcan eventos. El valor recomendado está comprendido entre 50 y 100 microsegundos, según la cantidad de sockets que esté sondeando. Cuantos más sockets agregue, mayor será el número.  

  ```
  [ec2-user ~]$ sudo sysctl -w net.core.busy_poll=50
  ```
+ **Configure los estados de suspensión de CPU (estados C)**: los estados C controlan los niveles de suspensión en los que puede entrar un núcleo cuando está inactivo. Puede que desee controlar los estados C para ajustar el sistema en cuanto a latencia, en lugar del rendimiento. En los estados C más profundos, la CPU está esencialmente “suspendida” y no puede responder a las solicitudes hasta que se active y vuelva a un estado operativo. Hacer que los núcleos pasen al estado de suspensión lleva tiempo y aunque un núcleo en suspensión ofrece más margen para que otro núcleo arranque a una frecuencia superior, el núcleo en suspensión tarda un tiempo en activarse y en funcionar.

  Por ejemplo, si un núcleo al que se asigna que administre un paquete de red interrumpe su suspensión, puede haber un retraso en el servicio que produzca una interrupción. Puede configurar el sistema para que no utilice estados C más profundos. Sin embargo, si bien esta configuración reduce la latencia de reacción del procesador, también reduce el margen disponible para que otros núcleos alcancen la frecuencia Turbo Boost.

  Para reducir la latencia de reacción del procesador, puede limitar los estados C más profundos. Para obtener más información, consulte [High performance and low latency by limiting deeper C-states](https://docs.aws.amazon.com/linux/al2/ug/processor_state_control.html#c-states) en la *Guía del usuario de Amazon Linux 2*.

## Interrumpir la moderación
<a name="ena-latency-interrupt-moderation"></a>

El controlador de red ENA permite la comunicación entre una instancia y una red. El controlador procesa los paquetes de red y los pasa a la pila de red o a la tarjeta Nitro. Cuando entra un paquete de red, la tarjeta Nitro genera una interrupción para que la CPU notifique un evento al software.

Interrumpir  
Una interrupción es una señal que un dispositivo o una aplicación envía al procesador. La interrupción indica al procesador que se ha producido un evento o se ha cumplido una condición que requiere atención inmediata. Las interrupciones pueden gestionar tareas urgentes, como recibir datos de una interfaz de red, gestionar eventos de hardware o atender solicitudes de otros dispositivos.

Interrumpir la moderación  
La moderación de interrupciones es una técnica que reduce la cantidad de interrupciones que genera un dispositivo al agregarlas o retrasarlas. El propósito de la moderación de interrupciones es mejorar el rendimiento del sistema al reducir la sobrecarga asociada a la gestión de un gran número de interrupciones. Demasiadas interrupciones aumentan el uso de la CPU, lo que afecta negativamente al rendimiento, mientras que muy pocas interrupciones aumentan la latencia.

Moderación dinámica de interrupciones  
La moderación dinámica de interrupciones es una forma mejorada de moderación de interrupciones que ajusta dinámicamente la frecuencia de interrupciones en función de la carga del sistema y los patrones de tráfico actuales. Su objetivo es lograr un equilibrio entre reducir la sobrecarga de interrupciones y los paquetes por segundo o ancho de banda.  
La moderación dinámica de interrupciones está habilitada de forma predeterminada en algunas AMI (aunque se puede habilitar o deshabilitar en todas las AMI).

Para minimizar la latencia de la red, puede ser necesario deshabililar la moderación de interrupciones. Sin embargo, esto también puede aumentar la sobrecarga del procesamiento de interrupciones. Es importante encontrar el equilibrio adecuado entre reducir la latencia y minimizar los gastos generales. Los comandos `ethtool` pueden ayudarle a configurar la moderación de interrupciones. De forma predeterminada, `rx-usecs` se establece en `20` y `tx-usecs` se establece en `64`.

Para obtener la configuración de moderación de interrupciones actual, utilice el siguiente comando.

```
[ec2-user ~]$ ethtool -c interface | egrep "rx-usecs:|tx-usecs:|Adaptive RX"
Adaptive RX: on  TX: off
rx-usecs: 20
tx-usecs: 64
```

Para deshabilitar la modificación de interrupciones y la moderación dinámica de interrupciones, utilice el siguiente comando.

```
[ec2-user ~]$ sudo ethtool -C interface adaptive-rx off rx-usecs 0 tx-usecs 0
```

# Consideraciones sobre el Nitro System para ajustar el rendimiento
<a name="ena-nitro-perf"></a>

El sistema Nitro es una recopilación de componentes de hardware y software integrados en AWS que permiten alcanzar un alto rendimiento, una gran disponibilidad y mucha seguridad. El sistema Nitro proporciona capacidades de tipo bare metal que eliminan la sobrecarga de la virtualización y admiten cargas de trabajo que requieren acceso completo al hardware del host. Para obtener más información, consulte [AWS Nitro System](https://aws.amazon.com/ec2/nitro/).

Todos los tipos de instancias de EC2 de la generación actual procesan paquetes de red en tarjetas Nitro de EC2. En este tema, se describe la gestión de paquetes de alto nivel en la tarjeta Nitro, los aspectos comunes de la arquitectura y la configuración de la red que afectan al rendimiento de la gestión de paquetes y las medidas que puede tomar para lograr el máximo rendimiento en sus instancias basadas en Nitro.

Las tarjetas Nitro gestionan todas las interfaces de entrada y salida (E/S), como aquellas necesarias para las Virtual Private Clouds (VPC). Para todos los componentes que envían o reciben información a través de la red, las tarjetas Nitro actúan como un dispositivo de computación autónomo para el tráfico de E/S que está físicamente separado de la placa principal del sistema en la que se ejecutan las cargas de trabajo de los clientes.

## Flujo de paquetes de red en las tarjetas Nitro
<a name="ena-nitro-perf-network-flow"></a>

Las instancias de EC2 integradas en el Nitro System tienen capacidades de aceleración de hardware que permiten un procesamiento de paquetes más rápido, medido en función de las tasas de rendimiento de paquetes por segundo (PPS). Cuando una tarjeta Nitro realiza la evaluación inicial de un flujo nuevo, guarda la misma información para todos los paquetes del flujo, como los grupos de seguridad, las listas de control de acceso y las entradas de la tabla de enrutamiento. Cuando procesa paquetes adicionales para el mismo flujo, puede usar la información guardada para reducir la sobrecarga de esos paquetes.

La velocidad de conexión se mide mediante la métrica de conexiones por segundo (CPS). Cada nueva conexión requiere una sobrecarga de procesamiento adicional que debe tenerse en cuenta en las estimaciones de la capacidad de carga de trabajo. Es importante tener en cuenta las métricas de CPS y PPS al diseñar las cargas de trabajo.

**Cómo se establece una conexión**  
Cuando se establece una conexión entre una instancia basada en Nitro y otro punto de conexión, la tarjeta Nitro evalúa el flujo total del primer paquete que se envía o recibe entre los dos puntos de conexión. En el caso de los paquetes subsiguientes del mismo flujo, no suele ser necesaria una reevaluación completa. Sin embargo, hay algunas excepciones. Para obtener más información sobre las excepciones, consulte [Paquetes que no utilizan aceleración del hardware](#ena-nitro-perf-exceptions).

Las siguientes propiedades definen los dos puntos de conexión y el flujo de paquetes entre ellos. Estas cinco propiedades juntas se conocen como flujo de 5 tuplas.
+ IP de origen
+ Puerto de origen
+ IP de destino
+ Puerto de destino
+ Protocolo de comunicación

La dirección del flujo de paquetes se conoce como *entrada* (entrante) y *salida* (saliente). Las siguientes descripciones de alto nivel resumen el flujo de paquetes de red de extremo a extremo.
+ **Entrada:** cuando una tarjeta Nitro gestiona un paquete de red entrante, lo evalúa comparándolo con las reglas de firewall y las listas de control de acceso vigentes. Realiza un seguimiento de la conexión, la mide y realiza otras acciones, según proceda. A continuación, reenvía el paquete a su destino en la CPU del host.
+ **Salida:** cuando una tarjeta Nitro gestiona un paquete de red saliente, busca el destino de la interfaz remota, evalúa varias funciones de la VPC, aplica límites de velocidad y realiza las demás acciones pertinentes. A continuación, reenvía el paquete a su siguiente destino de salto en la red.

## Diseñar la red para un rendimiento óptimo
<a name="ena-nitro-perf-overall-design"></a>

Para aprovechar las capacidades de rendimiento de su sistema Nitro, debe comprender cuáles son sus necesidades de procesamiento de red y cómo afectan esas necesidades a la carga de trabajo de sus recursos de Nitro. Luego, puede diseñar para lograr un rendimiento óptimo para su entorno de red. La configuración de la infraestructura y el diseño y la configuración de la carga de trabajo de las aplicaciones pueden afectar tanto al procesamiento de paquetes como a las velocidades de conexión. Por ejemplo, si su aplicación tiene una alta tasa de establecimiento de conexiones, como un servicio de DNS, un firewall o un router virtual, tendrá menos oportunidades de aprovechar la aceleración del hardware que solo se produce una vez establecida la conexión.

Puede configurar las aplicaciones y la infraestructura para agilizar las cargas de trabajo y mejorar el rendimiento de la red. Sin embargo, no todos los paquetes cumplen los requisitos para la aceleración. El sistema Nitro utiliza todo el flujo de la red para las nuevas conexiones y para los paquetes que no cumplen los requisitos para la aceleración.

El resto de esta sección se centrará en las consideraciones de diseño de las aplicaciones y la infraestructura para garantizar que los paquetes fluyan dentro de la ruta acelerada en la medida de lo posible.

### Consideraciones sobre el diseño de la red para el sistema Nitro
<a name="ena-nitro-perf-considerations"></a>

Al configurar el tráfico de red para la instancia, hay muchos aspectos que se deben tener en cuenta y que pueden afectar al rendimiento de los PPS. Una vez establecido un flujo, la mayoría de los paquetes que entran o salen con regularidad cumplen los requisitos para la aceleración. Sin embargo, existen excepciones para garantizar que los diseños de infraestructura y los flujos de paquetes sigan cumpliendo con los estándares de protocolo.

Para obtener el mejor rendimiento de su tarjeta Nitro, debe considerar detenidamente las ventajas y desventajas de los siguientes detalles de configuración para su infraestructura y sus aplicaciones.

#### Consideraciones sobre infraestructura
<a name="ena-nitro-perf-infra-considerations"></a>

La configuración de la infraestructura puede afectar al flujo de paquetes y a la eficiencia del procesamiento. La siguiente lista incluye algunas consideraciones importantes.

**Configuración de la interfaz de red con asimetría**  
Los grupos de seguridad utilizan el seguimiento de conexiones para rastrear información sobre el tráfico que fluye hacia y desde la instancia. El enrutamiento asimétrico, en el que el tráfico entra en una instancia a través de una interfaz de red y sale por una interfaz de red diferente, puede reducir el rendimiento máximo que puede alcanzar una instancia si se realiza un seguimiento de los flujos. Para obtener más información sobre el seguimiento de conexiones de grupos de seguridad, las conexiones no rastreadas y las conexiones rastreadas automáticamente, consulte [Seguimiento de conexiones del grupo de seguridad de Amazon EC2](security-group-connection-tracking.md).

**Controladores de red**  
Los controladores de red se actualizan y publican periódicamente. Si sus controladores están desactualizados, eso puede afectar significativamente el rendimiento. Mantenga sus controladores actualizados para asegurarse de tener los parches más recientes y poder aprovechar las mejoras de rendimiento, como la característica de ruta acelerada, que solo está disponible para la última generación de controladores. Los controladores anteriores no son compatibles con la característica de ruta acelerada.  
Para aprovechar la característica de ruta acelerada, le recomendamos que instale el controlador ENA más reciente en sus instancias.  
**Instancias de Linux**: controlador ENA para Linux 2.2.9 o posterior. Para instalar o actualizar el controlador ENA para Linux desde el repositorio de GitHub de Amazon Drivers, consulte la sección [Compilación de controladores](https://github.com/amzn/amzn-drivers/tree/master/kernel/linux/ena#driver-compilation) del archivo readme.  
**Instancias de Windows**: controlador ENA para Windows 2.0.0 o posterior. Para instalar o actualizar el controlador ENA para Windows, consulte [Instalar el controlador ENA en instancias de Windows de EC2](ena-adapter-driver-install-upgrade-win.md).

**Distancia entre los puntos de conexión**  
Una conexión entre dos instancias de la misma zona de disponibilidad puede procesar más paquetes por segundo que una conexión entre regiones debido a la creación de ventanas TCP en la capa de aplicación, lo que determina la cantidad de datos que pueden estar en movimiento en un momento dado. Las distancias largas entre las instancias aumentan la latencia y disminuyen la cantidad de paquetes que los puntos de conexión pueden procesar.

**Límite de cola de bytes (BQL)**  
BQL es una característica que limita el número de bytes que se pasan a la tarjeta Nitro para reducir las colas. BQL está desactivado de forma predeterminada en los controladores ENA, en los sistemas operativos Amazon Linux y en la mayoría de las distribuciones de Linux. Si tanto BQL como la anulación del proxy de fragmentos están habilitados, se pueden producir limitaciones de rendimiento al restringir el número de bytes que se pasan a Nitro antes de procesar todos los fragmentos.

#### Consideraciones sobre el diseño de la aplicación
<a name="ena-nitro-perf-app-design"></a>

Hay aspectos del diseño y la configuración de la aplicación que pueden afectar a la eficiencia del procesamiento. La siguiente lista incluye algunas consideraciones importantes.

**Tamaño del paquete**  
Los paquetes de mayor tamaño pueden aumentar el rendimiento de los datos que una instancia puede enviar y recibir en la red. Amazon EC2 admite tramas gigantes de 9001 bytes, pero otros servicios pueden imponer límites diferentes. Los tamaños de paquete más pequeños pueden aumentar la velocidad de procesamiento de los paquetes, pero esto puede reducir el ancho de banda máximo alcanzado cuando la cantidad de paquetes supera los límites de los PPS.  
Si el tamaño de un paquete supera la unidad máxima de transmisión (MTU) de un salto de red, un router situado a lo largo de la ruta podría fragmentarlo. Los fragmentos de paquetes resultantes se consideran excepciones y generalmente se procesan a la velocidad estándar (no acelerada). Esto puede provocar variaciones en su rendimiento. Sin embargo, puede anular el comportamiento estándar de los paquetes fragmentados salientes con la configuración del modo proxy de fragmentos. Para obtener más información, consulte [Maximización del rendimiento de la red en su Nitro system](#ena-nitro-perf-maximize). Le recomendamos que evalúe su topología al configurar la MTU.

**Compensaciones de protocolo**  
Los protocolos confiables como el TCP tienen más sobrecarga que los protocolos poco confiables como el UDP. La menor sobrecarga y el procesamiento de red simplificado del protocolo de transporte UDP pueden resultar en una tasa de PPS más alta, pero a expensas de una entrega de paquetes confiable. Si la entrega fiable de paquetes no es fundamental para su aplicación, el UDP podría ser una buena opción.

**Microrráfaga**  
La microrráfaga se produce cuando el tráfico supera las asignaciones durante breves períodos de tiempo, en lugar de distribuirse uniformemente. Esto suele ocurrir en una escala de microsegundos.  
Por ejemplo, supongamos que tiene una instancia que puede enviar hasta 10 Gbps y que su aplicación envía los 10 Gb completos en medio segundo. Esta microrráfaga supera los límites permitidos durante el primer medio segundo y no deja nada durante el resto del segundo. Aunque haya enviado 10 Gb en el período de 1 segundo, los límites en el primer medio segundo pueden provocar que los paquetes se pongan en cola o se descarten.  
Puede utilizar un programador de red, como Linux Traffic Control, para acelerar el rendimiento y evitar que los paquetes se queden en cola o se pierdan debido a la microráfaga.

**Número de flujos**  
Un flujo único está limitado a 5 Gbps, a menos que esté dentro de un grupo con ubicación en clústeres que admita hasta 10 Gbps, o si utiliza ENA Express, que admite hasta 25 Gbps.  
Del mismo modo, una tarjeta Nitro puede procesar más paquetes en varios flujos en lugar de utilizar un solo flujo. Para alcanzar la velocidad máxima de procesamiento de paquetes por instancia, recomendamos al menos 100 flujos en instancias con un ancho de banda agregado de 100 Gbps o superior. A medida que aumentan las capacidades de ancho de banda agregado, también aumenta la cantidad de flujos necesarios para alcanzar las tasas de procesamiento máximas. La evaluación comparativa lo ayudará a determinar qué configuración necesita para alcanzar las velocidades máximas en su red.

**Colas de Elastic Network Adapter (ENA)**  
Elastic Network Adapter (ENA) usa varias colas de recepción (Rx) y transmisión (Tx) (colas de ENA) para mejorar el rendimiento y la escalabilidad de la red en las instancias de EC2. Estas colas administran de forma eficiente el tráfico de red al equilibrar la carga de los datos enviados y recibidos entre las colas disponibles.  
Para obtener más información, consulte [Colas de ENA](ena-queues.md).

**Sobrecarga del procesamiento de características**  
Características como Traffic Mirroring y ENA Express pueden aumentar la sobrecarga del procesamiento, lo que puede reducir el rendimiento absoluto del procesamiento de paquetes. Puede limitar el uso de características o deshabilitarlas para aumentar las tasas de procesamiento de paquetes.

**Seguimiento de la conexión para mantener el estado**  
Sus grupos de seguridad utilizan el seguimiento de conexiones para almacenar información sobre el tráfico hacia y desde la instancia. El seguimiento de la conexión aplica reglas a cada flujo individual de tráfico de red para determinar si el tráfico se permite o se deniega. La tarjeta Nitro utiliza el seguimiento del flujo para mantener el estado del flujo. A medida que se apliquen más reglas de grupos de seguridad, será necesario trabajar más para evaluar el flujo.  
No se rastrean todos los flujos de tráfico de la red. Si se configura una regla de grupo de seguridad con [Conexiones sin seguimiento](security-group-connection-tracking.md#untracked-connections), no es necesario realizar ningún trabajo adicional, excepto en el caso de las conexiones, de las que se realiza un seguimiento automático para garantizar un enrutamiento simétrico cuando hay varias rutas de respuesta válidas.

#### Paquetes que no utilizan aceleración del hardware
<a name="ena-nitro-perf-exceptions"></a>

No todos los paquetes pueden aprovechar la aceleración del hardware. La gestión de estas excepciones implica una sobrecarga de procesamiento necesaria para garantizar el buen estado de los flujos de la red. Los flujos de red deben cumplir de manera confiable los estándares de protocolo, ajustarse a los cambios en el diseño de la VPC y enrutar los paquetes solo a los destinos permitidos. Sin embargo, la sobrecarga reduce el rendimiento.

**Fragmentos de paquetes**  
Como se menciona en **Consideraciones sobre la aplicación**, los fragmentos de paquetes que resultan de paquetes que superan la MTU de la red generalmente se gestionan como excepciones y no pueden aprovechar la aceleración del hardware. Sin embargo, puede evitar las limitaciones de los fragmentos de salida con el modo proxy de fragmentos, según la versión del controlador. Para obtener más información, consulte las acciones que puede realizar en la sección [Maximización del rendimiento de la red en su Nitro system](#ena-nitro-perf-maximize).

**Conexiones inactivas**  
Cuando una conexión no tiene actividad durante un tiempo, incluso si no ha alcanzado su límite de tiempo de espera, el sistema puede despriorizarla. Luego, si los datos llegan después de que se haya perdido la prioridad de la conexión, el sistema debe tratarlos como una excepción para poder volver a conectarse.  
Para administrar sus conexiones, puede usar los tiempos de espera del seguimiento de conexiones para cerrar las conexiones inactivas. También puede usar losparámetros Keepalive de TCP para mantener abiertas las conexiones inactivas. Para obtener más información, consulte [Tiempo de espera de seguimiento de conexiones inactivas](security-group-connection-tracking.md#connection-tracking-timeouts).

**Mutación en la VPC**  
Todas las actualizaciones de los grupos de seguridad, las tablas de enrutamiento y las listas de control de acceso deben volver a evaluarse en la ruta de procesamiento para garantizar que las entradas de ruta y las reglas de los grupos de seguridad se sigan aplicando según lo esperado.

**Flujos de ICMP**  
El Protocolo de mensajes de control de Internet (ICMP) es un protocolo de capa de red que los dispositivos de red utilizan para diagnosticar problemas de comunicación en la red. Estos paquetes siempre utilizan el flujo completo.

**Flujos asimétricos de L2**  
NitroV3 y las plataformas anteriores no utilizan la aceleración de hardware para el tráfico entre dos ENI de la misma subred cuando una ENI utiliza el router de puerta de enlace predeterminado y la otra no. Las plataformas NitroV4 y posteriores utilizan la aceleración de hardware en este escenario. Para un mejor rendimiento en plataformas NitroV3 o anteriores, asegúrese de que el router de puerta de enlace predeterminado sea el mismo para ambas ENI o que dichas ENI se encuentren en subredes diferentes.

## Maximización del rendimiento de la red en su Nitro system
<a name="ena-nitro-perf-maximize"></a>

Puede modificar la configuración de red para maximizar su rendimiento en el sistema Nitro.

**Topics**
+ [

### Consideraciones
](#considerations)
+ [

### Ajuste del rendimiento de PPS
](#tuning)
+ [

### Configuración de la asignación de colas de ENA
](#max-perf-ena-queues)
+ [

### Monitoreo del rendimiento en las instancias de Linux
](#monitoring)

### Consideraciones
<a name="considerations"></a>

Antes de tomar cualquier decisión de diseño o ajustar la configuración de red de la instancia, le recomendamos que siga los siguientes pasos para asegurarse de obtener el mejor resultado:

1. Conozca las ventajas y desventajas de las medidas que puede tomar para mejorar el rendimiento mediante una revisión de [Consideraciones sobre el diseño de la red para el sistema Nitro](#ena-nitro-perf-considerations).

   Para obtener más información sobre configuración de instancias y prácticas recomendadas para configurar su instancia en Linux, consulte [ENA Linux Driver Best Practices and Performance Optimization Guide](https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/ENA_Linux_Best_Practices.rst) en GitHub.

1. Compare sus cargas de trabajo con el recuento máximo de flujos activos para determinar una línea de base para el rendimiento de su aplicación. Con una línea de base de rendimiento, puede probar las variaciones en la configuración o el diseño de la aplicación para comprender qué consideraciones tendrán el mayor impacto, especialmente si planea escalarlas verticalmente u horizontalmente.

### Ajuste del rendimiento de PPS
<a name="tuning"></a>

La siguiente lista contiene las acciones que puede realizar para ajustar el rendimiento de los PPS, en función de las necesidades del sistema.
+ Reduzca la distancia física entre dos instancias. Si las instancias de envío y recepción se encuentran en la misma zona de disponibilidad o utilizan grupos con ubicación en clústeres, puede reducir la cantidad de saltos que debe realizar un paquete para viajar de un punto de conexión a otro.
+ Utilice [Conexiones sin seguimiento](security-group-connection-tracking.md#untracked-connections).
+ Use el protocolo UDP para el tráfico de red.
+ En el caso de las instancias de EC2 con un ancho de banda agregado de 100 Gbps o más, distribuya la carga de trabajo entre 100 o más flujos individuales para distribuir el trabajo de manera uniforme en la tarjeta Nitro.
+ Para superar el límite de PPS de fragmentos de salida en las instancias de EC2, puede habilitar el modo proxy de fragmentos (según la versión del controlador). Esta configuración permite evaluar los paquetes fragmentados en la ruta de procesamiento, superando así el límite de PPS de salida de 1024. Al cargar el controlador, ejecute uno de los siguientes comandos para habilitar o deshabilitar el modo de proxy de fragmentos:

  **Habilitar el modo de proxy de fragmentos**

  ```
  sudo insmod ena.ko enable_frag_bypass=1
  ```

  **Deshabilitar el modo de proxy de fragmentos**

  ```
  sudo insmod ena.ko enable_frag_bypass=0
  ```

### Configuración de la asignación de colas de ENA
<a name="max-perf-ena-queues"></a>

En los tipos de instancias compatibles, puede asignar estas colas de forma dinámica entre las interfaces de red elásticas (ENI). La asignación flexible de colas de ENA optimiza la distribución de los recursos y permite la máxima utilización de la vCPU. Las cargas de trabajo de alto rendimiento de red suelen necesitar varias colas de ENA. Para obtener más información, consulte [Colas de ENA](ena-queues.md).

### Monitoreo del rendimiento en las instancias de Linux
<a name="monitoring"></a>

Puede usar las métricas de Ethtool en las instancias de Linux para monitorear los indicadores de rendimiento de la red de las instancias, como el ancho de banda, la velocidad de paquetes y el seguimiento de la conexión. Para obtener más información, consulte [Supervisar el rendimiento de la red para ajustes ENA en la instancia de EC2](monitoring-network-performance-ena.md).

# Optimizar el rendimiento de la red en instancias de Windows de EC2
<a name="enhanced-networking-os"></a>

Para conseguir el máximo rendimiento de red en instancias de Windows con redes mejoradas, es posible que necesite modificar la configuración predeterminada del sistema operativo. Recomendamos los siguientes cambios de configuración para aplicaciones que requieren un alto rendimiento de red. Otras optimizaciones (como activar la descarga de suma de comprobación y habilitar RSS, por ejemplo) ya están configuradas en las AMI oficiales de Windows.

**nota**  
La descarga de la chimenea TCP debe deshabilitarse en la mayoría de los casos de uso, y no está disponible a partir de Windows Server 2016.

Además de estas optimizaciones de sistemas operativos, debe también tener en cuenta la unidad de transmisión máxima (MTU) de su tráfico de red, y ajustarla según su carga de trabajo y arquitectura de red. Para obtener más información, consulte [Unidad de transmisión máxima (MTU) de red de la instancia de EC2](network_mtu.md).

AWS suele medir latencias medias de ida y vuelta entre las instancias iniciadas en un grupo de ubicación en clúster de 50 us y latencias de cola de 200 us en el percentil 99,9. Si sus aplicaciones necesitan latencias bajas de forma continuada, le recomendamos que utilice la última versión de los controladores ENA en instancias basadas en Nitro de rendimiento fijo.

## Configurar la afinidad de CPU de escalado del lado de recepción
<a name="windows-rss-cpu-affinity"></a>

El escalado lateral de recepción (RSS, por sus siglas en inglés) se utiliza para distribuir la carga de la CPU de tráfico de red en varios procesadores. De forma predeterminada, las AMI de Windows oficiales de Amazon se configuran con el RSS habilitado. Las interfaces de red elásticas de ENA proporcionan hasta ocho colas de RSS. Al definir la afinidad de la CPU para las colas de RSS, así como para otros procesos del sistema, es posible distribuir la carga de la CPU en sistemas de varios núcleos, permitiendo que se procese más tráfico de red. En tipos de instancia con más de 16 vCPU, se recomienda utilizar el cmdlet de PowerShell `Set-NetAdapterRSS`, que excluye manualmente el procesador de arranque (procesador lógico 0 y 1 cuando hyper-threading está habilitada) desde la configuración RSS para todas las interfaces de red elásticas, con el fin de evitar la contención con diversos componentes del sistema.

Windows es compatible con hyper-threading y garantiza que las colas de RSS de una tarjeta de interfaz de red (NIC) única se coloque siempre en núcleos físicos distintos. Por lo tanto, a menos que esté desactivada la tecnología Hyper-Threading, para evitar completamente un conflicto con otras NIC, propague la configuración de RSS de cada NIC entre una gama de 16 procesadores lógicos. El cmdlet `Set-NetAdapterRss` le permite definir el rango por NIC de procesadores lógicos válidos definiendo los valores de BaseProcessorGroup, BaseProcessorNumber, MaxProcessingGroup, MaxProcessorNumber y NumaNode (opcional). Si no hay suficientes núcleos físicos para eliminar por completo la contención dentro del NIC, minimice los rangos de solapamiento o reduzca el número de procesadores lógicos en los rangos de interfaz de red elástica en función de la carga de trabajo de la interfaz (en otras palabras, una interfaz de red administrativa de bajo volumen podría no necesitar tantas colas de RSS asignadas). Además, como se ha indicado con anterioridad, diversos componentes deben ejecutarse en la CPU 0 y, por tanto, recomendamos excluirla de todas las configuraciones de RSS cuando se disponga de suficientes vCPU. 

Por ejemplo, cuando hay tres interfaces de red elásticas en una instancia de 72 vCPU con dos nodos NUMA con hyper-threading habilitada, los siguientes comandos propagan la carga de red entre las dos CPU sin solapamiento e impiden el uso del núcleo 0 por completo. 

```
Set-NetAdapterRss -Name NIC1 -BaseProcessorGroup 0 -BaseProcessorNumber 2 -MaxProcessorNumber 16 
Set-NetAdapterRss -Name NIC2 -BaseProcessorGroup 1 -BaseProcessorNumber 0 -MaxProcessorNumber 14 
Set-NetAdapterRss -Name NIC3 -BaseProcessorGroup 1 -BaseProcessorNumber 16 -MaxProcessorNumber 30
```

Tenga en cuenta que esta configuración es persistente para todos los adaptadores de red. Si una instancia se redimensiona a una con distinto número de vCPU, debe volver a evaluar la configuración de RSS para cada interfaz de red elástica habilitada. La documentación completa de Microsoft para el cmdlet se puede encontrar aquí: [Set-NetAdapterRss](https://learn.microsoft.com/en-us/powershell/module/netadapter/set-netadapterrss).

Nota especial para las cargas de trabajo de SQL: también se recomienda revisar la configuración de afinidad de subprocesos de E/S junto con la configuración de RSS de interfaz de red elástica para minimizar la contención de E/S y de red para las mismas CPU. Consulte [Configuración del servidor: máscara de afinidad](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/affinity-mask-server-configuration-option).

# Elastic Fabric Adapter para cargas de trabajo de HPC y IA o ML en Amazon EC2
<a name="efa"></a>

Elastic Fabric Adapter (EFA) es un dispositivo de red que puede adjuntar a su instancia de Amazon EC2 para acelerar las aplicaciones de inteligencia artificial (IA), machine learning (ML) y computación de alto rendimiento (HPC). Un EFA le permite obtener el rendimiento de la aplicación de un clúster de HPC o IA o ML en las instalaciones que cuente con la escalabilidad, flexibilidad y elasticidad que proporciona la nube de AWS.

EFA proporciona una latencia menor y más coherente y un rendimiento superior que el transporte TCP que se utiliza tradicionalmente en sistemas HPC basados en la nube. Mejora el rendimiento de una comunicación entre instancias que es fundamental para escalar aplicaciones HCP y de IA o ML. Está optimizado para trabajar en la infraestructura de red de AWS existente y se puede escalar en función de los requisitos de aplicaciones.

Un EFA se integra con Libfabric y es compatible con Nvidia Collective Communications Library (NCCL) para aplicaciones de IA y ML. También es compatible con Open MPI 4.1 y versiones posteriores y con la actualización 5 de 2019 de Intel MPI para aplicaciones HPC. NCCL y MPI se integran con Libfabric 1.7.0 y versiones posteriores. NIXL se integra con Libfabric 1.21.0 y versiones posteriores.

EFA admite RDMA (acceso directo a memoria remota) de escritura en la mayoría de los tipos de instancias compatibles que tienen Nitro versión 4 o posterior. La lectura RDMA es compatible con todas las instancias con Nitro versión 4 o posterior. Para obtener más información, consulte [Tipos de instancias admitidas](#efa-instance-types).

**Topics**
+ [

## Conceptos básicos de EFA
](#efa-basics)
+ [

## Interfaces y bibliotecas admitidas
](#efa-mpi)
+ [

## Tipos de instancias admitidas
](#efa-instance-types)
+ [

## Sistemas operativos compatibles
](#efa-os)
+ [

## Limitaciones de EFA
](#efa-limits)
+ [

## Precios de EFA
](#efa-pricing)
+ [Introducción a EFA y MPI](efa-start.md)
+ [Introducción a EFA y NCCL](efa-start-nccl.md)
+ [Introducción a EFA y NIXL](efa-start-nixl.md)
+ [Maximizar el ancho de banda de la red](efa-acc-inst-types.md)
+ [Creación y asociación de un EFA](create-efa.md)
+ [Desasociación y eliminación de un EFA](detach-efa.md)
+ [Monitorear un EFA](efa-working-monitor.md)
+ [Verificación del instalador de EFA](efa-verify.md)
+ [Notas de la versión](efa-changelog.md)

## Conceptos básicos de EFA
<a name="efa-basics"></a>

Un dispositivo de EFA se puede conectar a una instancia de EC2 de dos formas:

1. Mediante una interfaz de EFA tradicional, también denominada EFA con ENA, que crea un dispositivo de EFA y un dispositivo de ENA.

1. Mediante una interfaz exclusiva para EFA, que solo crea el dispositivo de EFA.

El dispositivo de EFA ofrece funciones como la derivación integrada del sistema operativo y el control de congestión a través del protocolo Scalable Reliable Datagram (SRD). Las características del dispositivo de EFA permiten una funcionalidad de transporte fiable y de baja latencia que permite a la interfaz de EFA brindar un mejor rendimiento de las aplicaciones de HPC y ML en Amazon EC2. Por otro lado, el dispositivo de ENA ofrece redes IP tradicionales.

![\[Contrastando una pila de software de HPC tradicional con una que utiliza un EFA.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/efa_stack.png)


Tradicionalmente, las aplicaciones de IA y ML utilizan NCCL y NIXL (para la inferencia desagregada). Las aplicaciones HPC utilizan Message Passing Interface (MPI) para interaccionar con el transporte de red del sistema. En la nube de AWS, esto significa que las aplicaciones interactúan con NCCL, NIXL o MPI que, a continuación, utiliza la pila TCP/IP del sistema operativo y el controlador del dispositivo de ENA para permitir la comunicación de red entre instancias.

Con una interfaz de EFA tradicional (EFA con ENA) o solo EFA, las aplicaciones de IA o ML utilizan NCCL y NIXL (para la inferencia desagregada). Las aplicaciones HPC utilizan MPI, para interaccionar de manera directa con la API de Libfabric. La API Libfabric omite el kernel del sistema operativo y se comunica directamente con el dispositivo EFA para poner paquetes en la red. Esto reduce la sobrecarga y permite que las aplicaciones de IA o ML y HPC se ejecuten de forma más eficiente.

**nota**  
Libfabric es un componente principal del marco OpenFabrics Interfaces (OFI), que define y exporta la API de espacio del usuario de OFI. Para obtener más información consulte el sitio web de [Libfabric OpenFabrics](https://ofiwg.github.io/libfabric/).

### Diferencias entre las interfaces de red ENA, EFA y solo EFA
<a name="efa-differences"></a>

Amazon EC2 ofrece dos tipos de interfaces de red:
+ Las interfaces **ENA** proporcionan todas las características de enrutamiento y redes IP tradicionales que se requieren para admitir las redes IP de una VPC. Para obtener más información, consulte [Habilitar redes mejoradas con ENA en las instancias de EC2](enhanced-networking-ena.md).
+ Las interfaces **EFA** (EFA con ENA) proporcionan tanto el dispositivo de ENA para redes IP como el dispositivo EFA para comunicaciones de baja latencia y alto rendimiento.
+ Las interfaces **solo de EFA** admiten solo las capacidades del dispositivo de EFA, sin el dispositivo de ENA para las redes IP tradicionales.

En la siguiente tabla, se proporciona una comparación de las interfaces de red de ENA, EFA y solo EFA.


|  | ENA | EFA (EFA con ENA) | Solo EFA | 
| --- | --- | --- | --- | 
| Compatible con la funcionalidad de redes IP | Sí | Sí | No | 
| Se pueden asignar direcciones IPv4 o IPv6 | Sí | Sí | No | 
| Se puede usar como interfaz de red principal para instancias | Sí | Sí | No | 
| Se tiene en cuenta para el límite de adhesión al ENI por instancia | Sí | Sí | Sí | 
| Tipos de instancias admitidos | Compatible con todos los tipos de instancias basadas en Nitro | [Tipos de instancias admitidas](#efa-instance-types) | [Tipos de instancias admitidas](#efa-instance-types) | 
| Nomenclatura de parámetros en las API de EC2 | interface | efa | efa-only | 
| Nomenclatura de campos en la consola EC2 | Sin selección | EFA con ENA | Solo EFA | 

## Interfaces y bibliotecas admitidas
<a name="efa-mpi"></a>

Los EFA admiten las siguientes interfaces y bibliotecas:
+ Open MPI 4.1 y versiones posteriores
+ Intel MPI 2019 Actualización 5 y versiones posteriores
+ NVIDIA Collective Communications Library (NCCL) 2.4.2 y posterior
+ NVIDIA Inference Xfer Library (NIXL) 1.0.0 y versiones posteriores
+ SDK AWS Neuron versión 2.3 y posteriores

## Tipos de instancias admitidas
<a name="efa-instance-types"></a>

Todos los tipos de instancia que se muestran a continuación admiten EFA. Además, las tablas indican el soporte de lectura y escritura RDMA para los tipos de instancia.

------
#### [ Nitro v6 ]


| Tipo de instancia | Compatibilidad con lectura RDMA | Compatibilidad con escritura RDMA | 
| --- |--- |--- |
| Uso general | 
| --- |
| m8a.48xlarge | Yes | Yes | 
| m8a.metal-48xl | Yes | Yes | 
| m8azn.24xlarge | Yes | Yes | 
| m8azn.metal-24xl | Yes | Yes | 
| m8gb.16xlarge | Yes | Yes | 
| m8gb.24xlarge | Yes | Yes | 
| m8gb.48xlarge | Yes | Yes | 
| m8gb.metal-24xl | Yes | Yes | 
| m8gb.metal-48xl | Yes | Yes | 
| m8gn.16xlarge | Yes | Yes | 
| m8gn.24xlarge | Yes | Yes | 
| m8gn.48xlarge | Yes | Yes | 
| m8gn.metal-24xl | Yes | Yes | 
| m8gn.metal-48xl | Yes | Yes | 
| m8i.48xlarge | Yes | Yes | 
| m8i.96xlarge | Yes | Yes | 
| m8i.metal-48xl | Yes | Yes | 
| m8i.metal-96xl | Yes | Yes | 
| m8id.48xlarge | Yes | Yes | 
| m8id.96xlarge | Yes | Yes | 
| m8id.metal-48xl | Yes | Yes | 
| m8id.metal-96xl | Yes | Yes | 
| Computación optimizada | 
| --- |
| c8a.48xlarge | Yes | Yes | 
| c8a.metal-48xl | Yes | Yes | 
| c8gb.16xlarge | Yes | Yes | 
| c8gb.24xlarge | Yes | Yes | 
| c8gb.48xlarge | Yes | Yes | 
| c8gb.metal-24xl | Yes | Yes | 
| c8gb.metal-48xl | Yes | Yes | 
| c8gn.16xlarge | Yes | Yes | 
| c8gn.24xlarge | Yes | Yes | 
| c8gn.48xlarge | Yes | Yes | 
| c8gn.metal-24xl | Yes | Yes | 
| c8gn.metal-48xl | Yes | Yes | 
| c8i.48xlarge | Yes | Yes | 
| c8i.96xlarge | Yes | Yes | 
| c8i.metal-48xl | Yes | Yes | 
| c8i.metal-96xl | Yes | Yes | 
| c8id.48xlarge | Yes | Yes | 
| c8id.96xlarge | Yes | Yes | 
| c8id.metal-48xl | Yes | Yes | 
| c8id.metal-96xl | Yes | Yes | 
| Optimizada para memoria | 
| --- |
| r8a.48xlarge | Yes | Yes | 
| r8a.metal-48xl | Yes | Yes | 
| r8gb.16xlarge | Yes | Yes | 
| r8gb.24xlarge | Yes | Yes | 
| r8gb.48xlarge | Yes | Yes | 
| r8gb.metal-24xl | Yes | Yes | 
| r8gb.metal-48xl | Yes | Yes | 
| r8gn.16xlarge | Yes | Yes | 
| r8gn.24xlarge | Yes | Yes | 
| r8gn.48xlarge | Yes | Yes | 
| r8gn.metal-24xl | Yes | Yes | 
| r8gn.metal-48xl | Yes | Yes | 
| r8i.48xlarge | Yes | Yes | 
| r8i.96xlarge | Yes | Yes | 
| r8i.metal-48xl | Yes | Yes | 
| r8i.metal-96xl | Yes | Yes | 
| r8id.48xlarge | Yes | Yes | 
| r8id.96xlarge | Yes | Yes | 
| r8id.metal-48xl | Yes | Yes | 
| r8id.metal-96xl | Yes | Yes | 
| x8aedz.24xlarge | Yes | Yes | 
| x8aedz.metal-24xl | Yes | Yes | 
| x8i.48xlarge | Yes | Yes | 
| x8i.64xlarge | Yes | Yes | 
| x8i.96xlarge | Yes | Yes | 
| x8i.metal-48xl | Yes | Yes | 
| x8i.metal-96xl | Yes | Yes | 
| Optimización de almacenamiento | 
| --- |
| i8ge.48xlarge | Yes | No | 
| i8ge.metal-48xl | Yes | No | 
| Computación acelerada | 
| --- |
| g7e.8xlarge | Yes | Yes | 
| g7e.12xlarge | Yes | Yes | 
| g7e.24xlarge | Yes | Yes | 
| g7e.48xlarge | Yes | Yes | 
| p6-b200.48xlarge | Yes | Yes | 
| p6-b300.48xlarge | Yes | Yes | 
| Informática de alto rendimiento | 
| --- |
| hpc8a.96xlarge | Yes | Yes | 

------
#### [ Nitro v5 ]


| Tipo de instancia | Compatibilidad con lectura RDMA | Compatibilidad con escritura RDMA | 
| --- |--- |--- |
| Uso general | 
| --- |
| m8g.24xlarge | Yes | No | 
| m8g.48xlarge | Yes | No | 
| m8g.metal-24xl | Yes | No | 
| m8g.metal-48xl | Yes | No | 
| m8gd.24xlarge | No | No | 
| m8gd.48xlarge | No | No | 
| m8gd.metal-24xl | No | No | 
| m8gd.metal-48xl | No | No | 
| Computación optimizada | 
| --- |
| c7gn.16xlarge | Yes | No | 
| c7gn.metal | Yes | No | 
| c8g.24xlarge | Yes | No | 
| c8g.48xlarge | Yes | No | 
| c8g.metal-24xl | Yes | No | 
| c8g.metal-48xl | Yes | No | 
| c8gd.24xlarge | No | No | 
| c8gd.48xlarge | No | No | 
| c8gd.metal-24xl | No | No | 
| c8gd.metal-48xl | No | No | 
| Optimizada para memoria | 
| --- |
| r8g.24xlarge | No | No | 
| r8g.48xlarge | No | No | 
| r8g.metal-24xl | No | No | 
| r8g.metal-48xl | No | No | 
| r8gd.24xlarge | No | No | 
| r8gd.48xlarge | No | No | 
| r8gd.metal-24xl | No | No | 
| r8gd.metal-48xl | No | No | 
| x8g.24xlarge | No | No | 
| x8g.48xlarge | No | No | 
| x8g.metal-24xl | No | No | 
| x8g.metal-48xl | No | No | 
| Optimización de almacenamiento | 
| --- |
| i7ie.48xlarge | Yes | No | 
| i7ie.metal-48xl | Yes | No | 
| i8g.48xlarge | No | No | 
| i8g.metal-48xl | No | No | 
| Computación acelerada | 
| --- |
| p5en.48xlarge | Yes | Yes | 
| p6e-gb200.36xlarge | Yes | Yes | 
| trn2.3xlarge | Yes | Yes | 
| trn2.48xlarge | Yes | Yes | 
| trn2u.48xlarge | Yes | Yes | 
| Informática de alto rendimiento | 
| --- |
| hpc7g.4xlarge | Yes | No | 
| hpc7g.8xlarge | Yes | No | 
| hpc7g.16xlarge | Yes | No | 

------
#### [ Nitro v4 ]


| Tipo de instancia | Compatibilidad con lectura RDMA | Compatibilidad con escritura RDMA | 
| --- |--- |--- |
| Uso general | 
| --- |
| m6a.48xlarge | Yes | Yes | 
| m6a.metal | Yes | Yes | 
| m6i.32xlarge | Yes | Yes | 
| m6i.metal | Yes | Yes | 
| m6id.32xlarge | Yes | Yes | 
| m6id.metal | Yes | Yes | 
| m6idn.32xlarge | Yes | Yes | 
| m6idn.metal | Yes | Yes | 
| m6in.32xlarge | Yes | Yes | 
| m6in.metal | Yes | Yes | 
| m7a.48xlarge | Yes | No | 
| m7a.metal-48xl | Yes | No | 
| m7g.16xlarge | Yes | No | 
| m7g.metal | Yes | No | 
| m7gd.16xlarge | Yes | No | 
| m7gd.metal | Yes | No | 
| m7i.48xlarge | Yes | No | 
| m7i.metal-48xl | Yes | No | 
| Computación optimizada | 
| --- |
| c6a.48xlarge | Yes | Yes | 
| c6a.metal | Yes | Yes | 
| c6gn.16xlarge | Yes | Yes | 
| c6i.32xlarge | Yes | Yes | 
| c6i.metal | Yes | Yes | 
| c6id.32xlarge | Yes | Yes | 
| c6id.metal | Yes | Yes | 
| c6in.32xlarge | Yes | Yes | 
| c6in.metal | Yes | Yes | 
| c7a.48xlarge | Yes | No | 
| c7a.metal-48xl | Yes | No | 
| c7g.16xlarge | Yes | Yes | 
| c7g.metal | Yes | Yes | 
| c7gd.16xlarge | Yes | No | 
| c7gd.metal | Yes | No | 
| c7i.48xlarge | Yes | No | 
| c7i.metal-48xl | Yes | No | 
| Optimizada para memoria | 
| --- |
| r6a.48xlarge | Yes | Yes | 
| r6a.metal | Yes | Yes | 
| r6i.32xlarge | Yes | Yes | 
| r6i.metal | Yes | Yes | 
| r6id.32xlarge | Yes | Yes | 
| r6id.metal | Yes | Yes | 
| r6idn.32xlarge | Yes | Yes | 
| r6idn.metal | Yes | Yes | 
| r6in.32xlarge | Yes | Yes | 
| r6in.metal | Yes | Yes | 
| r7a.48xlarge | No | No | 
| r7a.metal-48xl | No | No | 
| r7g.16xlarge | No | No | 
| r7g.metal | No | No | 
| r7gd.16xlarge | No | No | 
| r7gd.metal | No | No | 
| r7i.48xlarge | No | No | 
| r7i.metal-48xl | No | No | 
| r7iz.32xlarge | No | No | 
| r7iz.metal-32xl | No | No | 
| u7i-6tb.112xlarge | Yes | Yes | 
| u7i-8tb.112xlarge | Yes | Yes | 
| u7i-12tb.224xlarge | Yes | Yes | 
| u7in-16tb.224xlarge | Yes | Yes | 
| u7in-24tb.224xlarge | Yes | Yes | 
| u7in-32tb.224xlarge | Yes | Yes | 
| u7inh-32tb.480xlarge | Yes | Yes | 
| x2idn.32xlarge | Yes | Yes | 
| x2idn.metal | Yes | Yes | 
| x2iedn.32xlarge | Yes | Yes | 
| x2iedn.metal | Yes | Yes | 
| Optimización de almacenamiento | 
| --- |
| i4g.16xlarge | Yes | Yes | 
| i4i.32xlarge | Yes | Yes | 
| i4i.metal | Yes | Yes | 
| i7i.24xlarge | Yes | No | 
| i7i.48xlarge | Yes | No | 
| i7i.metal-48xl | Yes | No | 
| im4gn.16xlarge | Yes | Yes | 
| Computación acelerada | 
| --- |
| f2.48xlarge | Yes | Yes | 
| g6.8xlarge | Yes | Yes | 
| g6.12xlarge | Yes | Yes | 
| g6.16xlarge | Yes | Yes | 
| g6.24xlarge | Yes | Yes | 
| g6.48xlarge | Yes | Yes | 
| g6e.8xlarge | Yes | Yes | 
| g6e.12xlarge | Yes | Yes | 
| g6e.16xlarge | Yes | Yes | 
| g6e.24xlarge | Yes | Yes | 
| g6e.48xlarge | Yes | Yes | 
| gr6.8xlarge | Yes | Yes | 
| p5.4xlarge | Yes | Yes | 
| p5.48xlarge | Yes | Yes | 
| p5e.48xlarge | Yes | Yes | 
| trn1.32xlarge | Yes | Yes | 
| trn1n.32xlarge | Yes | Yes | 
| Informática de alto rendimiento | 
| --- |
| hpc6a.48xlarge | Yes | Yes | 
| hpc6id.32xlarge | Yes | Yes | 
| hpc7a.12xlarge | Yes | No | 
| hpc7a.24xlarge | Yes | No | 
| hpc7a.48xlarge | Yes | No | 
| hpc7a.96xlarge | Yes | No | 

------
#### [ Nitro v3 ]


| Tipo de instancia | Compatibilidad con lectura RDMA | Compatibilidad con escritura RDMA | 
| --- |--- |--- |
| Uso general | 
| --- |
| m5dn.24xlarge | No | No | 
| m5dn.metal | No | No | 
| m5n.24xlarge | No | No | 
| m5n.metal | No | No | 
| m5zn.12xlarge | No | No | 
| m5zn.metal | No | No | 
| Computación optimizada | 
| --- |
| c5n.9xlarge | No | No | 
| c5n.18xlarge | No | No | 
| c5n.metal | No | No | 
| Optimizada para memoria | 
| --- |
| r5dn.24xlarge | No | No | 
| r5dn.metal | No | No | 
| r5n.24xlarge | No | No | 
| r5n.metal | No | No | 
| x2iezn.12xlarge | No | No | 
| x2iezn.metal | No | No | 
| Optimización de almacenamiento | 
| --- |
| i3en.12xlarge | No | No | 
| i3en.24xlarge | No | No | 
| i3en.metal | No | No | 
| Computación acelerada | 
| --- |
| dl1.24xlarge | Yes | No | 
| dl2q.24xlarge | No | No | 
| g4dn.8xlarge | No | No | 
| g4dn.12xlarge | No | No | 
| g4dn.16xlarge | No | No | 
| g4dn.metal | No | No | 
| g5.8xlarge | No | No | 
| g5.12xlarge | No | No | 
| g5.16xlarge | No | No | 
| g5.24xlarge | No | No | 
| g5.48xlarge | No | No | 
| inf1.24xlarge | No | No | 
| p3dn.24xlarge | No | No | 
| p4d.24xlarge | Yes | No | 
| p4de.24xlarge | Yes | No | 
| vt1.24xlarge | No | No | 
| Generación anterior | 
| --- |
| p3dn.24xlarge | No | No | 

------

**Para ver los tipos de instancias disponibles que son compatibles con los EFA en una región específica**  
Los tipos de instancia disponibles varían según la región. Para ver los tipos de instancias disponibles que son compatibles con los EFA en una región, utilice el comando [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) con el parámetro `--region`. Incluya el parámetro `--filters` para limitar los resultados a los tipos de instancia que admiten EFA y el parámetro `--query` para limitar la salida al valor de `InstanceType`.

```
aws ec2 describe-instance-types \
    --region us-east-1  \
    --filters Name=network-info.efa-supported,Values=true \
    --query "InstanceTypes[*].[InstanceType]"  \
    --output text | sort
```

## Sistemas operativos compatibles
<a name="efa-os"></a>

La compatibilidad del sistema operativo varía según el tipo de procesador. En la tabla siguiente se muestran los sistemas operativos compatibles.


| Sistema operativo | Tipos de instancias Intel/AMD (`x86_64`) | Tipos de instancia de AWS Graviton (`arm64`) | 
| --- | --- | --- | 
| Amazon Linux 2023 | ✓ | ✓ | 
| Amazon Linux 2 | ✓ | ✓ | 
| RHEL 8 y 9 | ✓ | ✓ | 
| Debian 11, 12 y 13 | ✓ | ✓ | 
| Rocky Linux 8 y 9 | ✓ | ✓ | 
| Ubuntu 22.04 y 24.04 | ✓ | ✓ | 
| SUSE Linux Enterprise 15 SP2 y posteriores | ✓ | ✓ | 
| OpenSUSE Leap 15.5 y versiones posteriores | ✓ |  | 

**nota**  
Es posible que algunos de los sistemas operativos mencionados no sean compatibles con Intel MPI. Si utiliza Intel MPI, consulte la [documentación de Intel MPI](https://www.intel.com/content/www/us/en/developer/articles/system-requirements/mpi-library-system-requirements.html) para verificar la compatibilidad con su sistema operativo.

## Limitaciones de EFA
<a name="efa-limits"></a>

Los EFA presentan las siguientes limitaciones:
+ La escritura RDMA no es compatible con todos los tipos de instancias. Para obtener más información, consulte [Tipos de instancias admitidas](#efa-instance-types).
+ Actualmente, no se admite el tráfico de 1 EFA entre las instancias P4d/P4de/DL1 y otros tipos de instancias.
+ [Los tipos de instancias que admiten varias tarjetas de red](using-eni.md#network-cards) se pueden configurar con un EFA por tarjeta de red. Todos los demás tipos de instancia compatibles admiten solo un EFA por instancia.
+ Los hosts dedicados y las instancias dedicadas de `c7g.16xlarge`, `m7g.16xlarge` y `r7g.16xlarge` no son compatibles cuando se adjunta un EFA.
+ El tráfico de 1 EFA no puede cruzar zonas de disponibilidad ni VPC. Esto no se aplica al tráfico de IP normal desde el dispositivo de ENA de una interfaz EFA.
+ El tráfico de 1 EFA no es enrutable. El tráfico de IP normal desde el dispositivo de ENA de una interfaz de EFA sigue siendo enrutable.
+ EFA no es compatible con AWS Outposts.
+ El dispositivo de EFA de una interfaz de EFA (EFA con ENA) solo es compatible con las instancias de Windows para aplicaciones basadas en el kit de desarrollo de software de AWS Cloud Digital Interface (SDK de AWS CDI). Si conectas una interfaz de EFA (EFA con ENA) a una instancia de Windows para aplicaciones que no estén basadas en el SDK de CDI, funcionará como una interfaz de ENA, sin las capacidades adicionales del dispositivo de EFA. Las aplicaciones basadas en AWS CDI en Windows o Linux no son compatibles con la interfaz exclusiva para EFA. Para obtener más información, consulte la [Guía del usuario del kit de desarrollo de software de AWS Cloud Digital Interface (SDK de AWS CDI)](https://docs.aws.amazon.com/CDI-SDK/latest/ug/what-is.html).

1*tráfico de EFA* se refiere al tráfico transmitido a través del dispositivo de EFA de una interfaz de EFA (EFA con ENA) o solo de EFA.

## Precios de EFA
<a name="efa-pricing"></a>

EFA está disponible como una función de red opcional de Amazon EC2 que puede habilitar en cualquier instancia compatible sin costo adicional.

# Introducción a EFA y MPI para cargas de trabajo de HPC en Amazon EC2
<a name="efa-start"></a>

Este tutorial lo ayuda a iniciar un clúster de instancias habilitado para MPI y EFA para cargas de trabajo de HPC.

**nota**  
Las instancias `u7i-12tb.224xlarge`, `u7in-16tb.224xlarge`, `u7in-24tb.224xlarge` y `u7in-32tb.224xlarge` pueden ejecutar hasta 128 procesos MPI paralelos con Open MPI o hasta 256 procesos MPI paralelos con Intel MPI.

**Topics**
+ [

## Paso 1: preparar un grupo de seguridad habilitado para EFA
](#efa-start-security)
+ [

## Paso 2: iniciar una instancia temporal
](#efa-start-tempinstance)
+ [

## Paso 3: instalar el software EFA
](#efa-start-enable)
+ [

## Paso 4: (*opcional*) habilitar Open MPI 5
](#efa-start-ompi5)
+ [

## Paso 5: (*opcional*) instalar Intel MPI
](#efa-start-impi)
+ [

## Paso 6: deshabilitar la protección ptrace
](#efa-start-ptrace)
+ [

## Paso 7. Confirmar instalación
](#efa-start-test)
+ [

## Paso 8: instalar la aplicación de HPC
](#efa-start-hpc-app)
+ [

## Paso 9: crear una AMI habilitada para EFA
](#efa-start-ami)
+ [

## Paso 10: iniciar instancias habilitadas para EFA en un grupo con ubicación en clúster
](#efa-start-instances)
+ [

## Paso 11: finalizar la instancia temporal
](#efa-start-terminate)
+ [

## Paso 12: habilitar SSH sin contraseña
](#efa-start-passwordless)

## Paso 1: preparar un grupo de seguridad habilitado para EFA
<a name="efa-start-security"></a>

Un EFA requiere un grupo de seguridad que permita todo el tráfico entrante y saliente hacia y desde el propio grupo de seguridad. En el siguiente procedimiento, se crea un grupo de seguridad que permite todo el tráfico entrante y saliente de sí mismo, y que permite el tráfico SSH entrante desde cualquier dirección IPv4 para la conectividad SSH.

**importante**  
Este grupo de seguridad está pensado solo con fines de prueba. Para sus entornos de producción, le recomendamos que cree una regla SSH entrante que permita el tráfico únicamente desde la dirección IP desde la que se conecta, como la dirección IP de su equipo o un rango de direcciones IP en la red local.

Para ver otros escenarios, consulte [Reglas de grupo de seguridad para diferentes casos de uso](security-group-rules-reference.md).

**Para crear un grupo de seguridad habilitado para EFA**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Grupos de seguridad** y, a continuación, elija **Crear grupo de seguridad**.

1. En la ventana **Crear grupo de seguridad**, haga lo siguiente:

   1. En **Nombre del grupo de seguridad**, ingrese un nombre descriptivo para el grupo de seguridad, como, por ejemplo, `EFA-enabled security group`.

   1. (Opcional) En **Descripción**, ingrese una breve descripción del grupo de seguridad.

   1. En **VPC**, seleccione la VPC en la que desea iniciar sus instancias habilitadas para EFA.

   1. Elija **Creación de grupo de seguridad**.

1. Seleccione el grupo de seguridad que creó y, en la pestaña **Detalles**, copie el **ID del grupo de seguridad**.

1. Con el grupo de seguridad todavía seleccionado, elija **Acciones**, **Editar reglas de entrada** y, luego, haga lo siguiente:

   1. Seleccione **Agregar regla**.

   1. En **Tipo**, seleccione **Todo el tráfico**.

   1. En **Tipo de origen**, elija **Personalizar** y pegue el ID del grupo de seguridad que copió en el campo.

   1. Seleccione **Agregar regla**.

   1. En **Tipo**, seleccione **SSH**.

   1. En **Tipo de origen**, elija **Cualquiera de IPv4**.

   1. Seleccione **Guardar reglas**.

1. Con el grupo de seguridad todavía seleccionado, elija **Acciones**, **Editar reglas de salida** y, luego, haga lo siguiente:

   1. Seleccione **Agregar regla**.

   1. En **Tipo**, seleccione **Todo el tráfico**.

   1. En **Tipo de destino**, elija **Personalizar** y pegue el ID del grupo de seguridad que copió en el campo.

   1. Seleccione **Guardar reglas**.

## Paso 2: iniciar una instancia temporal
<a name="efa-start-tempinstance"></a>

Lance una instancia temporal que puede utilizar para instalar y configurar los componentes de software de EFA. Puede utilizar esta instancia para crear una AMI habilitada para EFA desde la que puede iniciar sus instancias habilitadas para EFA. 

**Para iniciar una instancia temporal**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Instancias** y, a continuación, **Iniciar instancias** para abrir el nuevo asistente de inicialización de instancias.

1. (*Opcional*) En la sección **Nombre y etiquetas**, proporcione un nombre para la instancia, como `EFA-instance`. El nombre se asigna a la instancia como etiqueta de recurso (`Name=EFA-instance`).

1. En la sección **Application and OS Images** (Imágenes de aplicaciones y sistema operativo), seleccione una AMI para uno de los [sistemas operativos compatibles](efa.md#efa-os).

1. En la sección **Tipo de instancia**, seleccione el [tipo de instancia admitida](efa.md#efa-instance-types).

1. En la sección **Par de claves**, seleccione el par de claves que desea utilizar en la instancia.

1. En la sección **Configuración de red**, elija **Editar** y realice lo siguiente:

   1. En **Subred**, elija la subred en la que desea iniciar la instancia. Si no selecciona una subred, no puede habilitar la instancia para EFA.

   1. En **Firewall (grupos de seguridad)**, elija **Seleccionar grupo de seguridad existente** y, a continuación, seleccione el grupo de seguridad que creó en el paso anterior.

   1. Amplíe la sección **Configuración de red avanzada**.

      Para **la interfaz de red 1**, seleccione **Índice de tarjeta de red = 0**, **Índice de dispositivo = 0** y **Tipo de interfaz = EFA con ENA**.

      (Opcional) Si utiliza un tipo de instancia con varias tarjetas, por ejemplo, `p4d.24xlarge` o `p5.48xlarge`, para cada interfaz de red adicional necesaria, elija **Agregar interfaz de red**; en **Índice de tarjetas de red**, seleccione el siguiente índice no utilizado y, a continuación, seleccione **Índice de dispositivo = 1** y **Tipo de interfaz = EFA con ENA** o **solo EFA**.

1. En la sección **Almacenamiento**, configure los volúmenes según sea necesario.

1. En el panel **Resumen** que se encuentra a la derecha, elija **Iniciar instancia**.

**nota**  
Considere la posibilidad de solicitar el uso de IMDSv2 para la instancia temporal, así como la AMI que creará en el [paso 9](#efa-start-ami), a menos que ya haya [configurado IMDSv2 como predeterminado para la cuenta](configuring-IMDS-new-instances.md#set-imdsv2-account-defaults). Para obtener más información acerca de la configuración de IMDSv2, consulte [Configurar las opciones de metadatos para instancias nuevas](configuring-IMDS-new-instances.md). 

## Paso 3: instalar el software EFA
<a name="efa-start-enable"></a>

Instale el kernel habilitado para EFA, los controladores de EFA, Libfabric y la pila Open MPI necesarios para admitir EFA en su instancia temporal.

Los pasos varían en función de si pretende utilizar EFA con Open MPI, con Intel MPI o con Open MPI e Intel MPI.

**nota**  
Es posible que algunos sistemas operativos no sean compatibles con Intel MPI. Si utiliza Intel MPI, consulte la [documentación de Intel MPI](https://www.intel.com/content/www/us/en/developer/articles/system-requirements/mpi-library-system-requirements.html) para verificar la compatibilidad con su sistema operativo.

**Para instalar el software EFA**

1. Conéctese a la instancia que lanzó. Para obtener más información, consulte [Conexión a la instancia de Linux con SSH](connect-to-linux-instance.md).

1. Para asegurarse de que todos los paquetes de software están actualizados, realice una actualización rápida del software en la instancia. Este proceso puede demorar unos minutos.
   + Amazon Linux 2023, Amazon Linux 2, RHEL 8/9, Rocky Linux 8/9

     ```
     $ sudo yum update -y
     ```
   + Ubuntu y Debian

     ```
     $ sudo apt-get update && sudo apt-get upgrade -y
     ```
   + SUSE Linux Enterprise

     ```
     $ sudo zypper update -y
     ```

1. Reinicie la instancia y vuelva a conectarse a ella.

1. Descargue los archivos de instalación de software de EFA. Los archivos de instalación de software están empaquetados en un archivo tarball comprimido (`.tar.gz`). Para descargar la última versión *estable*, utilice el comando siguiente.

   También puede obtener la última versión reemplazando el número de versión por `latest` en el comando anterior.

   ```
   $ curl -O https://efa-installer.amazonaws.com/aws-efa-installer-1.47.0.tar.gz
   ```

1. (*Opcional*) Verifique la autenticidad y la integridad del archivo tarball (`.tar.gz`) de EFA.

   Le recomendamos que lo haga para verificar la identidad del editor de software y para verificar que el archivo no se haya modificado ni dañado desde que se publicó. Si no desea verificar el archivo tarball, omita este paso.
**nota**  
De forma alternativa, si prefiere verificar el archivo tarball con una suma de comprobación MD5 o SHA256, consulte [Verificar el instalador de EFA mediante una suma de comprobación](efa-verify.md).

   1. Descargue la clave pública de GPG e impórtela a su conjunto de claves.

      ```
      $ wget https://efa-installer.amazonaws.com/aws-efa-installer.key && gpg --import aws-efa-installer.key
      ```

      El comando debe devolver un valor de clave. Anote el valor de clave, ya que lo necesitará en el siguiente paso.

   1. Verifique la huella digital de la clave de GPG. Ejecute el siguiente comando y especifique el valor de clave del paso anterior.

      ```
      $ gpg --fingerprint key_value
      ```

      El comando debe devolver una huella digital idéntica a `4E90 91BC BB97 A96B 26B1 5E59 A054 80B1 DD2D 3CCC`. Si la huella digital no coincide, no ejecute el script de instalación de EFA y contáctese con Soporte.

   1. Descargue el archivo de firma y verifique la firma del archivo tarball de EFA.

      ```
      $ wget https://efa-installer.amazonaws.com/aws-efa-installer-1.47.0.tar.gz.sig && gpg --verify ./aws-efa-installer-1.47.0.tar.gz.sig
      ```

      A continuación se muestra un ejemplo de salida.

      ```
      gpg: Signature made Wed 29 Jul 2020 12:50:13 AM UTC using RSA key ID DD2D3CCC
      gpg: Good signature from "Amazon EC2 EFA <ec2-efa-maintainers@amazon.com>"
      gpg: WARNING: This key is not certified with a trusted signature!
      gpg:          There is no indication that the signature belongs to the owner.
      Primary key fingerprint: 4E90 91BC BB97 A96B 26B1  5E59 A054 80B1 DD2D 3CCC
      ```

      Si el resultado incluye `Good signature` y la huella digital coincide con la huella digital del paso anterior, avance al siguiente paso. Si no es así, no ejecute el script de instalación de EFA y contáctese con Soporte.

1. Extraiga los archivos desde el archivo `.tar.gz` comprimido y acceda al directorio extraído.

   ```
   $ tar -xf aws-efa-installer-1.47.0.tar.gz && cd aws-efa-installer
   ```

1. Instale el software EFA. Realice una de las siguientes acciones en función de su caso de uso.
**nota**  
**EFA no admite NVIDIA GPUDirect con SUSE Linux**. Si usa SUSE Linux, debe especificar adicionalmente la opción `--skip-kmod` para evitar la instalación de kmod. De forma predeterminada, SUSE Linux no permite módulos de kernel fuera del árbol.

------
#### [ Open MPI and Intel MPI ]

   Si tiene la intención de usar EFA con Open MPI e Intel MPI, debe instalar el software de EFA con Libfabric y Open MPI, y **debe completar el paso 5: Instalar Intel MPI**.

   Para instalar el software EFA con Libfabric y Open MPI, ejecute el siguiente comando.

**nota**  
A partir de la versión 1.30.0 de EFA, tanto Open MPI 4.1 como Open MPI 5 se instalan de forma predeterminada. Si lo desea, puede especificar la versión de Open MPI que desea instalar. Para instalar únicamente Open MPI 4.1, incluya `--mpi=openmpi4`. Para instalar únicamente Open MPI 5, incluya `--mpi=openmpi5`. Para instalar ambos, omita la opción `--mpi`.

   ```
   $ sudo ./efa_installer.sh -y
   ```

   Libfabric se instala en `/opt/amazon/efa`. Open MPI 4.1 se instala en `/opt/amazon/openmpi`. Open MPI 5 se instala en `/opt/amazon/openmpi5`.

------
#### [ Open MPI only ]

   Si tiene la intención de usar EFA solo con Open MPI, debe instalar el software de EFA con Libfabric y Open MPI, y debe **omitir el paso 5: Instalar Intel MPI**. Para instalar el software EFA con Libfabric y Open MPI, ejecute el siguiente comando.

**nota**  
A partir de la versión 1.30.0 de EFA, tanto Open MPI 4.1 como Open MPI 5 se instalan de forma predeterminada. Si lo desea, puede especificar la versión de Open MPI que desea instalar. Para instalar únicamente Open MPI 4.1, incluya `--mpi=openmpi4`. Para instalar únicamente Open MPI 5, incluya `--mpi=openmpi5`. Para instalar ambos, omita la opción `--mpi`.

   ```
   $ sudo ./efa_installer.sh -y
   ```

   Libfabric se instala en `/opt/amazon/efa`. Open MPI 4.1 se instala en `/opt/amazon/openmpi`. Open MPI 5 se instala en `/opt/amazon/openmpi5`.

------
#### [ Intel MPI only ]

   Si tiene la intención de utilizar solo EFA con Intel MPI, puede instalar el software EFA sin Libfabric y Open MPI. En este caso, Intel MPI utiliza su Libfabric integrado. Si decide hacerlo, **debe completar el paso 5: Instalar Intel MPI**. 

   Para instalar el software EFA sin Libfabric y Open MPI, ejecute el siguiente comando.

   ```
   $ sudo ./efa_installer.sh -y --minimal
   ```

------

1. Si el instalador de EFA le pide que reinicie la instancia, hágalo y vuelva a conectarse a la instancia. De lo contrario, cierre la sesión de la instancia y vuelva a iniciar sesión para completar la instalación.

1. Elimine el archivo tarball sin comprimir y el propio tarball. De lo contrario, se incluirán en la AMI habilitada para EFA que cree, lo que aumentará su tamaño.

## Paso 4: (*opcional*) habilitar Open MPI 5
<a name="efa-start-ompi5"></a>

**nota**  
Realice este paso solo si pretende usar Open MPI 5.

A partir de la versión 1.30.0 de EFA, tanto Open MPI 4.1 como Open MPI 5 se instalan de forma predeterminada. Como alternativa, puede elegir instalar solo Open MPI 4.1 o Open MPI 5.

Si optó por instalar Open MPI 5 en el **paso 3: Instalar el software de EFA** y tiene intención de usarlo, debe realizar los siguientes pasos para habilitarlo.

**Habilitar Open MPI 5**

1. Agregue Open MPI 5 a la variable de entorno PATH.

   ```
   $ module load openmpi5
   ```

1. Compruebe que Open MPI 5 esté habilitado para su uso.

   ```
   $ which mpicc
   ```

   El comando debería devolver el directorio de instalación de Open MPI 5: `/opt/amazon/openmpi5`.

1. (*Opcional*) Para asegurarse de que Open MPI 5 se agregue a la variable de entorno PATH cada vez que se inicie la instancia, haga lo siguiente:

------
#### [ bash shell ]

   Agregue `module load openmpi5` a `/home/username/.bashrc` y `/home/username/.bash_profile`.

------
#### [ csh and tcsh shells ]

   Agregue `module load openmpi5` a `/home/username/.cshrc`.

------

Si necesita eliminar Open MPI 5 de la variable de entorno PATH, ejecute el siguiente comando y elimine el comando de los scripts de inicio del intérprete de comandos.

```
$ module unload openmpi5
```

## Paso 5: (*opcional*) instalar Intel MPI
<a name="efa-start-impi"></a>

**importante**  
Ejecute este paso solo si pretende utilizar Intel MPI. Si tiene la intención de utilizar solo Open MPI, omita este paso. 

La instalación de Intel MPI requiere una instalación adicional y la configuración de una variable de entorno.

**Requisito previo**  
Asegúrese de que el usuario que lleva a cabo los pasos siguientes tenga permisos sudo.

**Para instalar Intel MPI**

1. Para descargar el script de instalación de Intel MPI, haga lo siguiente:

   1. Visite el [sitio web de Intel](https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#mpi).

   1. En la sección **Biblioteca de Intel MPI** de la página web, elija el enlace para el instalador de la **Biblioteca de Intel MPI para Linux** **sin conexión**.

1. Ejecute el script de instalación que descargó en el paso anterior.

   ```
   $ sudo bash installation_script_name.sh
   ```

1. En el instalador, elija **Aceptar e instalar**.

1. Lea el programa de mejora de Intel, elija la opción correspondiente y, a continuación, **Comenzar la instalación**.

1. Cuando finalice la instalación, elija **Cerrar**.

1. De forma predeterminada, Intel MPI utiliza su Libfabric integrada (interna). En cambio, puede configurar Intel MPI para que use la Libfabric que se incluye con el instalador de EFA. Por lo general, el instalador de EFA incluye una versión de Libfabric posterior a la de Intel MPI. En algunos casos, la Libfabric que se incluye con el instalador de EFA es más eficaz que la de Intel MPI. Para configurar Intel MPI de modo que use la Libfabric que se incluye con el instalador de EFA, realice alguna de las siguientes acciones en función de su shell.

------
#### [ bash shells ]

   Agregue la siguiente instrucción a `/home/username/.bashrc` y `/home/username/.bash_profile`.

   ```
   export I_MPI_OFI_LIBRARY_INTERNAL=0
   ```

------
#### [ csh and tcsh shells ]

   Agregue la siguiente instrucción a `/home/username/.cshrc`.

   ```
   setenv I_MPI_OFI_LIBRARY_INTERNAL 0
   ```

------

1. Agregue el siguiente comando de **origen** al script de intérprete de comandos para obtener el script `vars.sh` desde el directorio de instalación para configurar el entorno del compilador cada vez que se inicie la instancia. Haga lo siguiente en función del shell.

------
#### [ bash shells ]

   Agregue la siguiente instrucción a `/home/username/.bashrc` y `/home/username/.bash_profile`.

   ```
   source /opt/intel/oneapi/mpi/latest/env/vars.sh
   ```

------
#### [ csh and tcsh shells ]

   Agregue la siguiente instrucción a `/home/username/.cshrc`.

   ```
   source /opt/intel/oneapi/mpi/latest/env/vars.csh
   ```

------

1. De forma predeterminada, si el EFA no está disponible debido a una configuración incorrecta, Intel MPI utilizará la pila de red TCP/IP, lo que puede provocar un rendimiento más lento de la aplicación. Puede evitar que esto suceda configurando `I_MPI_OFI_PROVIDER` en `efa`. Esto hace que Intel MPI falle con el siguiente error si el EFA no está disponible:

   ```
   Abort (XXXXXX) on node 0 (rank 0 in comm 0): Fatal error in PMPI_Init: OtherMPI error,
   MPIR_Init_thread (XXX)........:	
   MPID_Init (XXXX)..............:
   MPIDI_OFI_mpi_init_hook (XXXX):
   open_fabric (XXXX)............:
   find_provider (XXXX)..........:
   OFI fi_getinfo() failed (ofi_init.c:2684:find_provider:
   ```

   Haga lo siguiente en función del shell.

------
#### [ bash shells ]

   Agregue la siguiente instrucción a `/home/username/.bashrc` y `/home/username/.bash_profile`.

   ```
   export I_MPI_OFI_PROVIDER=efa
   ```

------
#### [ csh and tcsh shells ]

   Agregue la siguiente instrucción a `/home/username/.cshrc`.

   ```
   setenv I_MPI_OFI_PROVIDER efa
   ```

------

1. De forma predeterminada, Intel MPI no imprime la información de depuración. Puede especificar diferentes niveles de detalle para controlar la información de depuración. Los valores posibles (ordenados en función de la cantidad de información que proporcionan) son los siguientes: `0` (predeterminado), `1`, `2`, `3`, `4`, `5`. El nivel `1` y los niveles superiores imprimen la `libfabric version` y el `libfabric provider`. Use la `libfabric version` para comprobar si Intel MPI utiliza la Libfabric interna o la Libfabric que se incluye con el instalador de EFA. Si utiliza la Libfabric interna, la versión llevará el sufijo `impi`. Use el `libfabric provider` para comprobar si Intel MPI utiliza el EFA o la red TCP/IP. Si utiliza el EFA, el valor será `efa`. Si utiliza la red TCP/IP, el valor será `tcp;ofi_rxm`.

   Para habilitar la información de depuración, realice alguna de las siguientes acciones en función del shell.

------
#### [ bash shells ]

   Agregue la siguiente instrucción a `/home/username/.bashrc` y `/home/username/.bash_profile`.

   ```
   export I_MPI_DEBUG=value
   ```

------
#### [ csh and tcsh shells ]

   Agregue la siguiente instrucción a `/home/username/.cshrc`.

   ```
   setenv I_MPI_DEBUG value
   ```

------

1. De forma predeterminada, Intel MPI utiliza la memoria compartida del sistema operativo (`shm`) para la comunicación dentro del nodo y, por otro lado, usa la Libfabric (`ofi`) solo para la comunicación entre nodos. Por lo general, esta configuración proporciona el mejor rendimiento. Sin embargo, en algunos casos, la estructura shm de Intel MPI puede provocar el bloqueo de ciertas aplicaciones de forma indefinida.

   Para resolver este problema, puede forzar que Intel MPI use Libfabric para la comunicación tanto dentro del nodo como entre nodos. Para ello, realice alguna de las siguientes acciones en función del shell.

------
#### [ bash shells ]

   Agregue la siguiente instrucción a `/home/username/.bashrc` y `/home/username/.bash_profile`.

   ```
   export I_MPI_FABRICS=ofi
   ```

------
#### [ csh and tcsh shells ]

   Agregue la siguiente instrucción a `/home/username/.cshrc`.

   ```
   setenv I_MPI_FABRICS ofi
   ```

------
**nota**  
El proveedor de la Libfabric del EFA utiliza la memoria compartida del sistema operativo para la comunicación dentro del nodo. Esto significa que la configuración de `I_MPI_FABRICS` en `ofi` produce un rendimiento similar a la configuración predeterminada de `shm:ofi`.

1. Cierre la sesión de la instancia y, a continuación, vuelva a iniciar sesión.

Si ya no desea utilizar Intel MPI, quite las variables de entorno de los scripts de inicio del shell.

## Paso 6: deshabilitar la protección ptrace
<a name="efa-start-ptrace"></a>

Para mejorar el rendimiento de la aplicación HPC, Libfabric utiliza la memoria local de la instancia para las comunicaciones entre procesos cuando los procesos se ejecutan en la misma instancia. 

La característica de memoria compartida utiliza Cross Memory Attach (CMA), que no es compatible con la *protección ptrace*. Si utiliza una distribución Linux que tiene la protección ptrace habilitada de forma predeterminada, como Ubuntu, debe deshabilitarla. Si su distribución Linux no tiene la protección ptrace habilitada de forma predeterminada, omita este paso.

**Para deshabilitar la protección ptrace**  
Aplique alguna de las siguientes acciones:
+ Para deshabilitar temporalmente la protección ptrace con fines de prueba, ejecute el siguiente comando.

  ```
  $ sudo sysctl -w kernel.yama.ptrace_scope=0
  ```
+ Para deshabilitar permanentemente la protección ptrace, agregue `kernel.yama.ptrace_scope = 0` `/etc/sysctl.d/10-ptrace.conf` y reinicie la instancia.

## Paso 7. Confirmar instalación
<a name="efa-start-test"></a>

**Para confirmar que la instalación se ha realizado correctamente**

1. Para confirmar que MPI se instaló correctamente, ejecute el comando siguiente:

   ```
   $ which mpicc
   ```
   + En el caso de Open MPI, la ruta devuelta debe incluir `/opt/amazon/`
   + En el caso de Intel MPI, la ruta devuelta debe incluir `/opt/intel/`. Si no obtiene el resultado esperado, asegúrese de haber obtenido el script `vars.sh` de Intel MPI.

1. Para confirmar que los componentes de software de EFA y Libfabric se instalaron correctamente, ejecute el siguiente comando.

   ```
   $ fi_info -p efa -t FI_EP_RDM
   ```

   El comando debe devolver información acerca de las interfaces de EFA de Libfabric. En el siguiente ejemplo, se muestra el comando de salida.

   ```
   provider: efa
       fabric: EFA-fe80::94:3dff:fe89:1b70
       domain: efa_0-rdm
       version: 2.0
       type: FI_EP_RDM
       protocol: FI_PROTO_EFA
   ```

## Paso 8: instalar la aplicación de HPC
<a name="efa-start-hpc-app"></a>

Instale la aplicación de HPC en la instancia temporal. El procedimiento de instalación varía en función de la aplicación de HPC específica. Para obtener más información, consulte [Manage software on your AL2 instance](https://docs.aws.amazon.com/linux/al2/ug/managing-software.html) en la *Guía del usuario de Amazon Linux 2*.

**nota**  
Consulte la documentación de su aplicación de HPC para ver las instrucciones de instalación.

## Paso 9: crear una AMI habilitada para EFA
<a name="efa-start-ami"></a>

Después de haber instalado los componentes de software requeridos, crea una AMI que puede reutilizar para iniciar las instancias habilitadas para EFA.

**Para crear una AMI desde la instancia temporal**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la instancia temporal que creó y elija **Acciones**, **Imagen**, **Crear imagen**.

1. En **Crear imagen**, realice lo siguiente:

   1. En **Nombre de imagen**, ingrese un nombre descriptivo para la AMI.

   1. (Opcional) En **Descripción de imagen**, ingrese una breve descripción del propósito la AMI.

   1. Elija **Crear imagen**.

1. En el panel de navegación, elija **AMI**.

1. Localice la AMI que creó en la lista. Espere a que el estado pase de `pending` a `available` antes de continuar con el paso siguiente.

## Paso 10: iniciar instancias habilitadas para EFA en un grupo con ubicación en clúster
<a name="efa-start-instances"></a>

Lance las instancias habilitadas para EFA en un grupo de ubicación en clúster utilizando la AMI habilitada para EFA que creó en el **Paso 7** y el grupo de seguridad habilitado para EFA que creó en el **Paso 1**.

**nota**  
No es un requisito absoluto lanzar las instancias habilitadas con un EFA a un grupo de colocación de clústeres. Sin embargo, le recomendamos ejecutar sus instancias habilitadas para EFA en un grupo con ubicación en clúster a medida que inicia las instancias en un grupo de baja latencia en una única zona de disponibilidad.
Para garantizar que la capacidad esté disponible a medida que escala las instancias del clúster, puede crear una reserva de capacidad para su grupo con ubicación en clúster. Para obtener más información, consulte [Utilización de reservas de capacidad con grupos con ubicación en clúster](cr-cpg.md).

**Cómo lanzar una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Instancias** y, a continuación, **Iniciar instancias** para abrir el nuevo asistente de inicialización de instancias.

1. (*Opcional*) En la sección **Nombre y etiquetas**, proporcione un nombre para la instancia, como `EFA-instance`. El nombre se asigna a la instancia como etiqueta de recurso (`Name=EFA-instance`).

1. En la sección **Imágenes de aplicaciones y sistema operativo**, elija **Mis AMI** y, a continuación, seleccione la AMI que creó en el paso anterior.

1. En la sección **Tipo de instancia**, seleccione el [tipo de instancia admitida](efa.md#efa-instance-types).

1. En la sección **Par de claves**, seleccione el par de claves que desea utilizar en la instancia.

1. En la sección **Configuración de red**, elija **Editar** y realice lo siguiente:

   1. En **Subred**, elija la subred en la que desea iniciar la instancia. Si no selecciona una subred, no puede habilitar la instancia para EFA.

   1. En **Firewall (grupos de seguridad)**, elija **Seleccionar grupo de seguridad existente** y, a continuación, seleccione el grupo de seguridad que creó en el paso anterior.

   1. Amplíe la sección **Configuración de red avanzada**.

      Para **la interfaz de red 1**, seleccione **Índice de tarjeta de red = 0**, **Índice de dispositivo = 0** y **Tipo de interfaz = EFA con ENA**.

      (*Opcional*) Si utiliza un tipo de instancia con varias tarjetas, por ejemplo, `p4d.24xlarge` o `p5.48xlarge`, para cada interfaz de red adicional necesaria, elija **Agregar interfaz de red**; en **Índice de tarjetas de red**, seleccione el siguiente índice no utilizado y, a continuación, seleccione **Índice de dispositivo = 1** y **Tipo de interfaz = EFA con ENA** o **solo EFA**.

1. (*Opcional*) En la sección **Almacenamiento**, configure los volúmenes según sea necesario.

1. En la sección **Detalles avanzados**, para **Nombre del grupo de ubicación**, seleccione el grupo con ubicación en clúster en el que se iniciarán las instancias. Si necesita crear un nuevo grupo con ubicación en clúster, elija **Crear nuevo grupo de ubicación**.

1. En el panel **Resumen**que se encuentra a la derecha, en **Cantidad de instancias**, ingrese la cantidad de instancias habilitadas para EFA que desea iniciar y, a continuación, elija **Iniciar instancias**.

## Paso 11: finalizar la instancia temporal
<a name="efa-start-terminate"></a>

En este punto, ya no necesita la instancia que inició en el [paso 2](#efa-start-tempinstance). Puede finalizar la instancia para dejar de incurrir en cargos debido a esta.

**Para finalizar la instancia temporal**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la instancia temporal que creó y, a continuación, elija **Acciones**, **Estado de la instancia**, **Finalizar (eliminar) instancia**.

1. Cuando se le pida confirmación, elija **Finalizar (eliminar)**.

## Paso 12: habilitar SSH sin contraseña
<a name="efa-start-passwordless"></a>

Para permitir que las aplicaciones se ejecuten en todas las instancias del clúster, debe habilitar el acceso mediante SSH sin contraseña desde el nodo principal hasta los nodos miembro. El nodo principal es la instancia desde la que se ejecutan las aplicaciones. Las instancias restantes del clúster son los nodos miembros.

**Para habilitar SSH sin contraseña entre las instancias del clúster**

1. Seleccione una instancia del clúster como nodo principal y conéctese a ella.

1. Desactive `strictHostKeyChecking` y habilite `ForwardAgent` en el nodo principal. Abra `~/.ssh/config` con su editor de texto preferido y agregue lo siguiente.

   ```
   Host *
       ForwardAgent yes
   Host *
       StrictHostKeyChecking no
   ```

1. Genere un par de claves de RSA.

   ```
   $ ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
   ```

   El par de claves se crea en el directorio `$HOME/.ssh/`.

1. Cambie los permisos de la clave privada en el nodo principal.

   ```
   $ chmod 600 ~/.ssh/id_rsa
   chmod 600 ~/.ssh/config
   ```

1. Abra `~/.ssh/id_rsa.pub` con su editor de texto preferido y copie la clave.

1. Para cada nodo miembro del clúster, realice lo siguiente:

   1. Conéctese a la instancia.

   1. Abra `~/.ssh/authorized_keys` con su editor de texto preferido y agregue la clave pública que copió anteriormente.

1. Para probar que SSH sin contraseña funciona como se esperaba, conecte al nodo principal y ejecute el siguiente comando.

   ```
   $ ssh member_node_private_ip
   ```

   Debe conectarse al nodo miembro sin que se le pida una clave o una contraseña.

# Introducción a EFA y NCCL para cargas de trabajo de ML en Amazon EC2
<a name="efa-start-nccl"></a>

La Biblioteca de comunicación colectiva de NVIDIA (NCCL) es una biblioteca de rutinas de comunicación colectiva estándar para múltiples GPU en un solo nodo o múltiples nodos. NCCL se puede usar junto con EFA, Libfabric y MPI para admitir varias cargas de trabajo de machine learning. Para obtener más información, consulte el sitio web de [NCCL](https://developer.nvidia.com/nccl).

**Requisitos**
+ Solo se admiten los tipos de instancia de la serie P de computación acelerada. Para obtener más información, consulte [ instancia de computación acelerada de Amazon EC2](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html#ac-sizes).
+ Solo se admiten las AMI base Amazon Linux 2023 Amazon Linux 2, Ubuntu 24.04 y Ubuntu 22.04.
+ Con EFA solo se admite NCCL 2.4.2 y versiones posteriores.

Para obtener más información sobre cómo ejecutar cargas de trabajo de machine learning con EFA y NCCL mediante un AWS Deep Learning AMIs, consulte [Uso de EFA en la DLAMI](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-efa-using.html) en la *Guía para desarrolladores AWS Deep Learning AMIs*.

**Topics**
+ [

## Paso 1: preparar un grupo de seguridad habilitado para EFA
](#nccl-start-base-setup)
+ [

## Paso 2: iniciar una instancia temporal
](#nccl-start-base-temp)
+ [

## Paso 3: instalar los controladores de GPU Nvidia, el kit de herramientas Nvidia CUDA y la cuDNN
](#nccl-start-base-drivers)
+ [

## Paso 4: instalación de GDRCopy
](#nccl-start-base-gdrcopy)
+ [

## Paso 5: instalación del software EFA
](#nccl-start-base-enable)
+ [

## Paso 6: instalar NCCL
](#nccl-start-base-nccl)
+ [

## Paso 7: Instalar las pruebas de NCCL
](#nccl-start-base-tests)
+ [

## Paso 8: Probar la configuración de EFA y NCCL
](#nccl-start-base-test)
+ [

## Paso 9: Instalar las aplicaciones de machine learning
](#nccl-start-base-app)
+ [

## Paso 10: Crear una AMI habilitada para EFA y NCCL
](#nccl-start-base-ami)
+ [

## Paso 11: Terminar la instancia temporal
](#nccl-start-base-terminate)
+ [

## Paso 12: Lanzar instancias habilitadas para EFA en un grupo de colocación de clústeres
](#nccl-start-base-cluster)
+ [

## Paso 13: Habilitar SSH sin contraseña
](#nccl-start-base-passwordless)

## Paso 1: preparar un grupo de seguridad habilitado para EFA
<a name="nccl-start-base-setup"></a>

Un EFA requiere un grupo de seguridad que permita todo el tráfico entrante y saliente hacia y desde el propio grupo de seguridad. En el siguiente procedimiento, se crea un grupo de seguridad que permite todo el tráfico entrante y saliente de sí mismo, y que permite el tráfico SSH entrante desde cualquier dirección IPv4 para la conectividad SSH.

**importante**  
Este grupo de seguridad está pensado solo con fines de prueba. Para sus entornos de producción, le recomendamos que cree una regla SSH entrante que permita el tráfico únicamente desde la dirección IP desde la que se conecta, como la dirección IP de su equipo o un rango de direcciones IP en la red local.

Para ver otros escenarios, consulte [Reglas de grupo de seguridad para diferentes casos de uso](security-group-rules-reference.md).

**Para crear un grupo de seguridad habilitado para EFA**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Grupos de seguridad** y, a continuación, elija **Crear grupo de seguridad**.

1. En la ventana **Crear grupo de seguridad**, haga lo siguiente:

   1. En **Nombre del grupo de seguridad**, ingrese un nombre descriptivo para el grupo de seguridad, como, por ejemplo, `EFA-enabled security group`.

   1. (Opcional) En **Descripción**, ingrese una breve descripción del grupo de seguridad.

   1. En **VPC**, seleccione la VPC en la que desea iniciar sus instancias habilitadas para EFA.

   1. Elija **Creación de grupo de seguridad**.

1. Seleccione el grupo de seguridad que creó y, en la pestaña **Detalles**, copie el **ID del grupo de seguridad**.

1. Con el grupo de seguridad todavía seleccionado, elija **Acciones**, **Editar reglas de entrada** y, luego, haga lo siguiente:

   1. Seleccione **Agregar regla**.

   1. En **Tipo**, seleccione **Todo el tráfico**.

   1. En **Tipo de origen**, elija **Personalizar** y pegue el ID del grupo de seguridad que copió en el campo.

   1. Seleccione **Agregar regla**.

   1. En **Tipo**, seleccione **SSH**.

   1. En **Tipo de origen**, elija **Cualquiera de IPv4**.

   1. Seleccione **Guardar reglas**.

1. Con el grupo de seguridad todavía seleccionado, elija **Acciones**, **Editar reglas de salida** y, luego, haga lo siguiente:

   1. Seleccione **Agregar regla**.

   1. En **Tipo**, seleccione **Todo el tráfico**.

   1. En **Tipo de destino**, elija **Personalizar** y pegue el ID del grupo de seguridad que copió en el campo.

   1. Seleccione **Guardar reglas**.

## Paso 2: iniciar una instancia temporal
<a name="nccl-start-base-temp"></a>

Lance una instancia temporal que puede utilizar para instalar y configurar los componentes de software de EFA. Puede utilizar esta instancia para crear una AMI habilitada para EFA desde la que puede iniciar sus instancias habilitadas para EFA.

**Para iniciar una instancia temporal**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Instancias** y, a continuación, **Iniciar instancias** para abrir el nuevo asistente de inicialización de instancias.

1. (*Opcional*) En la sección **Nombre y etiquetas**, proporcione un nombre para la instancia, como `EFA-instance`. El nombre se asigna a la instancia como etiqueta de recurso (`Name=EFA-instance`).

1. En la sección **Imágenes de aplicaciones y sistema operativo**, seleccione una AMI para uno de los sistemas operativos compatibles.

1. En la sección **Tipo de instancia**, seleccione un tipo de instancia compatible.

1. En la sección **Par de claves**, seleccione el par de claves que desea utilizar en la instancia.

1. En la sección **Configuración de red**, elija **Editar** y realice lo siguiente:

   1. En **Subred**, elija la subred en la que desea iniciar la instancia. Si no selecciona una subred, no puede habilitar la instancia para EFA.

   1. En **Firewall (grupos de seguridad)**, elija **Seleccionar grupo de seguridad existente** y, a continuación, seleccione el grupo de seguridad que creó en el paso anterior.

   1. Amplíe la sección **Configuración de red avanzada**.

      Para **la interfaz de red 1**, seleccione **Índice de tarjeta de red = 0**, **Índice de dispositivo = 0** y **Tipo de interfaz = EFA con ENA**.

      (*Opcional*) Si utiliza un tipo de instancia con varias tarjetas, por ejemplo, `p4d.24xlarge` o `p5.48xlarge`, para cada interfaz de red adicional necesaria, elija **Agregar interfaz de red**; en **Índice de tarjetas de red**, seleccione el siguiente índice no utilizado y, a continuación, seleccione **Índice de dispositivo = 1** y **Tipo de interfaz = EFA con ENA** o **solo EFA**.

1. En la sección **Storage** (Almacenamiento), configure los volúmenes según sea necesario.
**nota**  
Debe aprovisionar 10 a 20 GiB adicionales de almacenamiento para el conjunto de herramientas CUDA de Nvidia. Si no aprovisiona suficiente almacenamiento, recibirá un error de `insufficient disk space` cuando intente instalar los controladores de Nvidia y el kit de herramientas CUDA.

1. En el panel **Resumen** que se encuentra a la derecha, elija **Iniciar instancia**.

## Paso 3: instalar los controladores de GPU Nvidia, el kit de herramientas Nvidia CUDA y la cuDNN
<a name="nccl-start-base-drivers"></a>

------
#### [ Amazon Linux 2023 and Amazon Linux 2 ]

**Para instalar los controladores de GPU Nvidia, el kit de herramientas Nvidia CUDA y la cuDNN, haga lo siguiente:**

1. Para asegurarse de que todos los paquetes de software están actualizados, realice una actualización rápida del software en la instancia.

   ```
   $ sudo yum upgrade -y && sudo reboot
   ```

   Una vez que se haya reiniciado, vuelva a conectarse a la instancia.

1. Instale las utilidades necesarias para instalar los controladores de la GPU Nvidia y el kit de herramientas Nvidia CUDA.

   ```
   $ sudo yum groupinstall 'Development Tools' -y
   ```

1. Desactive los controladores de código abierto de `nouveau`.

   1. Instale las utilidades y el paquete de encabezados del kernel necesarios para la versión del kernel que está ejecutando actualmente.

      ```
      $ sudo yum install -y wget kernel-devel-$(uname -r) kernel-headers-$(uname -r)
      ```

   1. Agregue `nouveau` al archivo de lista de denegaciones `/etc/modprobe.d/blacklist.conf `.

      ```
      $ cat << EOF | sudo tee --append /etc/modprobe.d/blacklist.conf
      blacklist vga16fb
      blacklist nouveau
      blacklist rivafb
      blacklist nvidiafb
      blacklist rivatv
      EOF
      ```

   1. Anexe `GRUB_CMDLINE_LINUX="rdblacklist=nouveau"` al archivo `grub` y vuelva a generar la configuración de Grub.

      ```
      $ echo 'GRUB_CMDLINE_LINUX="rdblacklist=nouveau"' | sudo tee -a /etc/default/grub \
      && sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      ```

1. Reinicie la instancia y vuelva a conectarse a ella.

1. Preparar los repositorios necesarios

   1. Habilite el repositorio EPEL y configure la distribución en `rhel7`.

      ```
      $ sudo amazon-linux-extras install epel \
      && distribution='rhel7'
      ```

   1. Configure el repositorio de red CUDA y actualice la caché del repositorio.

      ```
      $ ARCH=$( /bin/arch ) \
      && sudo yum-config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/$distribution/${ARCH}/cuda-$distribution.repo \
      && sudo yum clean expire-cache
      ```

   1. (*Solo versión 5.10 del kernel*) Siga estos pasos solo si está utilizando Amazon Linux 2 con la versión 5.10 del kernel. Si utiliza Amazon Linux 2 con la versión 4.12 del kernel, omita estos pasos. Para comprobar la versión del kernel, ejecute **uname -r**.

      1. Cree el archivo de configuración del controlador de Nvidia denominado `/etc/dkms/nvidia.conf`.

         ```
         $ sudo mkdir -p /etc/dkms \
         && echo "MAKE[0]=\"'make' -j2 module SYSSRC=\${kernel_source_dir} IGNORE_XEN_PRESENCE=1 IGNORE_PREEMPT_RT_PRESENCE=1 IGNORE_CC_MISMATCH=1 CC=/usr/bin/gcc10-gcc\"" | sudo tee /etc/dkms/nvidia.conf
         ```

      1. (Solo para `p4d.24xlarge` y `p5.48xlarge`) Copie el archivo de configuración del controlador de Nvidia.

         ```
         $ sudo cp /etc/dkms/nvidia.conf /etc/dkms/nvidia-open.conf
         ```

1. Instale los controladores de GPU de Nvidia, el conjunto de herramientas NVIDIA CUDA y la cuDNN.

   ```
   $ sudo yum clean all \
   && sudo yum -y install nvidia-driver-latest-dkms \
   && sudo yum -y install cuda-drivers-fabricmanager cuda libcudnn8-devel
   ```

1. Reinicie la instancia y vuelva a conectarse a ella.

1. (Solo para `p4d.24xlarge` y `p5.48xlarge`) Inicie el servicio de Nvidia Fabric Manager y asegúrese de que se inicie de forma automática cuando se inicia la instancia. Nvidia Fabric Manager es necesario para la administración de NV Switch.

   ```
   $ sudo systemctl enable nvidia-fabricmanager && sudo systemctl start nvidia-fabricmanager
   ```

1. Asegúrese de que las rutas CUDA se establecen cada vez que se inicia la instancia.
   + Para intérpretes de comandos *bash*, agregue las siguientes instrucciones a `/home/username/.bashrc` y `/home/username/.bash_profile`. 

     ```
     export PATH=/usr/local/cuda/bin:$PATH
     export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```
   + Para intérpretes de comandos *tcsh*, agregue las siguientes instrucciones a `/home/username/.cshrc`.

     ```
     setenv PATH=/usr/local/cuda/bin:$PATH
     setenv LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```

1. Para confirmar que los controladores de la GPU Nvidia son funcionales, ejecute el siguiente comando.

   ```
   $ nvidia-smi -q | head
   ```

   El comando debe devolver información sobre las GPU de Nvidia, los controladores de GPU de Nvidia y el kit de herramientas Nvidia CUDA.

------
#### [ Ubuntu 24.04 and Ubuntu 22.04 ]

**Para instalar los controladores de GPU Nvidia, el kit de herramientas Nvidia CUDA y la cuDNN, haga lo siguiente:**

1. Para asegurarse de que todos los paquetes de software están actualizados, realice una actualización rápida del software en la instancia.

   ```
   $ sudo apt-get update && sudo apt-get upgrade -y
   ```

1. Instale las utilidades necesarias para instalar los controladores de la GPU Nvidia y el kit de herramientas Nvidia CUDA.

   ```
   $ sudo apt-get update && sudo apt-get install build-essential -y
   ```

1. Para usar el controlador de GPU Nvidia, primero debe deshabilitar los controladores de código abierto `nouveau`.

   1. Instale las utilidades y el paquete de encabezados del kernel necesarios para la versión del kernel que está ejecutando actualmente.

      ```
      $ sudo apt-get install -y gcc make linux-headers-$(uname -r)
      ```

   1. Agregue `nouveau` al archivo de lista de denegaciones `/etc/modprobe.d/blacklist.conf `.

      ```
      $ cat << EOF | sudo tee --append /etc/modprobe.d/blacklist.conf
      blacklist vga16fb
      blacklist nouveau
      blacklist rivafb
      blacklist nvidiafb
      blacklist rivatv
      EOF
      ```

   1. Abra `/etc/default/grub` con su editor de texto preferido y agregue lo siguiente. 

      ```
      GRUB_CMDLINE_LINUX="rdblacklist=nouveau"
      ```

   1. Reconstruya la configuración de Grub.

      ```
      $ sudo update-grub
      ```

1. Reinicie la instancia y vuelva a conectarse a ella.

1. Agregue el repositorio de CUD e instale los controladores de GPU de Nvidia, el conjunto de herramientas NVIDIA CUDA y la cuDNN.
   + `p3dn.24xlarge`

     ```
     $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/7fa2af80.pub \
     && wget -O /tmp/deeplearning.deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/nvidia-machine-learning-repo-ubuntu2004_1.0.0-1_amd64.deb \
     && sudo dpkg -i /tmp/deeplearning.deb \
     && wget -O /tmp/cuda.pin https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin \
     && sudo mv /tmp/cuda.pin /etc/apt/preferences.d/cuda-repository-pin-600 \
     && sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub \
     && sudo add-apt-repository 'deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /' \
     && sudo apt update \
     && sudo apt install nvidia-dkms-535 \
     && sudo apt install -o Dpkg::Options::='--force-overwrite' cuda-drivers-535 cuda-toolkit-12-3 libcudnn8 libcudnn8-dev -y
     ```
   + `p4d.24xlarge` y `p5.48xlarge`

     ```
     $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/7fa2af80.pub \
     && wget -O /tmp/deeplearning.deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/nvidia-machine-learning-repo-ubuntu2004_1.0.0-1_amd64.deb \
     && sudo dpkg -i /tmp/deeplearning.deb \
     && wget -O /tmp/cuda.pin https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin \
     && sudo mv /tmp/cuda.pin /etc/apt/preferences.d/cuda-repository-pin-600 \
     && sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub \
     && sudo add-apt-repository 'deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /' \
     && sudo apt update \
     && sudo apt install nvidia-kernel-open-535 \
     && sudo apt install -o Dpkg::Options::='--force-overwrite' cuda-drivers-535 cuda-toolkit-12-3 libcudnn8 libcudnn8-dev -y
     ```

1. Reinicie la instancia y vuelva a conectarse a ella.

1. (Solo para `p4d.24xlarge` y `p5.48xlarge`) Instale Nvidia Fabric Manager.

   1. Debe instalar la versión de Nvidia Fabric Manager que coincida con la versión del módulo del kernel de Nvidia que instaló en el paso anterior.

      Ejecute el siguiente comando para determinar la versión del módulo del kernel de Nvidia.

      ```
      $ cat /proc/driver/nvidia/version | grep "Kernel Module"
      ```

      A continuación, se muestra un ejemplo del resultado.

      ```
      NVRM version: NVIDIA UNIX x86_64 Kernel Module  450.42.01  Tue Jun 15 21:26:37 UTC 2021
      ```

      En el ejemplo anterior, la versión principal `450` del módulo del kernel. Esto significa que necesita instalar la versión de Nvidia Fabric Manager `450`.

   1. Instale Nvidia Fabric Manager. Ejecute el siguiente comando y especifique la versión principal identificada en el paso anterior.

      ```
      $ sudo apt install -o Dpkg::Options::='--force-overwrite' nvidia-fabricmanager-major_version_number
      ```

      Por ejemplo, si se instaló la versión principal `450` del módulo de kernel, utilice el siguiente comando para instalar la versión correspondiente de Nvidia Fabric Manager.

      ```
      $ sudo apt install -o Dpkg::Options::='--force-overwrite' nvidia-fabricmanager-450
      ```

   1. Inicie el servicio y asegúrese de que se inicie de forma automática cuando se inicia la instancia. Nvidia Fabric Manager es necesario para la administración de NV Switch.

      ```
      $ sudo systemctl start nvidia-fabricmanager && sudo systemctl enable nvidia-fabricmanager
      ```

1. Asegúrese de que las rutas CUDA se establecen cada vez que se inicia la instancia.
   + Para intérpretes de comandos *bash*, agregue las siguientes instrucciones a `/home/username/.bashrc` y `/home/username/.bash_profile`. 

     ```
     export PATH=/usr/local/cuda/bin:$PATH
     export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```
   + Para intérpretes de comandos *tcsh*, agregue las siguientes instrucciones a `/home/username/.cshrc`.

     ```
     setenv PATH=/usr/local/cuda/bin:$PATH
     setenv LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```

1. Para confirmar que los controladores de la GPU Nvidia son funcionales, ejecute el siguiente comando.

   ```
   $ nvidia-smi -q | head
   ```

   El comando debe devolver información sobre las GPU de Nvidia, los controladores de GPU de Nvidia y el kit de herramientas Nvidia CUDA.

------

## Paso 4: instalación de GDRCopy
<a name="nccl-start-base-gdrcopy"></a>

Instale GDRCopy para mejorar el rendimiento de Libfabric. Para obtener más información sobre GDRCopy, consulte el [repositorio de GDRCopy](https://github.com/NVIDIA/gdrcopy).

------
#### [ Amazon Linux 2023 and Amazon Linux 2 ]

**Para instalar GDRCopy**

1. Instale las dependencias requeridas.

   ```
   $ sudo yum -y install dkms rpm-build make check check-devel subunit subunit-devel
   ```

1. Descargue y extraiga el paquete de GDRCopy.

   ```
   $ wget https://github.com/NVIDIA/gdrcopy/archive/refs/tags/v2.4.tar.gz \
   && tar xf v2.4.tar.gz ; cd gdrcopy-2.4/packages
   ```

1. Compile el paquete RPM de GDRCopy.

   ```
   $ CUDA=/usr/local/cuda ./build-rpm-packages.sh
   ```

1. Instale el paquete RPM de GDRCopy.

   ```
   $ sudo rpm -Uvh gdrcopy-kmod-2.4-1dkms.noarch*.rpm \
   && sudo rpm -Uvh gdrcopy-2.4-1.x86_64*.rpm \
   && sudo rpm -Uvh gdrcopy-devel-2.4-1.noarch*.rpm
   ```

------
#### [ Ubuntu 24.04 and Ubuntu 22.04 ]

**Para instalar GDRCopy**

1. Instale las dependencias requeridas.

   ```
   $ sudo apt -y install build-essential devscripts debhelper check libsubunit-dev fakeroot pkg-config dkms
   ```

1. Descargue y extraiga el paquete de GDRCopy.

   ```
   $ wget https://github.com/NVIDIA/gdrcopy/archive/refs/tags/v2.4.tar.gz \
   && tar xf v2.4.tar.gz \
   && cd gdrcopy-2.4/packages
   ```

1. Compile el paquete RPM de GDRCopy.

   ```
   $ CUDA=/usr/local/cuda ./build-deb-packages.sh
   ```

1. Instale el paquete RPM de GDRCopy.

   ```
   $ sudo dpkg -i gdrdrv-dkms_2.4-1_amd64.*.deb \
   && sudo dpkg -i libgdrapi_2.4-1_amd64.*.deb \
   && sudo dpkg -i gdrcopy-tests_2.4-1_amd64.*.deb \
   && sudo dpkg -i gdrcopy_2.4-1_amd64.*.deb
   ```

------

## Paso 5: instalación del software EFA
<a name="nccl-start-base-enable"></a>

Instale el kernel habilitado para EFA, los controladores de EFA, Libfabric, el complemento aws-ofi-nccl y la pila Open MPI necesarios para admitir EFA en la instancia.

**Para instalar el software EFA**

1. Conéctese a la instancia que lanzó. Para obtener más información, consulte [Conexión a la instancia de Linux con SSH](connect-to-linux-instance.md).

1. Descargue los archivos de instalación de software de EFA. Los archivos de instalación de software están empaquetados en un archivo tarball comprimido (`.tar.gz`). Para descargar la última versión *estable*, utilice el comando siguiente.

   También puede obtener la última versión reemplazando el número de versión por `latest` en el comando anterior.

   ```
   $ curl -O https://efa-installer.amazonaws.com/aws-efa-installer-1.47.0.tar.gz
   ```

1. (*Opcional*) Verifique la autenticidad y la integridad del archivo tarball (`.tar.gz`) de EFA.

   Le recomendamos que lo haga para verificar la identidad del editor de software y para verificar que el archivo no se haya modificado ni dañado desde que se publicó. Si no desea verificar el archivo tarball, omita este paso.
**nota**  
De forma alternativa, si prefiere verificar el archivo tarball con una suma de comprobación MD5 o SHA256, consulte [Verificar el instalador de EFA mediante una suma de comprobación](efa-verify.md).

   1. Descargue la clave pública de GPG e impórtela a su conjunto de claves.

      ```
      $ wget https://efa-installer.amazonaws.com/aws-efa-installer.key && gpg --import aws-efa-installer.key
      ```

      El comando debe devolver un valor de clave. Anote el valor de clave, ya que lo necesitará en el siguiente paso.

   1. Verifique la huella digital de la clave de GPG. Ejecute el siguiente comando y especifique el valor de clave del paso anterior.

      ```
      $ gpg --fingerprint key_value
      ```

      El comando debe devolver una huella digital idéntica a `4E90 91BC BB97 A96B 26B1 5E59 A054 80B1 DD2D 3CCC`. Si la huella digital no coincide, no ejecute el script de instalación de EFA y contáctese con Soporte.

   1. Descargue el archivo de firma y verifique la firma del archivo tarball de EFA.

      ```
      $ wget https://efa-installer.amazonaws.com/aws-efa-installer-1.47.0.tar.gz.sig && gpg --verify ./aws-efa-installer-1.47.0.tar.gz.sig
      ```

      A continuación se muestra un ejemplo de salida.

      ```
      gpg: Signature made Wed 29 Jul 2020 12:50:13 AM UTC using RSA key ID DD2D3CCC
      gpg: Good signature from "Amazon EC2 EFA <ec2-efa-maintainers@amazon.com>"
      gpg: WARNING: This key is not certified with a trusted signature!
      gpg:          There is no indication that the signature belongs to the owner.
      Primary key fingerprint: 4E90 91BC BB97 A96B 26B1  5E59 A054 80B1 DD2D 3CCC
      ```

      Si el resultado incluye `Good signature` y la huella digital coincide con la huella digital del paso anterior, avance al siguiente paso. Si no es así, no ejecute el script de instalación de EFA y contáctese con Soporte.

1. Extraiga los archivos desde el archivo `.tar.gz` comprimido y acceda al directorio extraído.

   ```
   $ tar -xf aws-efa-installer-1.47.0.tar.gz && cd aws-efa-installer
   ```

1. Ejecute el script de instalación de software de EFA.
**nota**  
A partir de la versión 1.30.0 de EFA, tanto Open MPI 4.1 como Open MPI 5 se instalan de forma predeterminada. A menos que necesite Open MPI 5, le recomendamos que instale únicamente Open MPI 4.1. El siguiente comando solo instala Open MPI 4.1. Si desea instalar Open MPI 4.1 y Open MPI 5, quite `--mpi=openmpi4`.

   ```
   $ sudo ./efa_installer.sh -y --mpi=openmpi4
   ```

   **Libfabric** está instalado en el directorio `/opt/amazon/efa`. El **complemento aws-ofi-nccl** está instalado en el directorio `/opt/amazon/ofi-nccl`. **Open MPI** está instalado en el directorio `/opt/amazon/openmpi`.

1. Si el instalador de EFA le pide que reinicie la instancia, hágalo y vuelva a conectarse a la instancia. De lo contrario, cierre la sesión de la instancia y vuelva a iniciar sesión para completar la instalación.

1. Confirme que los componentes de software de EFA se han instalado correctamente.

   ```
   $ fi_info -p efa -t FI_EP_RDM
   ```

   El comando debe devolver información acerca de las interfaces de EFA de Libfabric. En el siguiente ejemplo, se muestra el comando de salida.
   + `p3dn.24xlarge` con interfaz de red única

     ```
     provider: efa
     fabric: EFA-fe80::94:3dff:fe89:1b70
     domain: efa_0-rdm
     version: 2.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     ```
   + `p4d.24xlarge` y `p5.48xlarge` con múltiples interfaces de red

     ```
     provider: efa
     fabric: EFA-fe80::c6e:8fff:fef6:e7ff
     domain: efa_0-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::c34:3eff:feb2:3c35
     domain: efa_1-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::c0f:7bff:fe68:a775
     domain: efa_2-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::ca7:b0ff:fea6:5e99
     domain: efa_3-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     ```

## Paso 6: instalar NCCL
<a name="nccl-start-base-nccl"></a>

Instale NCCL. Para obtener más información sobre NCCL, consulte el [repositorio de NCCL](https://github.com/NVIDIA/nccl).

**Para instalar NCCL**

1. Vaya al directorio `/opt`.

   ```
   $ cd /opt
   ```

1. Clone el repositorio oficial de NCCL en la instancia y vaya al repositorio clonado local.

   ```
   $ sudo git clone https://github.com/NVIDIA/nccl.git -b v2.23.4-1 && cd nccl
   ```

1. Cree e instale NCCL y especifique el directorio de instalación de CUDA.

   ```
   $ sudo make -j src.build CUDA_HOME=/usr/local/cuda
   ```

## Paso 7: Instalar las pruebas de NCCL
<a name="nccl-start-base-tests"></a>

Instale las pruebas de NCCL. Las pruebas de NCCL le permiten confirmar que NCCL está instalado correctamente y que está funcionando como se esperaba. Para obtener más información sobre las pruebas de NCCL, consulte el [repositorio nccl-tests](https://github.com/NVIDIA/nccl-tests).

**Para instalar las pruebas de NCCL**

1. Vaya al directorio de inicio.

   ```
   $ cd $HOME
   ```

1. Clone el repositorio oficial nccl-tests en la instancia y vaya al repositorio clonado local.

   ```
   $ git clone https://github.com/NVIDIA/nccl-tests.git && cd nccl-tests
   ```

1. Añada el directorio Libfabric a la variable `LD_LIBRARY_PATH`. 
   + Amazon Linux 2023 y Amazon Linux 2

     ```
     $ export LD_LIBRARY_PATH=/opt/amazon/efa/lib64:$LD_LIBRARY_PATH
     ```
   + Ubuntu 24.04 y Ubuntu 22.04

     ```
     $ export LD_LIBRARY_PATH=/opt/amazon/efa/lib:$LD_LIBRARY_PATH
     ```

1. Instale las pruebas NCCL y especifique los directorios de instalación MPI, NCCL y CUDA.

   ```
   $ make MPI=1 MPI_HOME=/opt/amazon/openmpi NCCL_HOME=/opt/nccl/build CUDA_HOME=/usr/local/cuda
   ```

## Paso 8: Probar la configuración de EFA y NCCL
<a name="nccl-start-base-test"></a>

Ejecute una prueba para asegurarse de que su instancia temporal esté configurada correctamente para EFA y NCCL. 

**Para probar la configuración de EFA y NCCL**

1. Cree un archivo de hosts que especifique los hosts en los que desea ejecutar las pruebas. El siguiente comando crea un archivo de hosts con el nombre `my-hosts` que incluye una referencia a la propia instancia.

------
#### [ IMDSv2 ]

   ```
   [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
   && curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/local-ipv4 >> my-hosts
   ```

------
#### [ IMDSv1 ]

   ```
   [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/local-ipv4 >> my-hosts
   ```

------

1. Ejecute la prueba y especifique el archivo de hosts (`--hostfile`) y el número de GPUs que desea usar (`-n`). El siguiente comando ejecuta la prueba `all_reduce_perf` en 8 GPUs de la propia instancia y especifica las siguientes variables de entorno.
   + `FI_EFA_USE_DEVICE_RDMA=1`: (solo `p4d.24xlarge`) utiliza la funcionalidad de RDMA del dispositivo para la transferencia de un solo lado y de dos lados.
   + `NCCL_DEBUG=INFO`: habilita la salida de depuración detallada. También puede especificar `VERSION` para imprimir solo la versión de NCCL al inicio de la prueba o `WARN` para recibir solo mensajes de error.

   Para obtener más información sobre los argumentos de prueba de NCCL, consulte el archivo [README de pruebas de NCCL](https://github.com/NVIDIA/nccl-tests/blob/master/README.md) en el repositorio nccl-tests oficial.
   + `p3dn.24xlarge`

     ```
     $ /opt/amazon/openmpi/bin/mpirun \
     -x LD_LIBRARY_PATH=/opt/nccl/build/lib:/usr/local/cuda/lib64:/opt/amazon/efa/lib:/opt/amazon/openmpi/lib:/opt/amazon/ofi-nccl/lib:$LD_LIBRARY_PATH \
     -x NCCL_DEBUG=INFO \
     --hostfile my-hosts -n 8 -N 8 \
     --mca pml ^cm --mca btl tcp,self --mca btl_tcp_if_exclude lo,docker0 --bind-to none \
     $HOME/nccl-tests/build/all_reduce_perf -b 8 -e 1G -f 2 -g 1 -c 1 -n 100
     ```
   + `p4d.24xlarge` y `p5.48xlarge`

     ```
     $ /opt/amazon/openmpi/bin/mpirun \
     -x FI_EFA_USE_DEVICE_RDMA=1 \
     -x LD_LIBRARY_PATH=/opt/nccl/build/lib:/usr/local/cuda/lib64:/opt/amazon/efa/lib:/opt/amazon/openmpi/lib:/opt/amazon/ofi-nccl/lib:$LD_LIBRARY_PATH \
     -x NCCL_DEBUG=INFO \
     --hostfile my-hosts -n 8 -N 8 \
     --mca pml ^cm --mca btl tcp,self --mca btl_tcp_if_exclude lo,docker0 --bind-to none \
     $HOME/nccl-tests/build/all_reduce_perf -b 8 -e 1G -f 2 -g 1 -c 1 -n 100
     ```

1. Puede confirmar que EFA está activo como proveedor subyacente de NCCL cuando se imprime el registro `NCCL_DEBUG`.

   ```
   ip-192-168-2-54:14:14 [0] NCCL INFO NET/OFI Selected Provider is efa*
   ```

   La siguiente información adicional se muestra cuando se utiliza una instancia `p4d.24xlarge`.

   ```
   ip-192-168-2-54:14:14 [0] NCCL INFO NET/OFI Running on P4d platform, Setting NCCL_TOPO_FILE environment variable to /home/ec2-user/install/plugin/share/aws-ofi-nccl/xml/p4d-24xl-topo.xml
   ```

## Paso 9: Instalar las aplicaciones de machine learning
<a name="nccl-start-base-app"></a>

Instale la aplicación de machine learning en la instancia temporal. El procedimiento de instalación varía en función de la aplicación de machine learning específica. Para obtener más información sobre la instalación de software en la instancia de Linux, consulte [Manage software on your Amazon Linux 2 instance](https://docs.aws.amazon.com/linux/al2/ug/managing-software.html).

**nota**  
Consulte la documentación de su aplicación de machine learning para ver las instrucciones de instalación.

## Paso 10: Crear una AMI habilitada para EFA y NCCL
<a name="nccl-start-base-ami"></a>

Después de haber instalado los componentes de software requeridos, crea una AMI que puede reutilizar para lanzar las instancias habilitadas para EFA.

**Para crear una AMI desde la instancia temporal**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la instancia temporal que creó y elija **Acciones**, **Imagen**, **Crear imagen**.

1. En **Crear imagen**, realice lo siguiente:

   1. En **Nombre de imagen**, ingrese un nombre descriptivo para la AMI.

   1. (Opcional) En **Descripción de imagen**, ingrese una breve descripción del propósito la AMI.

   1. Elija **Crear imagen**.

1. En el panel de navegación, elija **AMI**.

1. Localice la AMI que creó en la lista. Espere a que el estado pase de `pending` a `available` antes de continuar con el paso siguiente.

## Paso 11: Terminar la instancia temporal
<a name="nccl-start-base-terminate"></a>

En este punto, ya no necesita la instancia temporal que lanzó. Puede finalizar la instancia para dejar de incurrir en cargos debido a esta.

**Para finalizar la instancia temporal**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la instancia temporal que creó y, a continuación, elija **Acciones**, **Estado de instancia**, **Finalizar instancia**.

1. Cuando se le indique que confirme, elija **Terminate (Rescindir)**.

## Paso 12: Lanzar instancias habilitadas para EFA en un grupo de colocación de clústeres
<a name="nccl-start-base-cluster"></a>

Lance las instancias habilitadas para EFA y NCCL en un grupo con ubicación en clúster utilizando la AMI habilitada para EFA y el grupo de seguridad habilitado para EFA que creó anteriormente.

**nota**  
No es un requisito absoluto lanzar las instancias habilitadas con un EFA a un grupo de colocación de clústeres. Sin embargo, le recomendamos ejecutar sus instancias habilitadas para EFA en un grupo con ubicación en clúster a medida que inicia las instancias en un grupo de baja latencia en una única zona de disponibilidad.
Para garantizar que la capacidad esté disponible a medida que escala las instancias del clúster, puede crear una reserva de capacidad para su grupo con ubicación en clúster. Para obtener más información, consulte [Utilización de reservas de capacidad con grupos con ubicación en clúster](cr-cpg.md).

------
#### [ New console ]

**Para iniciar una instancia temporal**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Instancias** y, a continuación, **Iniciar instancias** para abrir el nuevo asistente de inicialización de instancias.

1. (*Opcional*) En la sección **Nombre y etiquetas**, proporcione un nombre para la instancia, como `EFA-instance`. El nombre se asigna a la instancia como etiqueta de recurso (`Name=EFA-instance`).

1. En la sección **Imágenes de aplicaciones y sistema operativo**, elija **Mi AMI** y, a continuación, seleccione la AMI que creó en el paso anterior.

1. En la sección **Tipo de instancia**, seleccione `p3dn.24xlarge` o `p4d.24xlarge`.

1. En la sección **Par de claves**, seleccione el par de claves que desea utilizar en la instancia.

1. En la sección **Configuración de red**, elija **Editar** y realice lo siguiente:

   1. En **Subred**, elija la subred en la que desea iniciar la instancia. Si no selecciona una subred, no puede habilitar la instancia para EFA.

   1. En **Firewall (grupos de seguridad)**, elija **Seleccionar grupo de seguridad existente** y, a continuación, seleccione el grupo de seguridad que creó en el paso anterior.

   1. Amplíe la sección **Configuración de red avanzada**.

      Para **la interfaz de red 1**, seleccione **Índice de tarjeta de red = 0**, **Índice de dispositivo = 0** y **Tipo de interfaz = EFA con ENA**.

      (Opcional) Si utiliza un tipo de instancia con varias tarjetas, por ejemplo, `p4d.24xlarge` o `p5.48xlarge`, para cada interfaz de red adicional necesaria, elija **Agregar interfaz de red**; en **Índice de tarjetas de red**, seleccione el siguiente índice no utilizado y, a continuación, seleccione **Índice de dispositivo = 1** y **Tipo de interfaz = EFA con ENA** o **solo EFA**.

1. (*Opcional*) En la sección **Storage** (Almacenamiento), configure los volúmenes según sea necesario.

1. En la sección **Detalles avanzados**, para **Nombre del grupo de ubicación**, seleccione el grupo con ubicación en clúster en el que se iniciará la instancia. Si necesita crear un nuevo grupo con ubicación en clúster, elija **Create new placement group** (Crear nuevo grupo de ubicación).

1. En el panel **Summary** (Resumen) que se encuentra a la derecha, en **Number of instances** (Cantidad de instancias), ingrese la cantidad de instancias habilitadas para EFA que desea lanzar y, a continuación, elija **Launch instance** (Lanzar instancia).

------
#### [ Old console ]

**Para iniciar las instancias habilitadas para EFA y NCCL en un grupo con ubicación en clúster**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Elija **Iniciar instancia**.

1. En la página **Elegir una AMI**, elija **Mi AMI**, encuentre la AMI que creó anteriormente y, a continuación, elija **Seleccionar**.

1. En la página **Elegir un tipo de instancia**, seleccione **p3dn.24xlarge** y, a continuación, elija **Siguiente: Configurar detalles de instancia**.

1. En la página **Configurar detalles de instancia**, haga lo siguiente:

   1. En **Número de instancias**, ingrese el número de instancias habilitadas para EFA y NCCL que desea iniciar.

   1. En **Red** y **Subred**, seleccione la VPC y la subred en la que iniciar las instancias.

   1. En **Grupo de ubicación**, seleccione **Añadir instancia a grupo de ubicación**.

   1. En **Nombre de grupo de ubicación**, seleccione **Agregar a un nuevo grupo de ubicación** y, a continuación, ingrese un nombre descriptivo para el grupo de ubicación. Luego, en **Estrategia de grupo de ubicación**, seleccione **clúster**.

   1. En **EFA**, elija **Habilitar**.

   1. En la sección **Interfaces de red**, para el dispositivo **eth0**, elija **Nueva interfaz de red**. Como opción, puede especificar una dirección IPv4 principal y una o varias direcciones IPv4 secundarias. Si está iniciando la instancia en una subred que tiene un bloque de CIDR de IPv6 asociado, como opción puede especificar una dirección IPv6 principal y una o varias direcciones IPv6 secundarias.

   1. Elija **Siguiente: Añadir almacenamiento**.

1. En la página **Agregar almacenamiento**, especifique los volúmenes que desea adjuntar a las instancias además de los volúmenes especificados por la AMI (como el volumen de dispositivo raíz). A continuación, elija **Siguiente: Agregar etiquetas**.

1. En la página **Añadir etiquetas**, especifique etiquetas para las instancias, por ejemplo, un nombre fácil de recordar, y, a continuación, elija **Siguiente: Configurar grupo de seguridad**.

1. En la página **Configurar grupo de seguridad**, en **Asignar un grupo de seguridad**, seleccione **Seleccionar un grupo de seguridad existente** y, a continuación, seleccione el grupo de seguridad que creó anteriormente.

1. Elija **Review and Launch (Revisar y lanzar)**.

1. En la página **Review Instance Launch (Revisar lanzamiento de instancia)**, revise la configuración y, a continuación, elija **Launch (Lanzar)** para elegir un par de claves y lanzar las instancias.

------

## Paso 13: Habilitar SSH sin contraseña
<a name="nccl-start-base-passwordless"></a>

Para permitir que las aplicaciones se ejecuten en todas las instancias del clúster, debe habilitar el acceso mediante SSH sin contraseña desde el nodo principal hasta los nodos miembro. El nodo principal es la instancia desde la que se ejecutan las aplicaciones. Las instancias restantes del clúster son los nodos miembros.

**Para habilitar SSH sin contraseña entre las instancias del clúster**

1. Seleccione una instancia del clúster como nodo principal y conéctese a ella.

1. Desactive `strictHostKeyChecking` y habilite `ForwardAgent` en el nodo principal. Abra `~/.ssh/config` con su editor de texto preferido y agregue lo siguiente.

   ```
   Host *
       ForwardAgent yes
   Host *
       StrictHostKeyChecking no
   ```

1. Genere un par de claves de RSA.

   ```
   $ ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
   ```

   El par de claves se crea en el directorio `$HOME/.ssh/`.

1. Cambie los permisos de la clave privada en el nodo principal.

   ```
   $ chmod 600 ~/.ssh/id_rsa
   chmod 600 ~/.ssh/config
   ```

1. Abra `~/.ssh/id_rsa.pub` con su editor de texto preferido y copie la clave.

1. Para cada nodo miembro del clúster, realice lo siguiente:

   1. Conéctese a la instancia.

   1. Abra `~/.ssh/authorized_keys` con su editor de texto preferido y agregue la clave pública que copió anteriormente.

1. Para probar que SSH sin contraseña funciona como se esperaba, conecte al nodo principal y ejecute el siguiente comando.

   ```
   $ ssh member_node_private_ip
   ```

   Debe conectarse al nodo miembro sin que se le pida una clave o una contraseña.

# Introducción a EFA y NIXL para cargas de trabajo de inferencia en Amazon EC2
<a name="efa-start-nixl"></a>

La NVIDIA Inference Xfer Library (NIXL) es una biblioteca de comunicaciones de alto rendimiento y baja latencia diseñada de forma específica para cargas de trabajo de inferencia desagregadas. NIXL se puede utilizar junto con EFA y Libfabric para permitir la transferencia de caché KV entre los nodos de prellenado y decodificación, y permite un movimiento eficiente de la caché KV entre varias capas de almacenamiento. Para obtener más información, consulte el sitio web de [NIXL](https://github.com/ai-dynamo/nixl).

**Requisitos**
+ Solo se admiten AMI base de Ubuntu 24.04 y Ubuntu 22.04.
+ EFA solo es compatible con NIXL 1.0.0 y posterior.

**Topics**

## Paso 1: preparar un grupo de seguridad habilitado para EFA
<a name="nixl-start-base-setup"></a>

Un EFA requiere un grupo de seguridad que permita todo el tráfico entrante y saliente hacia y desde el propio grupo de seguridad. En el siguiente procedimiento, se crea un grupo de seguridad que permite todo el tráfico entrante y saliente de sí mismo, y que permite el tráfico SSH entrante desde cualquier dirección IPv4 para la conectividad SSH.

**importante**  
Este grupo de seguridad está pensado solo con fines de prueba. Para sus entornos de producción, le recomendamos que cree una regla SSH entrante que permita el tráfico únicamente desde la dirección IP desde la que se conecta, como la dirección IP de su equipo o un rango de direcciones IP en la red local.

Para ver otros escenarios, consulte [Reglas de grupo de seguridad para diferentes casos de uso](security-group-rules-reference.md).

**Para crear un grupo de seguridad habilitado para EFA**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Grupos de seguridad** y, a continuación, elija **Crear grupo de seguridad**.

1. En la ventana **Crear grupo de seguridad**, haga lo siguiente:

   1. En **Nombre del grupo de seguridad**, ingrese un nombre descriptivo para el grupo de seguridad, como, por ejemplo, `EFA-enabled security group`.

   1. (Opcional) En **Descripción**, ingrese una breve descripción del grupo de seguridad.

   1. En **VPC**, seleccione la VPC en la que desea iniciar sus instancias habilitadas para EFA.

   1. Elija **Crear grupo de seguridad**.

1. Seleccione el grupo de seguridad que creó y, en la pestaña **Detalles**, copie el **ID del grupo de seguridad**.

1. Con el grupo de seguridad todavía seleccionado, elija **Acciones**, **Editar reglas de entrada** y, luego, haga lo siguiente:

   1. Seleccione **Agregar regla**.

   1. En **Tipo**, seleccione **Todo el tráfico**.

   1. En **Tipo de origen**, elija **Personalizar** y pegue el ID del grupo de seguridad que copió en el campo.

   1. Seleccione **Agregar regla**.

   1. En **Tipo**, seleccione **SSH**.

   1. En **Tipo de origen**, elija **Cualquiera de IPv4**.

   1. Seleccione **Guardar reglas**.

1. Con el grupo de seguridad todavía seleccionado, elija **Acciones**, **Editar reglas de salida** y, luego, haga lo siguiente:

   1. Seleccione **Agregar regla**.

   1. En **Tipo**, seleccione **Todo el tráfico**.

   1. En **Tipo de destino**, elija **Personalizar** y pegue el ID del grupo de seguridad que copió en el campo.

   1. Seleccione **Guardar reglas**.

## Paso 2: iniciar una instancia temporal
<a name="nixl-start-base-temp"></a>

Lance una instancia temporal que puede utilizar para instalar y configurar los componentes de software de EFA. Puede utilizar esta instancia para crear una AMI habilitada para EFA desde la que puede iniciar sus instancias habilitadas para EFA.

**Para iniciar una instancia temporal**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Instancias** y, a continuación, **Iniciar instancias** para abrir el nuevo asistente de inicialización de instancias.

1. (*Opcional*) En la sección **Nombre y etiquetas**, proporcione un nombre para la instancia, como `EFA-instance`. El nombre se asigna a la instancia como etiqueta de recurso (`Name=EFA-instance`).

1. En la sección **Imágenes de aplicaciones y sistema operativo**, seleccione una AMI para uno de los sistemas operativos compatibles. También puede seleccionar una DLAMI compatible de las que aparecen en la [página de notas de la versión de DLAMI](https://docs.aws.amazon.com/dlami/latest/devguide/appendix-ami-release-notes)

1. En la sección **Tipo de instancia**, seleccione un tipo de instancia compatible.

1. En la sección **Par de claves**, seleccione el par de claves que desea utilizar en la instancia.

1. En la sección **Configuración de red**, elija **Editar** y realice lo siguiente:

   1. En **Subred**, elija la subred en la que desea iniciar la instancia. Si no selecciona una subred, no puede habilitar la instancia para EFA.

   1. En **Firewall (grupos de seguridad)**, elija **Seleccionar grupo de seguridad existente** y, a continuación, seleccione el grupo de seguridad que creó en el paso anterior.

   1. Amplíe la sección **Configuración de red avanzada**.

      Para **la interfaz de red 1**, seleccione **Índice de tarjeta de red = 0**, **Índice de dispositivo = 0** y **Tipo de interfaz = EFA con ENA**.

      (*Opcional*) Si utiliza un tipo de instancia con varias tarjetas, por ejemplo, `p4d.24xlarge` o `p5.48xlarge`, para cada interfaz de red adicional necesaria, elija **Agregar interfaz de red**; en **Índice de tarjetas de red**, seleccione el siguiente índice no utilizado y, a continuación, seleccione **Índice de dispositivo = 1** y **Tipo de interfaz = EFA con ENA** o **solo EFA**.

1. En la sección **Storage** (Almacenamiento), configure los volúmenes según sea necesario.
**nota**  
Debe aprovisionar 10 a 20 GiB adicionales de almacenamiento para el conjunto de herramientas CUDA de Nvidia. Si no aprovisiona suficiente almacenamiento, recibirá un error de `insufficient disk space` cuando intente instalar los controladores de Nvidia y el kit de herramientas CUDA.

1. En el panel **Resumen** que se encuentra a la derecha, elija **Iniciar instancia**.

**importante**  
Omita el paso 3 si su AMI ya incluye los controladores de GPU de Nvidia, el kit de herramientas CUDA y cuDNN, o si utiliza una instancia que no es de GPU.

## Paso 3: instalar los controladores de GPU Nvidia, el kit de herramientas Nvidia CUDA y la cuDNN
<a name="nixl-start-base-drivers"></a>

**Para instalar los controladores de GPU Nvidia, el kit de herramientas Nvidia CUDA y la cuDNN, haga lo siguiente:**

1. Para asegurarse de que todos los paquetes de software están actualizados, realice una actualización rápida del software en la instancia.

   ```
   $ sudo apt-get update && sudo apt-get upgrade -y
   ```

1. Instale las utilidades necesarias para instalar los controladores de la GPU Nvidia y el kit de herramientas Nvidia CUDA.

   ```
   $ sudo apt-get install build-essential -y
   ```

1. Para usar el controlador de GPU Nvidia, primero debe deshabilitar los controladores de código abierto `nouveau`.

   1. Instale las utilidades y el paquete de encabezados del kernel necesarios para la versión del kernel que está ejecutando actualmente.

      ```
      $ sudo apt-get install -y gcc make linux-headers-$(uname -r)
      ```

   1. Agregue `nouveau` al archivo de lista de denegaciones `/etc/modprobe.d/blacklist.conf `.

      ```
      $ cat << EOF | sudo tee --append /etc/modprobe.d/blacklist.conf
      blacklist vga16fb
      blacklist nouveau
      blacklist rivafb
      blacklist nvidiafb
      blacklist rivatv
      EOF
      ```

   1. Abra `/etc/default/grub` con su editor de texto preferido y agregue lo siguiente.

      ```
      GRUB_CMDLINE_LINUX="rdblacklist=nouveau"
      ```

   1. Reconstruya la configuración de Grub.

      ```
      $ sudo update-grub
      ```

1. Reinicie la instancia y vuelva a conectarse a ella.

1. Agregue el repositorio de CUD e instale los controladores de GPU de Nvidia, el conjunto de herramientas NVIDIA CUDA y la cuDNN.

   ```
   $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/7fa2af80.pub \
   && wget -O /tmp/deeplearning.deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/nvidia-machine-learning-repo-ubuntu2004_1.0.0-1_amd64.deb \
   && sudo dpkg -i /tmp/deeplearning.deb \
   && wget -O /tmp/cuda.pin https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin \
   && sudo mv /tmp/cuda.pin /etc/apt/preferences.d/cuda-repository-pin-600 \
   && sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub \
   && sudo add-apt-repository 'deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /' \
   && sudo apt update \
   && sudo apt install nvidia-dkms-535 \
   && sudo apt install -o Dpkg::Options::='--force-overwrite' cuda-drivers-535 cuda-toolkit-12-3 libcudnn8 libcudnn8-dev -y
   ```

1. Reinicie la instancia y vuelva a conectarse a ella.

1. (Solo para `p4d.24xlarge` y `p5.48xlarge`) Instale Nvidia Fabric Manager.

   1. Debe instalar la versión de Nvidia Fabric Manager que coincida con la versión del módulo del kernel de Nvidia que instaló en el paso anterior.

      Ejecute el siguiente comando para determinar la versión del módulo del kernel de Nvidia.

      ```
      $ cat /proc/driver/nvidia/version | grep "Kernel Module"
      ```

      A continuación, se muestra un ejemplo del resultado.

      ```
      NVRM version: NVIDIA UNIX x86_64 Kernel Module  450.42.01  Tue Jun 15 21:26:37 UTC 2021
      ```

      En el ejemplo anterior, la versión principal `450` del módulo del kernel. Esto significa que necesita instalar la versión de Nvidia Fabric Manager `450`.

   1. Instale Nvidia Fabric Manager. Ejecute el siguiente comando y especifique la versión principal identificada en el paso anterior.

      ```
      $ sudo apt install -o Dpkg::Options::='--force-overwrite' nvidia-fabricmanager-major_version_number
      ```

      Por ejemplo, si se instaló la versión principal `450` del módulo de kernel, utilice el siguiente comando para instalar la versión correspondiente de Nvidia Fabric Manager.

      ```
      $ sudo apt install -o Dpkg::Options::='--force-overwrite' nvidia-fabricmanager-450
      ```

   1. Inicie el servicio y asegúrese de que se inicie de forma automática cuando se inicia la instancia. Nvidia Fabric Manager es necesario para la administración de NV Switch.

      ```
      $ sudo systemctl start nvidia-fabricmanager && sudo systemctl enable nvidia-fabricmanager
      ```

1. Asegúrese de que las rutas CUDA se establecen cada vez que se inicia la instancia.
   + Para intérpretes de comandos *bash*, agregue las siguientes instrucciones a `/home/username/.bashrc` y `/home/username/.bash_profile`.

     ```
     export PATH=/usr/local/cuda/bin:$PATH
     export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```
   + Para intérpretes de comandos *tcsh*, agregue las siguientes instrucciones a `/home/username/.cshrc`.

     ```
     setenv PATH=/usr/local/cuda/bin:$PATH
     setenv LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```

1. Para confirmar que los controladores de la GPU Nvidia son funcionales, ejecute el siguiente comando.

   ```
   $ nvidia-smi -q | head
   ```

   El comando debe devolver información sobre las GPU de Nvidia, los controladores de GPU de Nvidia y el kit de herramientas Nvidia CUDA.

**importante**  
Omita el paso 4 si su AMI ya incluye GDRCopy o si utiliza una instancia que no es de GPU.

## Paso 4: instalación de GDRCopy
<a name="nixl-start-base-gdrcopy"></a>

Instale GDRCopy para mejorar el rendimiento de Libfabric en plataformas basadas en GPU. Para obtener más información sobre GDRCopy, consulte el [repositorio de GDRCopy](https://github.com/NVIDIA/gdrcopy).

**Para instalar GDRCopy**

1. Instale las dependencias requeridas.

   ```
   $ sudo apt -y install build-essential devscripts debhelper check libsubunit-dev fakeroot pkg-config dkms
   ```

1. Descargue y extraiga el paquete de GDRCopy.

   ```
   $ wget https://github.com/NVIDIA/gdrcopy/archive/refs/tags/v2.4.tar.gz \
   && tar xf v2.4.tar.gz \
   && cd gdrcopy-2.4/packages
   ```

1. Compile los paquetes DEB de GDRCopy.

   ```
   $ CUDA=/usr/local/cuda ./build-deb-packages.sh
   ```

1. Instale los paquetes DEB de GDRCopy.

   ```
   $ sudo dpkg -i gdrdrv-dkms_2.4-1_amd64.*.deb \
   && sudo dpkg -i libgdrapi_2.4-1_amd64.*.deb \
   && sudo dpkg -i gdrcopy-tests_2.4-1_amd64.*.deb \
   && sudo dpkg -i gdrcopy_2.4-1_amd64.*.deb
   ```

**importante**  
Omita el paso 5 si su AMI ya incluye el último instalador de EFA.

## Paso 5: instalación del software EFA
<a name="nixl-start-base-enable"></a>

Instale el kernel habilitado para EFA, los controladores de EFA, y la pila de Libfabric necesarios para admitir EFA en su instancia.

**Para instalar el software EFA**

1. Conéctese a la instancia que lanzó. Para obtener más información, consulte [Conexión a la instancia de Linux con SSH](connect-to-linux-instance.md).

1. Descargue los archivos de instalación de software de EFA. Los archivos de instalación de software están empaquetados en un archivo tarball comprimido (`.tar.gz`). Para descargar la última versión *estable*, utilice el comando siguiente.

   ```
   $ curl -O https://efa-installer.amazonaws.com/aws-efa-installer-1.47.0.tar.gz
   ```

1. Extraiga los archivos desde el archivo `.tar.gz` comprimido, elimine el tarball y acceda al directorio extraído.

   ```
   $ tar -xf aws-efa-installer-1.47.0.tar.gz && rm -rf aws-efa-installer-1.47.0.tar.gz && cd aws-efa-installer
   ```

1. Ejecute el script de instalación de software de EFA.

   ```
   $ sudo ./efa_installer.sh -y
   ```

   **Libfabric** está instalado en el directorio `/opt/amazon/efa`.

1. Si el instalador de EFA le pide que reinicie la instancia, hágalo y vuelva a conectarse a la instancia. De lo contrario, cierre la sesión de la instancia y vuelva a iniciar sesión para completar la instalación.

1. Confirme que los componentes de software de EFA se han instalado correctamente.

   ```
   $ fi_info -p efa -t FI_EP_RDM
   ```

   El comando debe devolver información acerca de las interfaces de EFA de Libfabric. En el siguiente ejemplo, se muestra el comando de salida.
   + `p3dn.24xlarge` con interfaz de red única

     ```
     provider: efa
     fabric: EFA-fe80::94:3dff:fe89:1b70
     domain: efa_0-rdm
     version: 2.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     ```
   + `p4d.24xlarge` y `p5.48xlarge` con múltiples interfaces de red

     ```
     provider: efa
     fabric: EFA-fe80::c6e:8fff:fef6:e7ff
     domain: efa_0-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::c34:3eff:feb2:3c35
     domain: efa_1-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::c0f:7bff:fe68:a775
     domain: efa_2-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::ca7:b0ff:fea6:5e99
     domain: efa_3-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     ```

## Paso 6: instalar NIXL
<a name="nixl-start-base-nixl"></a>

Instale NIXL. Para obtener más información sobre NIXL, consulte el [repositorio de NIXL](https://github.com/ai-dynamo/nixl).

------
#### [ Pre-built distributions ]

**Para instalar NIXL mediante PyPI**

1. Instale las dependencias requeridas.

   ```
   $ sudo apt install pip
   ```

1. Instale NIXL.

   ```
   $ pip install nixl
   ```

------
#### [ Build from source ]

**Compilar e instalar NIXL desde el origen**

1. Instale las dependencias requeridas.

   ```
   $ sudo apt install cmake pkg-config meson pybind11-dev libaio-dev nvidia-cuda-toolkit pip libhwloc-dev \
   && pip install meson ninja pybind11
   ```

1. Vaya al directorio de inicio.

   ```
   $ cd $HOME
   ```

1. Clone el repositorio oficial de NIXL en la instancia y vaya al repositorio clonado local.

   ```
   $ sudo git clone https://github.com/ai-dynamo/nixl.git && cd nixl
   ```

1. Cree e instale NIXL y especifique la ruta al directorio de instalación de Libfabric.

   ```
   $ sudo meson setup . nixl --prefix=/usr/local/nixl -Dlibfabric_path=/opt/amazon/efa
   $ cd nixl && sudo ninja && sudo ninja install
   ```

------

## Paso 7: instale NIXL Benchmark y pruebe la configuración de EFA y NIXL
<a name="nixl-start-base-tests"></a>

Instale NIXL Benchmark y ejecute una prueba para asegurarse de que su instancia temporal esté configurada correctamente para EFA y NIXL. NIXL Benchmark le permite confirmar que NIXL está instalado correctamente y que está funcionando como se esperaba. Para más información, consulte el [repositorio de nixlbench](https://github.com/ai-dynamo/nixl/tree/main/benchmark/nixlbench).

NIXL Benchmark (nixlbench) requiere ETCD para la coordinación entre el cliente y el servidor. Para usar ETCD con NIXL se requieren el servidor y el cliente de ETCD y la API CPP de ETCD.

------
#### [ Build from Docker ]

**Instalar y probar NIXL Benchmark mediante Docker**

1. Clone el repositorio oficial de NIXL en la instancia y vaya al directorio de compilación de nixlbench.

   ```
   $ git clone https://github.com/ai-dynamo/nixl.git
   $ cd nixl/benchmark/nixlbench/contrib
   ```

1. Cree el contenedor.

   ```
   $ ./build.sh
   ```

   Para obtener más información sobre las opciones de compilación de Docker, consulte el [repositorio de nixlbench](https://github.com/ai-dynamo/nixl/tree/main/benchmark/nixlbench).

1. Instale Docker.

   ```
   $ sudo apt install docker.io -y
   ```

1. Inicie el servidor ETCD para la coordinación.

   ```
   $ docker run -d --name etcd-server \
       -p 2379:2379 -p 2380:2380 \
       quay.io/coreos/etcd:v3.5.18 \
       /usr/local/bin/etcd \
       --data-dir=/etcd-data \
       --listen-client-urls=http://0.0.0.0:2379 \
       --advertise-client-urls=http://0.0.0.0:2379 \
       --listen-peer-urls=http://0.0.0.0:2380 \
       --initial-advertise-peer-urls=http://0.0.0.0:2380 \
       --initial-cluster=default=http://0.0.0.0:2380
   ```

1. Valide que el servidor ETCD esté ejecutándose.

   ```
   $ curl -L http://localhost:2379/health
   ```

   Resultado previsto:

   ```
   {"health":"true"}
   ```

1. Abra dos terminales para la instancia. En ambos terminales, ejecute el siguiente comando para verificar la instalación. El comando usa el servidor ETCD en la misma instancia, utiliza Libfabric como backend y funciona con la memoria de la GPU.

   ```
   $ docker run -it --gpus all --network host nixlbench:latest \
       nixlbench --etcd_endpoints http://localhost:2379 \
       --backend LIBFABRIC \
       --initiator_seg_type VRAM \
       --target_seg_type VRAM
   ```
**nota**  
Use el valor `DRAM` en lugar de `VRAM` para instancias que no sean de GPU.

------
#### [ Build from source ]

**importante**  
Siga esta pestaña solo si eligió **Compilar desde el origen** en el Paso 6.

**Instalar NIXL Benchmark**

1. Instale las dependencias de sistema requeridas.

   ```
   $ sudo apt install libgflags-dev
   ```

1. Instale el servidor y el cliente de ETCD.

   ```
   $ sudo apt install -y etcd-server etcd-client
   ```

1. Instale la API CPP de ETCD.

   1. Instale las dependencias requeridas para la API CPP de ETCD.

      ```
      $ sudo apt install libboost-all-dev libssl-dev libgrpc-dev libgrpc++-dev libprotobuf-dev protobuf-compiler-grpc libcpprest-dev
      ```

   1. Clone e instale la API CPP de ETCD.

      ```
      $ cd $HOME
      $ git clone https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3.git
      $ cd etcd-cpp-apiv3
      $ mkdir build && cd build
      $ cmake ..
      $ sudo make -j$(nproc) && sudo make install
      ```

1. Compile e instale nixlbench.

   ```
   $ sudo meson setup . $HOME/nixl/benchmark/nixlbench -Dnixl_path=/usr/local/nixl/
   $ sudo ninja && sudo ninja install
   ```

**Para probar la configuración de EFA y NIXL**

1. Inicie el servidor ETCD en la instancia.

   ```
   $ etcd --listen-client-urls "http://0.0.0.0:2379" \
       --advertise-client-urls "http://localhost:2379" &
   ```

1. Valide que el servidor ETCD esté ejecutándose.

   ```
   $ curl -L http://localhost:2379/health
   ```

   Resultado previsto:

   ```
   {"health":"true"}
   ```

1. Abra dos terminales para la instancia. En ambos terminales, complete los siguientes pasos para ejecutar nixlbench.

   1. Navegue hasta el directorio en el que está instalado nixlbench.

      ```
      $ cd /usr/local/nixlbench/bin/
      ```

   1. Ejecute la prueba y especifique el backend, la dirección del servidor ETCD y el tipo de segmento del iniciador. El siguiente comando usa el servidor ETCD en la misma instancia, utiliza Libfabric como backend y funciona con la memoria de la GPU. Las variables de entorno configuran lo siguiente:
      + `NIXL_LOG_LEVEL=INFO`: activa la salida de depuración detallada. También puede especificar `WARN` para recibir solamente mensajes de error.
      + `LD_LIBRARY_PATH`: establece la ruta de la biblioteca NIXL.

      Para obtener más información sobre los argumentos de prueba de NIXL, consulte el archivo [README de NIXLbench](https://github.com/ai-dynamo/nixl/blob/main/benchmark/nixlbench/README.md) en el reposorio nixlbench oficial.

      ```
      $ export NIXL_LOG_LEVEL=INFO
      $ export LD_LIBRARY_PATH=/usr/local/nixl/lib/$(gcc -dumpmachine):$LD_LIBRARY_PATH
      
      $ nixlbench --etcd-endpoints 'http://localhost:2379' \
          --backend 'LIBFABRIC' \
          --initiator_seg_type 'VRAM' \
          --target_seg_type 'VRAM'
      ```
**nota**  
Use el valor `DRAM` en lugar de `VRAM` para instancias que no sean de GPU.

------

## Paso 8: Instalar las aplicaciones de machine learning
<a name="nixl-start-base-app"></a>

Instale la aplicación de machine learning en la instancia temporal. El procedimiento de instalación varía en función de la aplicación de machine learning específica.

**nota**  
Consulte la documentación de su aplicación de machine learning para ver las instrucciones de instalación.

## Paso 9: cree una AMI habilitada para EFA y NIXL
<a name="nixl-start-base-ami"></a>

Después de haber instalado los componentes de software requeridos, crea una AMI que puede reutilizar para iniciar las instancias habilitadas para EFA.

**Para crear una AMI desde la instancia temporal**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la instancia temporal que creó y elija **Acciones**, **Imagen**, **Crear imagen**.

1. En **Crear imagen**, realice lo siguiente:

   1. En **Nombre de imagen**, ingrese un nombre descriptivo para la AMI.

   1. (Opcional) En **Descripción de imagen**, ingrese una breve descripción del propósito la AMI.

   1. Elija **Crear imagen**.

1. En el panel de navegación, elija **AMI**.

1. Localice la AMI que creó en la lista. Espere a que el estado pase de `pending` a `available` antes de continuar con el paso siguiente.

## Paso 10: Termine la instancia temporal
<a name="nixl-start-base-terminate"></a>

En este punto, ya no necesita la instancia temporal que lanzó. Puede finalizar la instancia para dejar de incurrir en cargos debido a esta.

**Para finalizar la instancia temporal**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la instancia temporal que creó y, a continuación, elija **Acciones**, **Estado de instancia**, **Finalizar instancia**.

1. Cuando se le indique que confirme, elija **Finalizar**.

## Paso 11: lance instancias habilitadas para EFA y NIXL
<a name="nixl-start-base-cluster"></a>

Lance las instancias habilitadas para EFA y NIXL mediante la AMI habilitada para EFA que creó en el **Paso 9** y el grupo de seguridad habilitado para EFA que creó en el **Paso 1**.

**Lanzar instancias habilitadas para EFA y NIXL**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Instancias** y, a continuación, **Iniciar instancias** para abrir el nuevo asistente de inicialización de instancias.

1. (*Opcional*) En la sección **Nombre y etiquetas**, proporcione un nombre para la instancia, como `EFA-instance`. El nombre se asigna a la instancia como etiqueta de recurso (`Name=EFA-instance`).

1. En la sección **Imágenes de aplicaciones y sistema operativo**, elija **Mis AMI** y, a continuación, seleccione la AMI que creó en el paso anterior.

1. En la sección **Tipo de instancia**, seleccione un tipo de instancia compatible.

1. En la sección **Par de claves**, seleccione el par de claves que desea utilizar en la instancia.

1. En la sección **Configuración de red**, elija **Editar** y realice lo siguiente:

   1. En **Subred**, elija la subred en la que desea iniciar la instancia. Si no selecciona una subred, no puede habilitar la instancia para EFA.

   1. En **Firewall (grupos de seguridad)**, elija **Seleccionar grupo de seguridad existente** y, a continuación, seleccione el grupo de seguridad que creó en el **Paso 1**.

   1. Amplíe la sección **Configuración de red avanzada**.

      Para **la interfaz de red 1**, seleccione **Índice de tarjeta de red = 0**, **Índice de dispositivo = 0** y **Tipo de interfaz = EFA con ENA**.

      (*Opcional*) Si utiliza un tipo de instancia con varias tarjetas, por ejemplo, `p4d.24xlarge` o `p5.48xlarge`, para cada interfaz de red adicional necesaria, elija **Agregar interfaz de red**; en **Índice de tarjetas de red**, seleccione el siguiente índice no utilizado y, a continuación, seleccione **Índice de dispositivo = 1** y **Tipo de interfaz = EFA con ENA** o **solo EFA**.

1. (*Opcional*) En la sección **Almacenamiento**, configure los volúmenes según sea necesario.

1. En el panel **Resumen**que se encuentra a la derecha, en **Cantidad de instancias**, ingrese la cantidad de instancias habilitadas para EFA que desea iniciar y, a continuación, elija **Iniciar instancias**.

## Paso 12: habilitar SSH sin contraseña
<a name="nixl-start-base-passwordless"></a>

Para permitir que las aplicaciones se ejecuten en todas las instancias del clúster, debe habilitar el acceso mediante SSH sin contraseña desde el nodo principal hasta los nodos miembro. El nodo principal es la instancia desde la que se ejecutan las aplicaciones. Las instancias restantes del clúster son los nodos miembros.

**Para habilitar SSH sin contraseña entre las instancias del clúster**

1. Seleccione una instancia del clúster como nodo principal y conéctese a ella.

1. Desactive `strictHostKeyChecking` y habilite `ForwardAgent` en el nodo principal. Abra `~/.ssh/config` con su editor de texto preferido y agregue lo siguiente.

   ```
   Host *
       ForwardAgent yes
   Host *
       StrictHostKeyChecking no
   ```

1. Genere un par de claves de RSA.

   ```
   $ ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
   ```

   El par de claves se crea en el directorio `$HOME/.ssh/`.

1. Cambie los permisos de la clave privada en el nodo principal.

   ```
   $ chmod 600 ~/.ssh/id_rsa
   chmod 600 ~/.ssh/config
   ```

1. Abra `~/.ssh/id_rsa.pub` con su editor de texto preferido y copie la clave.

1. Para cada nodo miembro del clúster, realice lo siguiente:

   1. Conéctese a la instancia.

   1. Abra `~/.ssh/authorized_keys` con su editor de texto preferido y agregue la clave pública que copió anteriormente.

1. Para probar que SSH sin contraseña funciona como se esperaba, conecte al nodo principal y ejecute el siguiente comando.

   ```
   $ ssh member_node_private_ip
   ```

   Debe conectarse al nodo miembro sin que se le pida una clave o una contraseña.

**importante**  
Siga el Paso 13 solo si siguió el Paso 7.

## Paso 13: pruebe la configuración de EFA y NIXL en todas las instancias
<a name="nixl-start-base-test-multi"></a>

Ejecute una prueba para asegurarse de que sus instancias estén configuradas correctamente para EFA y NIXL.

------
#### [ Build from Docker ]

**Probar la configuración de EFA y NIXL en todas las instancias a través de Docker**

1. Seleccione dos hosts para ejecutar nixlbench benchmark. Utilice la dirección IP del primer host como IP del servidor ETCD para el intercambio de metadatos.

1. Inicie el servidor ETCD en el host 1.

   ```
   $ docker run -d --name etcd-server \
       -p 2379:2379 -p 2380:2380 \
       quay.io/coreos/etcd:v3.5.18 \
       /usr/local/bin/etcd \
       --data-dir=/etcd-data \
       --listen-client-urls=http://0.0.0.0:2379 \
       --advertise-client-urls=http://0.0.0.0:2379 \
       --listen-peer-urls=http://0.0.0.0:2380 \
       --initial-advertise-peer-urls=http://0.0.0.0:2380 \
       --initial-cluster=default=http://0.0.0.0:2380
   ```

1. Valide que el servidor ETCD esté ejecutándose.

   ```
   $ curl -L http://localhost:2379/health
   ```

   ```
   {"health":"true"}
   ```

1. Ejecute el punto de referencia nixlbench en el host 1.

   ```
   $ docker run -it --gpus all --network host nixlbench:latest \
       nixlbench --etcd_endpoints http://localhost:2379 \
       --backend LIBFABRIC \
       --initiator_seg_type VRAM
   ```

1. Ejecute el punto de referencia nixlbench en el host 2.

   ```
   $ docker run -it --gpus all --network host nixlbench:latest \
       nixlbench --etcd_endpoints http://ETCD_SERVER_IP:2379 \
       --backend LIBFABRIC \
       --initiator_seg_type VRAM
   ```

------
#### [ Build from source ]

**importante**  
Siga esta pestaña solo si eligió **Compilar desde el origen** en el Paso 6.

**Probar la configuración de EFA y NIXL en todas las instancias**

1. Seleccione dos hosts para ejecutar nixlbench benchmark. Utilice la dirección IP del primer host como IP del servidor ETCD para el intercambio de metadatos.

1. Lance el servidor ETCD en el host 1.

   ```
   $ etcd --listen-client-urls "http://0.0.0.0:2379" \
       --advertise-client-urls "http://localhost:2379" &
   ```

1. Valide que el servidor ETCD esté ejecutándose.

   ```
   $ curl -L http://localhost:2379/health
   ```

   ```
   {"health":"true"}
   ```

1. Ejecute el punto de referencia nixlbench en el host 1.

   ```
   $ export NIXL_LOG_LEVEL=INFO
   $ export LD_LIBRARY_PATH=$HOME/nixl/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
   
   $ nixlbench \
       --etcd-endpoints http://localhost:2379 \
       --backend LIBFABRIC \
       --initiator_seg_type VRAM
   ```

1. Ejecute el punto de referencia nixlbench en el host 2.

   ```
   $ export NIXL_LOG_LEVEL=INFO
   $ export LD_LIBRARY_PATH=$HOME/nixl/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
   
   $ nixlbench \
       --etcd-endpoints http://ETCD_SERVER_IP:2379 \
       --backend LIBFABRIC \
       --initiator_seg_type VRAM
   ```

------

## Paso 14: pruebe el servicio de inferencia desagregada a través de vLLM (*opcional*)
<a name="nixl-start-base-serve"></a>

Una vez instalado NIXL, puede usar NIXL a través de marcos de inferencia y servicio de LLM, como vLLM, SGLang y TensorRT-LLM.

**Para atender su carga de trabajo de inferencias mediante vLLM**

1. Instale vLLM.

   ```
   $ pip install vllm
   ```

1. Inicie el servidor vLLM con NIXL. Los siguientes comandos de ejemplo crean una instancia de prellenado (productor) y una de decodificación (consumidor) para el establecimiento de comunicación NIXL, el conector KV, la función KV y el backend de transporte. Para ver ejemplos y scripts detallados, consulte la [Guía de uso de NIXLConnector](https://github.com/vllm-project/vllm/blob/2d977a7a9ead3179fde9ed55d69393ef7b6cec47/docs/features/nixl_connector_usage.md).

   Para usar NIXL con EFA, establezca las variables de entorno en función de su configuración y caso de uso.
   + Configuración de productor (prerellenar)

     ```
     $ vllm serve your-application \
         --port 8200 \
         --enforce-eager \
         --kv-transfer-config '{"kv_connector":"NixlConnector","kv_role":"kv_both","kv_buffer_device":"cuda","kv_connector_extra_config":{"backends":["LIBFABRIC"]}}'
     ```
   + Configuración de consumidor (decodificador)

     ```
     $ vllm serve your-application \
         --port 8200 \
         --enforce-eager \
         --kv-transfer-config '{"kv_connector":"NixlConnector","kv_role":"kv_both","kv_buffer_device":"cuda","kv_connector_extra_config":{"backends":["LIBFABRIC"]}}'
     ```

   El ejemplo de configuración anterior establece lo siguiente:
   + `kv_role` a `kv_both`, que permite una funcionalidad simétrica en la que el conector puede actuar como productor y consumidor. Esto proporciona flexibilidad para configuraciones y escenarios experimentales en los que la distinción de roles no está predeterminada.
   + `kv_buffer_device` a `cuda`, que permite utilizar la memoria de la GPU.
   + Backend de NIXL a `LIBFABRIC`, que permite que el tráfico de NIXL pase por EFA.

# Maximizar el ancho de banda de la red en instancias de Amazon EC2 con varias tarjetas de red
<a name="efa-acc-inst-types"></a>

Muchos tipos de instancias que admiten EFA también tienen varias tarjetas de red. Para obtener más información, consulte [Tarjetas de red](using-eni.md#network-cards). Si planea usar EFA con uno de estos tipos de instancias, le recomendamos la siguiente configuración básica:
+ Para la interfaz de red principal (índice de tarjetas de red `0`, índice de dispositivos `0`), cree una interfaz de ENA. No puede utilizar una interfaz de red exclusiva para EFA como interfaz de red principal.
+ Si el índice 0 de la tarjeta de red admite EFA, cree una interfaz de red solo para EFA para el índice de tarjetas de red `0`, índice de dispositivos `1`.
+ Para cada interfaz de red adicional, use el siguiente índice de tarjetas de red no utilizado, el índice de dispositivos `0` para una interfaz de solo EFA, y/o el índice de dispositivo `1` para una interfaz de red de ENA, según el caso de uso, como los requisitos de ancho de banda de ENA o el espacio de direcciones IP. Para ver un ejemplo de caso de uso, consulte [Configuración de EFA para instancias P5 y P5e](#efa-for-p5).

**nota**  
Las instancias P5 requieren que las interfaces de red se configuren de una manera específica para habilitar el máximo ancho de banda de la red. Para obtener más información, consulte [Configuración de EFA para instancias P5 y P5e](#efa-for-p5).

En los siguientes ejemplos, se muestra cómo lanzar una instancia según estas recomendaciones.

------
#### [ Instance launch ]

**Para especificar los EFA durante el lanzamiento de una instancia usando el asistente de inicialización de instancias**

1. En la sección **Configuración de red**, elija **Editar**.

1. Expanda **Configuración de red avanzada**.

1. Para la interfaz de red principal (índice de tarjetas de red `0`, índice de dispositivos `0`), cree una interfaz de ENA. No puede utilizar una interfaz de red exclusiva para EFA como interfaz de red principal.

1. Si el índice 0 de la tarjeta de red admite EFA, cree una interfaz de red solo para EFA para el índice de tarjetas de red `0`, índice de dispositivos `1`.

1. Para cada interfaz de red adicional, use el siguiente índice de tarjetas de red no utilizado, el índice de dispositivos `0` para una interfaz de solo EFA, y/o el índice de dispositivo `1` para una interfaz de red de ENA, según el caso de uso, como los requisitos de ancho de banda de ENA o el espacio de direcciones IP. Para ver un ejemplo de caso de uso, consulte [Configuración de EFA para instancias P5 y P5e](#efa-for-p5).

**Para especificar los EFA durante el lanzamiento de una instancia usando el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)**  
En `--network-interfaces`, especifique el número requerido de interfaces de red. En la interfaz de red principal, especifique el `NetworkCardIndex=0`, `DeviceIndex=0` y `InterfaceType=interface`. Si el índice 0 de la tarjeta de red admite EFA, especifique `NetworkCardIndex=0`, `DeviceIndex=1` y `InterfaceType=efa-only`. En cualquier interfaz de red adicional, para `NetworkCardIndex` especifique el siguiente índice no utilizado, `DeviceIndex=0` para `InterfaceType=efa-only`, y/o `DeviceIndex=1` para `InterfaceType=interface`.

En el siguiente fragmento de comando de ejemplo, se muestra una solicitud con 32 dispositivos EFA y uno ENA.

```
$ aws ec2 run-instances \
 --instance-type p5.48xlarge \
 --count 1 \
 --key-name key_pair_name \
 --image-id ami-0abcdef1234567890 \
 --network-interfaces "NetworkCardIndex=0,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=0,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=1,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=2,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=3,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=4,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=5,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=6,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=7,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=8,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=9,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=10,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=11,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=12,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=13,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=14,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=15,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=16,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=17,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=18,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=19,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=20,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=21,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=22,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=23,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=24,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=25,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=26,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=27,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=28,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=29,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=30,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=31,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only"
...
```

------
#### [ Launch templates ]

**Para añadir EFA a una plantilla de inicialización mediante la consola de Amazon EC2**

1. En la sección **Configuración de red**, amplíe **Configuración de red avanzada**.

1. Para la interfaz de red principal (índice de tarjetas de red `0`, índice de dispositivos `0`), cree una interfaz de ENA. No puede utilizar una interfaz de red exclusiva para EFA como interfaz de red principal.

1. Si el índice 0 de la tarjeta de red admite EFA, cree una interfaz de red solo para EFA para el índice de tarjetas de red `0`, índice de dispositivos `1`.

1. Para cada interfaz de red adicional, use el siguiente índice de tarjetas de red no utilizado, el índice de dispositivos `0` para una interfaz de solo EFA, y/o el índice de dispositivo `1` para una interfaz de red de ENA, según el caso de uso, como los requisitos de ancho de banda de ENA o el espacio de direcciones IP. Para ver un ejemplo de caso de uso, consulte [Configuración de EFA para instancias P5 y P5e](#efa-for-p5). 

**Para añadir EFA a una plantilla de inicialización mediante el comando [create-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template.html)**  
En `NetworkInterfaces`, especifique el número requerido de interfaces de red. En la interfaz de red principal, especifique el `NetworkCardIndex=0`, `DeviceIndex=0` y `InterfaceType=interface`. Si el índice 0 de la tarjeta de red admite EFA, especifique `NetworkCardIndex=0`, `DeviceIndex=1` y `InterfaceType=efa-only`. En cualquier interfaz de red adicional, para `NetworkCardIndex` especifique el siguiente índice no utilizado, `DeviceIndex=0` para `InterfaceType=efa-only`, y/o `DeviceIndex=1` para `InterfaceType=interface`.

En el siguiente fragmento, se muestra un ejemplo con 3 interfaces de red de las 32 interfaces de red posibles.

```
"NetworkInterfaces":[
{
  "NetworkCardIndex":0,
  "DeviceIndex":0,
  "InterfaceType": "interface",
  "AssociatePublicIpAddress":false,
  "Groups":[
    "security_group_id"
  ],
  "DeleteOnTermination":true
},
{
  "NetworkCardIndex": 0,
  "DeviceIndex": 1,
  "InterfaceType": "efa-only",
  "AssociatePublicIpAddress":false,
  "Groups":[
    "security_group_id"
  ],
  "DeleteOnTermination":true
},
{
  "NetworkCardIndex": 1,
  "DeviceIndex": 0,
  "InterfaceType": "efa-only",
  "AssociatePublicIpAddress":false,
  "Groups":[
    "security_group_id"
  ],
  "DeleteOnTermination":true
},
{
  "NetworkCardIndex": 2,
  "DeviceIndex": 0,
  "InterfaceType": "efa-only",
  "AssociatePublicIpAddress":false,
  "Groups":[
    "security_group_id"
  ],
  "DeleteOnTermination":true
},
{
  "NetworkCardIndex": 3,
  "DeviceIndex": 0,
  "InterfaceType": "efa-only",
  "AssociatePublicIpAddress":false,
  "Groups":[
    "security_group_id"
  ],
  "DeleteOnTermination":true
}
...
```

------

## Configuración de EFA para instancias P5 y P5e
<a name="efa-for-p5"></a>

Las instancias `p5.48xlarge` y `p5e.48xlarge` admiten 32 tarjetas de red y tienen una capacidad total de ancho de banda de red de 3200 Gbps, de los cuales hasta 800 Gbps se pueden utilizar para tráfico de red IP. Como el tráfico de red EFA e IP comparten los mismos recursos subyacentes, el ancho de banda utilizado por una reducirá el ancho de banda disponible para la otra. Esto significa que puede distribuir el ancho de banda de la red entre el tráfico EFA y el tráfico IP en cualquier combinación, siempre y cuando el ancho de banda total no supere los 3200 Gbps y el ancho de banda IP no supere los 800 Gbps. Por ejemplo, si usa 400 Gbps para un ancho de banda de IP, puede alcanzar un ancho de banda de EFA de hasta 2800 Gbps al mismo tiempo.

**Caso de uso 1: guardar las direcciones IP y evitar posibles problemas de IP en Linux**

Esta configuración proporciona hasta 3200 Gbps de ancho de banda de la red EFA y hasta 100 Gbps de ancho de banda de la red IP con una dirección IP privada. Esta configuración también ayuda a evitar posibles problemas de IP en Linux, como la asignación automática no permitida de direcciones IP públicas y los problemas de enrutamiento IP (problemas de mapeo de nombre de host a dirección IP y discrepancias de direcciones IP de origen), que pueden surgir si una instancia tiene varias interfaces de red. 
+ En la interfaz de red principal (índice de tarjetas de red 0, índice de dispositivos 0), use una interfaz de ENA.
+ Para el índice de tarjetas de red 0, índice de dispositivos 1, cree una interfaz de red exclusiva de EFA.
+ En el resto de las interfaces de red (índices de tarjeta de red 1 a 31, índice de dispositivos 0), use interfaces de red exclusiva de EFA.

**Caso de uso 2: ancho de banda máximo de la red EFA e IP**

Esta configuración proporciona hasta 3200 Gbps de ancho de banda de la red EFA y hasta 800 Gbps de ancho de banda de la red IP con ocho direcciones IP privadas. No puede asignar automáticamente direcciones IP públicas con esta configuración. Sin embargo, puede adjuntar una dirección IP elástica a la interfaz de red principal (índice de tarjetas de red 0, índice de dispositivos 0) después de la inicialización para la conectividad a Internet.
+ En la interfaz de red principal (índice de tarjetas de red 0, índice de dispositivos 0), use una interfaz de ENA.
+ En el resto de interfaces, haga lo siguiente:
  + Especifique las interfaces de red exclusiva de EFA en los índices de tarjetas de red 0, índice de dispositivo 1 y para índices de tarjeta de red 1, 2 y 3, use el índice de dispositivos 0.
  + Especifique una interfaz de red de ENA y cuatro interfaces de red exclusivas de EFA **en cada uno** de los siguientes subconjuntos de índices de tarjetas de red y use el índice de dispositivos 1 en la interfaz de red de ENA y el índice de dispositivos 0 en las interfaces de red exclusivas de EFA:
    + [4,5,6,7]
    + [8,9,10,11]
    + [12,13,14,15]
    + [16,17,18,19]
    + [20,21,22,23]
    + [24,25,26,27]
    + [28,29,30,31]

En el siguiente ejemplo, se ilustra esta configuración:

```
$ aws --region $REGION ec2 run-instances \
 --instance-type p5.48xlarge \
 --count 1 \
 --key-name key_pair_name \
 --image-id ami_id \
 --network-interfaces "NetworkCardIndex=0,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=0,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=1,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=2,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=3,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=4,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=4,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=5,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=6,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=7,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=8,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=8,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=9,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=10,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=11,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=12,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=12,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=13,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=14,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=15,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=16,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=16,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=17,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=18,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=19,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=20,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=20,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=21,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=22,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=23,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=24,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=24,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=25,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=26,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=27,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=28,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=28,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=29,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=30,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=31,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only"
...
```

## Configuración de EFA para instancias P6-B200
<a name="efa-for-p6-b200"></a>

Las instancias P6-B200 tienen una capacidad total de ancho de banda de la red de 3200 Gbps, de los cuales se pueden utilizar hasta 1600 Gbps para ENA. Tienen 8 GPU y 8 tarjetas de red, donde cada tarjeta de red admite un ancho de banda EFA de hasta 400 Gbps y un ancho de banda ENA de 200 Gbps. Dado que el tráfico de EFA y ENA comparten los mismos recursos subyacentes, el ancho de banda utilizado por una reducirá el ancho de banda disponible para la otra.

**Caso de uso 1: guardar direcciones IP**

Esta configuración consume al menos una dirección IP privada por instancia y admite hasta 3200 Gbps de ancho de banda de EFA y 200 Gbps de ancho de banda de ENA.
+ En la interfaz de red principal (índice de tarjetas de red 0, índice de dispositivos 0), use una interfaz de ENA.
+ Para el índice de tarjetas de red 0, índice de dispositivos 1, cree una interfaz de red exclusiva de EFA.
+ En el resto de las 7 tarjetas de red (índices de tarjeta de red 1 a 7, índice de dispositivos 0), use interfaces de red exclusivas de EFA.

**Caso de uso 2: ancho de banda máximo de EFA y ENA**

Esta configuración consume al menos 8 direcciones IP privadas por instancia y admite hasta 3200 Gbps de ancho de banda de EFA y 1600 Gbps de ancho de banda de ENA.
+ En la interfaz de red principal (índice de tarjetas de red 0, índice de dispositivos 0), use una interfaz de ENA.
+ Para el índice de tarjetas de red 0, índice de dispositivos 1, cree una interfaz de red exclusiva de EFA.
+ Para el resto de las 7 tarjetas de red (índices de tarjeta de red 1-7), cree una interfaz exclusiva de EFA en el índice de dispositivo 0 y una interfaz de red de ENA en índice de dispositivos 1.

## Configuración de EFA para instancias P6e-GB200
<a name="efa-for-p6e"></a>

Las instancias P6e-GB200 se pueden configurar con hasta 17 tarjetas de red. La siguiente imagen muestra el diseño de la tarjeta de interfaz de red física (NIC) para las instancias P6e-GB200, junto con la asignación de los índices de tarjetas de red (NCI).

![\[Asignación de la tarjeta de interfaz de red física (NIC) y del índice de tarjeta de red (NCI) para las instancias P6e-GB200.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/p6e.png)


El NCI principal (índice 0) admite hasta 100 Gbps de ancho de banda de ENA. Los NCI con los siguientes índices admiten interfaces de red exclusivas de EFA y un ancho de banda de EFA de 400 Gbps: [1, 3, 5, 7, 9, 11, 13, 15]. Los NCI con los siguientes índices admiten un ancho de banda de ENA o EFA de hasta 200 Gbps: [2, 4, 6, 8, 10, 12, 14, 16].

Los NCI de los siguientes grupos comparten una NIC física subyacente en el host:
+ [1 y 2]
+ [3 y 4]
+ [5 y 6]
+ [7 y 8]
+ [9 y 10]
+ [11 y 12]
+ [13 y 14]
+ [15 y 16]

Cada NIC física admite hasta 400 Gbps de ancho de banda. Como los NCI de estos grupos comparten la misma NIC física subyacente, el ancho de banda utilizado por una reducirá el ancho de banda disponible para la otra. Por ejemplo, si el NCI 2 usa 200 Gbps de un ancho de banda de ENA, el NCI 1 puede usar un máximo de 200 Gbps de ancho de banda de EFA al mismo tiempo.

Cada GPU subyacente del host puede enviar tráfico directamente a través de los siguientes pares de NCI:
+ [1 y 3]
+ [5 y 7]
+ [9 y 11]
+ [13 y 15]

Cada GPU admite un ancho de banda de EFA de hasta 400 Gbps. Como las tarjetas de red de estos grupos comparten la misma GPU, el ancho de banda utilizado por una reducirá el ancho de banda disponible para la otra. Por ejemplo, si el NCI 1 usa 200 Gbps de un ancho de banda de EFA, el NCI 3 puede usar un máximo de 200 Gbps de ancho de banda de EFA al mismo tiempo. Por lo tanto, para alcanzar el máximo rendimiento de EFA, se recomienda realizar **una de las siguientes acciones** para lograr un ancho de banda EFA total de 1600 Gbps:
+ Agregue una interfaz de red exclusiva para EFA a un solo NCI de cada grupo para lograr 400 Gbps por interfaz de red (*4 interfaces de red de EFA x 400 Gbps*).
+ Agregue una interfaz de red exclusiva para EFA a cada NCI de cada grupo para lograr 200 Gbps por interfaz de red (*8 interfaces de red de EFA x 200 Gbps*).

Por ejemplo, la siguiente configuración proporciona hasta 1600 Gbps de ancho de banda de EFA con una sola interfaz de red exclusiva para EFA en cada grupo de NCI y hasta 100 Gbps de ancho de banda de la red de ENA con solo el NCI principal (índice 0).
+ En el NCI principal (índice de tarjetas de red 0, índice de dispositivos 0), use una interfaz de red de ENA.
+ Agregue interfaces de red de EFA a lo siguiente:
  + NCI 1, índice de dispositivos 0
  + NCI 5, índice de dispositivos 0
  + NCI 9, índice de dispositivos 0
  + NCI 13, índice de dispositivos 0

## Configuración de EFA para instancias P6-B300
<a name="efa-for-p6-b300"></a>

Las instancias P6-B300 tienen una capacidad total de ancho de banda de la red de hasta 6400 Gbps para el tráfico EFA y hasta 3870 Gbps para el tráfico ENA. Disponen de 8 GPU y 17 tarjetas de red, mientras que la tarjeta de red principal solo es compatible con una interfaz de red ENA con un ancho de banda de hasta 350 Gbps. Las tarjetas de red secundarias son compatibles con un ancho de banda EFA de hasta 400 Gbps y ENA de hasta 220 Gbps. Dado que el tráfico de EFA y ENA comparten los mismos recursos subyacentes, el ancho de banda utilizado por una reducirá el ancho de banda disponible para la otra.

![\[Asignación de la tarjeta de interfaz de red física (NIC) y del índice de tarjeta de red (NCI) para las instancias P6-B300.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/p6-b300.png)


**Caso de uso 1: guardar direcciones IP**

Esta configuración consume al menos una dirección IP privada por instancia y admite hasta 6400 Gbps de ancho de banda de EFA y hasta 350 Gbps de ancho de banda de ENA.
+ En la interfaz de red principal (índice de tarjetas de red 0, índice de dispositivos 0), use una interfaz de ENA.
+ En el resto de las tarjetas de red (índices de tarjeta de red 1 a 16, índice de dispositivos 0), use interfaces de red solo de EFA.

```
--network-interfaces \
"NetworkCardIndex=0,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=1,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=2,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=3,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=4,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=5,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=6,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=7,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=8,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=9,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=10,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=11,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=12,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=13,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=14,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=15,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=16,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only"
```

**Caso de uso 2: ancho de banda máximo de EFA y ENA**

Esta configuración consume al menos 17 direcciones IP privadas por instancia y admite hasta 6400 Gbps de ancho de banda de EFA y 3870 Gbps de ancho de banda de ENA.
+ En la interfaz de red principal (índice de tarjetas de red 0, índice de dispositivos 0), use una interfaz de ENA.
+ Para el resto de las tarjetas de red, cree una interfaz solo de EFA (índices de tarjeta de red 1-16, índice de dispositivos 0) y una interfaz de ENA (índices de tarjeta de red 1-16, índice de dispositivos 1).

```
--network-interfaces \
"NetworkCardIndex=0,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=1,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=2,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=3,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=4,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=5,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=6,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=7,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=8,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=9,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=10,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=11,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=12,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=13,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=14,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=15,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=16,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=1,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=2,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=3,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=4,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=5,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=6,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=7,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=8,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=9,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=10,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=11,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=12,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=13,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=14,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=15,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=16,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface"
```

# Creación y asociación de un Elastic Fabric Adapter a una instancia de Amazon EC2
<a name="create-efa"></a>

Puede crear y asociar un EFA a una instancia de Amazon EC2 de modo muy similar a otras interfaces de red elástica en Amazon EC2. Sin embargo, a diferencia de las interfaces de red elástica, los EFA no se pueden asociar o desasociar de una instancia con el estado `running`.

**Consideraciones**
+  Puede cambiar el grupo de seguridad que está asociado a un EFA. Para habilitar la funcionalidad de omisión del sistema operativo, el EFA debe formar parte de un grupo de seguridad que permita todo el tráfico entrante y saliente hacia y desde el propio grupo de seguridad. Para obtener más información, consulte [Paso 1: preparar un grupo de seguridad habilitado para EFA](efa-start.md#efa-start-security).

  Cambie el grupo de seguridad asociado a un EFA de la misma manera que cambia el grupo de seguridad que está asociado a una interfaz de red elástica. Para obtener más información, consulte [Modificar atributos de interfaz de red](modify-network-interface-attributes.md).
+ Puede asignar una dirección IP elástica (IPv4) e IPv6 a una interfaz de red EFA (EFA con ENA) de la misma manera que asigna una dirección IP a una interfaz de red elástica. Para obtener más información, consulte [Administración de direcciones IP](managing-network-interface-ip-addresses.md).

  No puede asignar una dirección IP a una interfaz de red exclusiva para EFA.

**Topics**
+ [

## Crear un EFA
](#efa-create)
+ [

## Asociar un EFA a una instancia detenida
](#efa-attach)
+ [

## Asociar un EFA al iniciar una instancia
](#efa-launch)
+ [

## Agregar un EFA a una plantilla de inicialización
](#efa-launch-template)

## Crear un EFA
<a name="efa-create"></a>

Puede crear un EFA en una subred en una VPC. No puede mover el EFA a otra subred después de crearla y solo puede adjuntarlo a instancias detenidas en la misma zona de disponibilidad.

------
#### [ Console ]

**Cómo crear una interfaz de red EFA (EFA con ENA o solo ENA)**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Interfaces de red** y, a continuación, **Crear interfaz de red**.

1. En **Descripción**, escriba un nombre descriptivo para el EFA.

1. En **Subred**, seleccione la subred en la que crear el EFA.

1. En **Tipo de interfaz**, seleccione una de las siguientes opciones:
   + **EFA con ENA**: para crear una interfaz de red que admita tanto dispositivos ENA como EFA.
   + **Solo EFA**: para crear una interfaz de red únicamente con un dispositivo EFA.

1. (Para EFA solo con ENA) Configure la dirección IP y la asignación de prefijos para la interfaz de red. El tipo de direcciones IP y prefijos que puede asignar depende de la subred seleccionada. Para subredes solo IPv4, solo puede asignar direcciones IP y prefijos IPv4. Para subredes solo IPv6, solo puede asignar direcciones IP y prefijos IPv6. Para subredes de doble pila, puede asignar direcciones IP y prefijos tanto IPv4 como IPv6. 
**nota**  
No puede asignar direcciones IP a una interfaz de red solo para EFA.

   1. En **Dirección IPv4 privada** o **Dirección IPv6**, elija **Asignación automática** para que Amazon EC2 asigne automáticamente una dirección IP de la subred seleccionada, o elija **Personalizada** para especificar manualmente la dirección IP que se va a asignar.

   1. Si asigna una dirección IPv6, opcionalmente puede habilitar **Asignar IP IPv6 principal**. De esta manera se asigna una dirección de unidifusión global (GUA) IPv6 principal a la interfaz de red. La asignación de una dirección IPv6 principal le permite evitar interrumpir el tráfico a las instancias o ENI. Para obtener más información, consulte [Direcciones IPv6](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#vpc-ipv6-addresses).

   1. En **Delegación de prefijos IPv4** o **Delegación de prefijos IPv6**, elija **Asignación automática** para que Amazon EC2 asigne automáticamente un prefijo del bloque de CIDR de la subred, o elija **Personalizado** para especificar manualmente un prefijo del bloque de CIDR de la subred. Si especifica un prefijo, AWS verifica que aún no esté asignado a otro recurso. Para obtener más información, consulte [Delegación de prefijos para las interfaces de red de Amazon EC2](ec2-prefix-eni.md)

   1. (Opcional) Configure los ajustes de **tiempo de espera del seguimiento de la conexión inactiva**. Para obtener más información, consulte [Tiempo de espera de seguimiento de conexiones inactivas](security-group-connection-tracking.md#connection-tracking-timeouts)
      + **Tiempo de espera establecido de TCP**: tiempo de espera en segundos para las conexiones TCP inactivas en un estado establecido. Valor mínimo: 60 segundos. Valor máximo: 432 000 segundos (5 días). Valor predeterminado: 432 000 segundos. Valor recomendado: menos de 432 000 segundos.
      + **Tiempo de espera de UDP**: tiempo de espera en segundos para los flujos de UDP inactivos que solo han registrado tráfico en una sola dirección o en una sola transacción de solicitud-respuesta. Valor mínimo: 30 segundos. Valor máximo: 60 segundos. Valor predeterminado: 30 segundos.
      + **Tiempo de espera del flujo de UDP**: tiempo de espera en segundos para los flujos de UDP inactivos clasificados como flujos que han recibido más de una transacción de solicitud-respuesta. Valor mínimo: 60 segundos. Valor máximo: 180 segundos (3 minutos). Valor predeterminado: 180 segundos.

1. En **Grupos de seguridad**, seleccione uno o varios grupos de seguridad.

1. Elija **Crear interfaz de red**.

------
#### [ AWS CLI ]

**Para crear un EFA**  
Use el comando [create-global-network](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html). Para `--interface-type`, especifique `efa` para una interfaz de red EFA o `efa-only` para una interfaz de red exclusiva para EFA.

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --interface-type efa \
    --description "my efa"
```

------
#### [ PowerShell ]

**Para crear un EFA**  
Utilice el cmdlet [New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html). Para `-InterfaceType`, especifique `efa` para una interfaz de red EFA o `efa-only` para una interfaz de red exclusiva para EFA

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -InterfaceType efa `
    -Description "my efa"
```

------

## Asociar un EFA a una instancia detenida
<a name="efa-attach"></a>

Puede adjuntar un EFA a cualquier instancia admitida que esté en el estado `stopped`. No puede adjuntar un EFA a una instancia que esté en el estado `running`. Para obtener más información sobre los tipos de instancia admitidos, consulte [Tipos de instancias admitidas](efa.md#efa-instance-types).

Puede asociar un EFA a una instancia de la misma manera que asocia una interfaz de red elástica a una instancia. Para obtener más información, consulte [Asociación de una interfaz de red](network-interface-attachments.md#attach_eni).

## Asociar un EFA al iniciar una instancia
<a name="efa-launch"></a>

------
#### [ AWS CLI ]

**Para adjuntar un EFA existente al iniciar una instancia**  
Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) con la opción `--network-interfaces`. En la interfaz de red principal, especifique una interfaz de red EFA y `NetworkCardIndex=0`, `DeviceIndex=0`. Para adjuntar varias interfaces de red EFA, consulte [Maximizar el ancho de banda de la red](efa-acc-inst-types.md).

```
--network-interfaces "NetworkCardIndex=0, \
    DeviceIndex=0, \
    NetworkInterfaceId=eni-1234567890abcdef0, \
    Groups=sg-1234567890abcdef0, \
    SubnetId=subnet-0abcdef1234567890"
```

**Para adjuntar un EFA nuevo al iniciar una instancia**  
Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) con la opción `--network-interfaces`. En la interfaz de red principal, use el `NetworkCardIndex=0`, `DeviceIndex=0` y `InterfaceType=efa`. Si va a conectar varias interfaces de red EFA, consulte [Maximizar el ancho de banda de la red](efa-acc-inst-types.md).

```
--network-interfaces "NetworkCardIndex=0, \
    DeviceIndex=0, \
    InterfaceType=efa, \
    Groups=sg-1234567890abcdef0, \
    SubnetId=subnet-0abcdef1234567890"
```

------
#### [ PowerShell ]

**Para adjuntar un EFA existente al iniciar una instancia**  
Utilice el cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) con el parámetro `-NetworkInterfaces`.

```
-NetworkInterface $networkInterface
```

Defina la interfaz de red de la siguiente manera.

```
$networkInterface = New-Object Amazon.EC2.Model.InstanceNetworkInterfaceSpecification
$networkInterface.DeviceIndex = 0
$networkInterface.NetworkInterfaceId = "eni-1234567890abcdef0"
$networkInterface.Groups = @("sg-1234567890abcdef0")
$networkInterface.SubnetId = "subnet-0abcdef1234567890"
```

**Para adjuntar un EFA nuevo al iniciar una instancia**  
Utilice el cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) con el parámetro `-NetworkInterfaces`.

```
-NetworkInterface $networkInterface
```

Defina la interfaz de red de la siguiente manera.

```
$networkInterface = New-Object Amazon.EC2.Model.InstanceNetworkInterfaceSpecification
$networkInterface.DeviceIndex = 0
$networkInterface.InterfaceType = "efa"
$networkInterface.Groups = @("sg-1234567890abcdef0")
$networkInterface.SubnetId = "subnet-0abcdef1234567890"
```

------

## Agregar un EFA a una plantilla de inicialización
<a name="efa-launch-template"></a>

Puede crear una plantilla de inicialización que contenga la información de configuración necesaria para iniciar instancias de EFA. Puede especificar ambas interfaces de red EFA y solo EFA en la plantilla de inicialización. Para crear una plantilla de inicialización habilitada para EFA, cree una nueva plantilla de inicialización y especifique un tipo de instancia admitido, la AMI habilitada para EFA y un grupo de seguridad habilitado para EFA. Para `NetworkInterfaces`, especifique las interfaces de red EFA que deben adjuntarse. En la interfaz de red principal, use el `NetworkCardIndex=0`, `DeviceIndex=0` y `InterfaceType=efa`. Si va a conectar varias interfaces de red EFA, consulte [Maximizar el ancho de banda de la red en instancias de Amazon EC2 con varias tarjetas de red](efa-acc-inst-types.md).

Puede aprovechar las plantillas de inicialización para iniciar instancias habilitadas para EFA con otros servicios de AWS, como [AWS Batch](https://docs.aws.amazon.com/batch/latest/userguide/what-is-batch.html) o [AWS ParallelCluster](https://docs.aws.amazon.com/parallelcluster/latest/ug/what-is-aws-parallelcluster.html).

Para obtener más información acerca de la creación de plantillas de inicialización, consulte [Creación de una plantilla de inicialización de Amazon EC2](create-launch-template.md).

# Desasociación y eliminación de un EFA de una instancia de Amazon EC2
<a name="detach-efa"></a>

Puede desasociar un EFA de una instancia de Amazon EC2 y eliminarlo de la misma manera que otras interfaces de red elástica en Amazon EC2.

## Separar un EFA
<a name="efa-detach"></a>

Para separar un EFA de una instancia, primero debe detener la instancia. No puede separar un EFA de una instancia que está en estado de ejecución.

Separe un EFA desde una instancia de la misma manera que separe una interfaz de red elástica de una instancia. Para obtener más información, consulte [Desasociación de una interfaz de red](network-interface-attachments.md#detach_eni).

## Eliminar un EFA
<a name="efa-delete"></a>

Para eliminar un EFA, primero debe separarlo de la instancia. No puede eliminar un EFA mientras esté conectado a una instancia.

Los EFAs se eliminan de la misma manera que las interfaces de red elástica. Para obtener más información, consulte [Eliminar una interfaz de red](delete_eni.md).

# Monitoreo de un Elastic Fabric Adapter en Amazon EC2
<a name="efa-working-monitor"></a>

Puede utilizar las siguientes características para monitorizar el rendimiento de sus Elastic Fabric Adapters.

**Topics**
+ [

## Métricas de controladores de EFA para una instancia de Amazon EC2
](#efa-driver-metrics)
+ [

## Registros de flujo de Amazon VPC
](#efa-flowlog)
+ [

## Amazon CloudWatch
](#efa-cloudwatch)

## Métricas de controladores de EFA para una instancia de Amazon EC2
<a name="efa-driver-metrics"></a>

El controlador de Elastic Fabric Adapter (EFA) publica varias métricas de las instancias que tienen interfaces de EFA conectadas, en tiempo real. Puede utilizar estas métricas para solucionar problemas de rendimiento y redes de las aplicaciones, seleccionar el tamaño adecuado de clúster para una carga de trabajo, planificar actividades de escalado de manera proactiva y realizar pruebas de rendimiento en aplicaciones para determinar si aprovechan al máximo el rendimiento de EFA disponible en una instancia.

**Topics**
+ [

### Métricas del controlador de EFA disponibles
](#available-efa-metrics)
+ [

### Recuperación de las métricas del controlador de EFA para su instancia
](#view-efa-driver-metrics)

### Métricas del controlador de EFA disponibles
<a name="available-efa-metrics"></a>

El controlador de EFA publica las siguientes métricas a la instancia en tiempo real. Estas métricas proporcionan el número acumulado de errores, eventos de conexión y paquetes o bytes enviados, recibidos, retransmitidos o descartados por los dispositivos de EFA conectados desde el lanzamiento de la instancia o el último reinicio del controlador.


| Métrica | Descripción | Tipos de instancias admitidas | 
| --- | --- | --- | 
| tx\$1bytes |  El número de bytes que se transmiten. Unidades: bytes  | Todos los tipos de instancias compatibles con EFA | 
| rx\$1bytes |  El número de bytes recibidos. Unidades: bytes  | Todos los tipos de instancias compatibles con EFA | 
| tx\$1pkts |  El número de paquetes que se transmiten. Unidad: recuento  | Todos los tipos de instancias compatibles con EFA | 
| rx\$1pkts |  El número de paquetes recibidos. Unidad: recuento  | Todos los tipos de instancias compatibles con EFA | 
| rx\$1drops |  El número de paquetes que fueron recibidos y luego descartados. Unidad: recuento  | Todos los tipos de instancias compatibles con EFA | 
| send\$1bytes |  El número de bytes enviados mediante operaciones de envío. Unidades: bytes  | Todos los tipos de instancias compatibles con EFA | 
| recv\$1bytes |  El número de bytes recibidos mediante operaciones de envío. Unidades: bytes  | Todos los tipos de instancias compatibles con EFA | 
| send\$1wrs |  El número de paquetes enviados mediante operaciones de envío. Unidad: recuento  | Todos los tipos de instancias compatibles con EFA | 
| recv\$1wrs |  El número de paquetes recibidos mediante operaciones de envío. Unidad: recuento  | Todos los tipos de instancias compatibles con EFA | 
| rdma\$1write\$1wrs |  El número de operaciones de escritura rdma completadas. Unidad: recuento  | Todos los tipos de instancias compatibles con EFA | 
| rdma\$1read\$1wrs |  El número de operaciones de lectura rdma completadas. Unidad: recuento  | Todos los tipos de instancias compatibles con EFA | 
| rdma\$1write\$1bytes |  El número de bytes escritos en él por otras instancias mediante operaciones de escritura rdma. Unidades: bytes  | Todos los tipos de instancias compatibles con EFA | 
| rdma\$1read\$1bytes |  El número de bytes recibidos mediante operaciones de lectura rdma. Unidades: bytes  | Todos los tipos de instancias compatibles con EFA | 
| rdma\$1write\$1wr\$1err |  El número de operaciones de escritura rdma que tuvieron errores locales o remotos. Unidad: recuento  | Todos los tipos de instancias compatibles con EFA | 
| rdma\$1read\$1wr\$1err |  El número de operaciones de lectura rdma que tuvieron errores locales o remotos. Unidad: recuento  | Todos los tipos de instancias compatibles con EFA | 
| rdma\$1read\$1resp\$1bytes |  El número de bytes enviados en respuesta a operaciones de lectura de rdma. Unidades: bytes  | Todos los tipos de instancias compatibles con EFA | 
| rdma\$1write\$1recv\$1bytes |  El número de bytes recibidos mediante operaciones de escritura rdma. Unidades: bytes  | Todos los tipos de instancias compatibles con EFA | 
| retrans\$1bytes |  El número de bytes SRD de EFA retransmitidos. Unidad: recuento  | Tipos de instancia Nitro v4 y posteriores compatibles con EFA | 
| retrans\$1pkts |  El número de paquetes SRD de EFA retransmitidos. Unidades: bytes  | Tipos de instancia Nitro v4 y posteriores compatibles con EFA | 
| retrans\$1timeout\$1events |  El número de veces que se agotó el tiempo de espera del tráfico SRD de EFA y se produjo un cambio en la ruta de la red. Unidad: recuento  | Tipos de instancia Nitro v4 y posteriores compatibles con EFA | 
| impaired\$1remote\$1conn\$1events |  El número de veces que las conexiones SRD de EFA estuvieron dañadas, lo que produjo un límite de tasa de rendimiento reducido. Unidad: recuento  | Tipos de instancia Nitro v4 y posteriores compatibles con EFA | 
| unresponsive\$1remote\$1events |  El número de veces que una conexión remota SRD de EFA no respondió. Unidad: recuento  | Tipos de instancia Nitro v4 y posteriores compatibles con EFA | 

Para obtener más información sobre los tipos de instancia compatibles con EFA, consulte [Tipos de instancias admitidas](efa.md#efa-instance-types).

### Recuperación de las métricas del controlador de EFA para su instancia
<a name="view-efa-driver-metrics"></a>

Puede usar la herramienta de línea de comandos [rdma-tool](https://man7.org/linux/man-pages/man8/rdma.8.html) para recuperar las métricas de todas las interfaces de EFA conectadas a una instancia de la siguiente manera:

```
$ rdma -p statistic show
link rdmap0s31/1 
    tx_bytes 0 
    tx_pkts 0 
    rx_bytes 0 
    rx_pkts 0 
    rx_drops 0 
    send_bytes 0 
    send_wrs 0 
    recv_bytes 0 
    recv_wrs 0 
    rdma_read_wrs 0 
    rdma_read_bytes 0 
    rdma_read_wr_err 0 
    rdma_read_resp_bytes 0 
    rdma_write_wrs 0 
    rdma_write_bytes 0 
    rdma_write_wr_err 0
    retrans_bytes 0
    retrans_pkts 0
    retrans_timeout_events 0
    unresponsive_remote_events 0
    impaired_remote_conn_events 0
```

Como alternativa, puede recuperar las métricas de cada interfaz de EFA adjunta a una instancia desde los archivos sys mediante el siguiente comando.

```
$ more /sys/class/infiniband/device_number/ports/port_number/hw_counters/* | cat
```

Por ejemplo

```
$ more /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/* | cat
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/lifespan
::::::::::::::
12
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_resp_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_wr_err
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_wrs
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_recv_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_wr_err
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_wrs
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/recv_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/recv_wrs
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rx_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rx_drops
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rx_pkts
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/send_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/send_wrs
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/tx_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/tx_pkts
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/retrans_bytes
::::::::::::::
0
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/retrans_pkts
::::::::::::::
0
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/retrans_timeout_events
::::::::::::::
0
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/unresponsive_remote_events
::::::::::::::
0
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/impaired_remote_conn_events
::::::::::::::
0
```

## Registros de flujo de Amazon VPC
<a name="efa-flowlog"></a>

Puede crear un registro de flujo de Amazon VPC para capturar información acerca el tráfico entrante y saliente de un EFA. Los datos del registro de flujo se pueden publicar en Amazon CloudWatch Logs y Amazon S3. Una vez creado un registro de flujo, puede recuperarlo y ver sus datos en el destino elegido. Para obtener más información, consulte [Registros de flujo de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) en la *Guía del usuario de Amazon VPC*.

Un registro de flujo para un EFA se crea de la misma manera que se crea un registro de flujo para una interfaz de red elástica. Para obtener más información, consulte [Creación de un registro de flujo](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-flow-logs.html#create-flow-log) en la *Guía del usuario de Amazon VPC*.

En las entradas de registro de flujo, el tráfico de EFA se identifica mediante `srcAddress` y `destAddress` que tienen formato de direcciones MAC, tal como se muestra en el ejemplo siguiente.

```
version accountId  eniId        srcAddress        destAddress       sourcePort destPort protocol packets bytes start      end        action log-status
2       3794735123 eni-10000001 01:23:45:67:89:ab 05:23:45:67:89:ab -          -        -        9       5689  1521232534 1524512343 ACCEPT OK
```

## Amazon CloudWatch
<a name="efa-cloudwatch"></a>

Si utiliza EFA en un clúster de Amazon EKS, puede supervisar los EFA a través de la información de contenedores de CloudWatch. Información de contenedores de Amazon CloudWatch admite todas las [métricas del controlador de EFA](#efa-driver-metrics), excepto: `retrans_bytes`, `retrans_pkts`, `retrans_timeout_events`, `unresponsive_remote_events` y `impaired_remote_conn_events`.

Para obtener más información, consulte [Métricas de información de contenedores de Kubernetes y de Amazon EKS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-enhanced-EKS.html#Container-Insights-metrics-EFA) en la *Guía del usuario de Amazon CloudWatch*.

# Verificar el instalador de EFA mediante una suma de comprobación
<a name="efa-verify"></a>

Si lo desea, puede verificar el archivo tarball de EFA (archivo `.tar.gz`) utilizando una suma de comprobación MD5 o SHA256. Le recomendamos que lo haga para verificar la identidad del editor de software y para comprobar que la aplicación no se ha modificado ni dañado desde que se publicó.

**Para verificar el tarball**  
Use la utilidad **md5sum** para la suma de comprobación MD5 o la utilidad **sha256sum** para la suma de comprobación SHA256, y especifique el nombre de archivo tarball. Debe ejecutar el comando desde el directorio en el que guardó el archivo tarball.
+ MD5

  ```
  $  md5sum tarball_filename.tar.gz
  ```
+ SHA256

  ```
  $  sha256sum tarball_filename.tar.gz
  ```

Los comandos deben devolver un valor de suma de comprobación en el siguiente formato.

```
checksum_value tarball_filename.tar.gz
```

Compare el valor de suma de comprobación devuelto por el comando con el valor de suma de comprobación proporcionado en la tabla siguiente. Si las sumas de comprobación coinciden, entonces es seguro ejecutar el script de instalación. Si las sumas de comprobación no concuerdan, no ejecute el script de instalación y contacte con Soporte.

Por ejemplo, el siguiente comando verifica el tarball 1.9.4 de EFA utilizando la suma de comprobación SHA256.

```
$  sha256sum aws-efa-installer-1.9.4.tar.gz
```

Ejemplo de código de salida:

```
1009b5182693490d908ef0ed2c1dd4f813cc310a5d2062ce9619c4c12b5a7f14 aws-efa-installer-1.9.4.tar.gz
```

En la tabla siguiente se muestran las sumas de comprobación de las versiones recientes de EFA.


| Versión | Sumas de comprobación | 
| --- | --- | 
| EFA 1.47.0 |  **MD5: **`c81d4caf24dabc04a6e4818590620f5f` **SHA256: **`2df4201e046833c7dc8160907bee7f52b76ff80ed147376a2d0ed8a0dd66b2db`  | 
| EFA 1.46.0 |  **MD5: **a88bbd9b71624d7ca401b54bc2fc0c19`` **SHA256: **`8302bd7849afb95c903a875d7dcb6f85b3d7629e9a8b67d020031cfc6f4d0ee1`  | 
| EFA 1.45.1 |  **MD5: **91c3c87e16bbcaca1513252c38b771bb`` **SHA256: **`9aeb20c645135b6039cc08986d8f14e63280f7839e882a74df5e83627ffeaa17`  | 
| EFA 1.45.0 |  **MD5: **800aeddfa9d9c5f139a7b8f7c4fec627`` **SHA256: **`25ba26a0877fe3317390dc126aad2f23e27fc461cf0b940004f032cb342fa539`  | 
| EFA 1.44.0 |  **MD5: **d024f6bebe080db42745103b84ca7c43`` **SHA256: **`f129a5b44a49d593d247e55a59eb9bcb57121566e1c2e42b832a4e794fa83d8a`  | 
| EFA 1.43.3 |  **MD5: **`4dbc6eeecc516760253c10cbedb6319d` **SHA256: **`6c470ebce254c7165347b5048895ac2996c88567271642297f4c597738300652`  | 
| EFA 1.43.2 |  **MD5: **`7287b25a07c9747c0d4001e8fc5f59b2` **SHA256: **`de15c5bdbc83b952afbde876110830c604ad0796680e5157c05f7c1979a41069`  | 
| EFA 1.43.1 |  **MD5: **`7cfafc8debaea51dd4966fa0b2bba673` **SHA256: **54211eda0c193138ee8ed09b5fb41c41fc76fe0a77935fa4ec8d989466342740``  | 
| EFA 1.43.0 |  **MD5: **`f2b3dd7dc8670b541f7c23fd58e5e503` **SHA256: **`786df3458c499237be33bb8e50ffd4da7c18c20e254380ffc80fb90833d8cc73`  | 
| EFA 1.42.0 |  **MD5: **`94b2b1db09da1dde08ec049db1f24370` **SHA256: **`4114fe612905ee05083ae5cb391a00a012510f3abfecc642d86c9a5ae4be9008`  | 
| EFA 1.41.0 |  **MD5: **`086181c3ee3f8da512fc6e1c795e8936` **SHA256: **`3506354cdfbe31ff552fe75f5d0d9bb7efd29cf79bd99457347d29c751c38f9f`  | 
| EFA 1.40.0 |  **MD5: **`f3ec6f73fbeaccba082327507581157c` **SHA256: **`30491b0fe7c3470d4439594538855c981b05fa69862d74f8c05eb9b97912368a`  | 
| EFA 1.39.0 |  **MD5: **`c223d5954a85a7fbcd248c942b866e43` **SHA256: **`2cbc028c03064633bb990782b47c36156637769e2f48704417a9c700a7a32101`  | 
| EFA 1.38.1 |  **MD5: **`f112569e828ab65187777f794bab542c` **SHA256: **`83923374afd388b1cfcf4b3a21a2b1ba7cf46a01a587f7b519b8386cb95e4f81`  | 
| EFA 1.38.0 |  **MD5: **`43a2a446b33a2506f40853d55059f1ea` **SHA256: **`4f436954f35ad53754b4d005fd8d0be63de3b4184de41a695b504bdce0fecb22`  | 
| EFA 1.37.0 |  **MD5: **`6328070192bae920eca45797ad4c1db1` **SHA256: **`2584fc3c8bb99f29b3285e275747ff09d67c18e162c2a652e36c976b72154bfb`  | 
| EFA 1.36.0 |  **MD5: **`1bec83180fbffb23452ab6469ca21dfa` **SHA256: **`de183f333cfb58aeb7908a67bf9106985ba3ccb7f8638b851d2a0d8dbfacaec4`  | 
| EFA 1.35.0 |  **MD5: **`252f03c978dca5f8e8d9f34e488b256e` **SHA256: **`432b6ad4368ba0cd8b902729d14a908a97be7a3dcc5239422ea994a47f35a5e1`  | 
| EFA 1.34.0 |  **MD5: **`5cd4b28d27a31677c16139b54c9acb45` **SHA256: **`bd68839e741b0afd3ec2e37d50603803cfa7a279c120f0a736cc57c2ff2d7fdc`  | 
| EFA 1.33.0 |  **MD5: **`e2f61fccbcaa11e2ccfddd3660522276` **SHA256: **`0372877b87c6a7337bb7791d255e1053b907d030489fb2c3732ba70069185fce`  | 
| EFA 1.32.0 |  **MD5: **`db8d65cc028d8d08b5a9f2d88881c1b1` **SHA256: **`5f7233760be57f6fee6de8c09acbfbf59238de848e06048dc54d156ef578fc66`  | 
| EFA 1.31.0 |  **MD5: **`856352f12bef2ccbadcd75e35aa52aaf` **SHA256: **`943325bd37902a4300ac9e5715163537d56ecb4e7b87b37827c3e547aa1897bf`  | 
| EFA 1.30.0 |  **MD5: **`31f48e1a47fe93ede8ebd273fb747358` **SHA256: **`876ab9403e07a0c3c91a1a34685a52eced890ae052df94857f6081c5f6c78a0a`  | 
| EFA 1.29.1 |  **MD5: **`e1872ca815d752c1d7c2b5c175e52a16` **SHA256: **`178b263b8c25845b63dc93b25bcdff5870df5204ec509af26f43e8d283488744`  | 
| EFA 1.29.0 |  **MD5: **`39d06a002154d94cd982ed348133f385` **SHA256: **`836655f87015547e733e7d9f7c760e4e24697f8bbc261bb5f3560abd4206bc36`  | 
| EFA 1.28.0 |  **MD5: **`9dc13b7446665822605e66febe074035` **SHA256: **`2e625d2d6d3e073b5178e8e861891273d896b66d03cb1a32244fd56789f1c435`  | 
| EFA 1.27.0 |  **MD5: **`98bfb515ea3e8d93f554020f3837fa15` **SHA256: **`1d49a97b0bf8d964d91652a79ac851f2550e33a5bf9d0cf86ec9357ff6579aa3`  | 
| EFA 1.26.1 |  **MD5: **`884e74671fdef4725501f7cd2d451d0c` **SHA256: **`c616994c924f54ebfabfab32b7fe8ac56947fae00a0ff453d975e298d174fc96`  | 
| EFA 1.26.0 |  **MD5: **`f8839f12ff2e3b9ba09ae8a82b30e663` **SHA256: **`bc1abc1f76e97d204d3755d2a9ca307fc423e51c63141f798c2f15be3715aa11`  | 
| EFA 1.25.1 |  **MD5: **`6d876b894547847a45bb8854d4431f18` **SHA256: **`d2abc553d22b89a4ce92882052c1fa6de450d3a801fe005da718b7d4b9602b06`  | 
| EFA 1.25.0 |  **MD5: **`1993836ca749596051da04694ea0d00c` **SHA256: **`98b7b26ce031a2d6a93de2297cc71b03af647194866369ca53b60d82d45ad342`  | 
| EFA 1.24.1 |  **MD5: **`211b249f39d53086f3cb0c07665f4e6f` **SHA256: **`120cfeec233af0955623ac7133b674143329f9561a9a8193e473060f596aec62`  | 
| EFA 1.24.0 |  **MD5: **`7afe0187951e2dd2c9cc4b572e62f924` **SHA256: **`878623f819a0d9099d76ecd41cf4f569d4c3aac0c9bb7ba9536347c50b6bf88e`  | 
| EFA 1.23.1 |  **MD5: **`22491e114b6ee7160a8290145dca0c28` **SHA256: **`5ca848d8e0ff4d1571cd443c36f8d27c8cdf2a0c97e9068ebf000c303fc40797`  | 
| EFA 1.23.0 |  **MD5: **`38a6d7c1861f5038dba4e441ca7683ca` **SHA256: **`555d497a60f22e3857fdeb3dfc53aa86d05926023c68c916d15d2dc3df6525bd`  | 
| EFA 1.22.1 |  **MD5: **`600c0ad7cdbc06e8e846cb763f92901b` **SHA256: **`f90f3d5f59c031b9a964466b5401e86fd0429272408f6c207c3f9048254e9665`  | 
| EFA 1.22.0 |  **MD5: **`8f100c93dc8ab519c2aeb5dab89e98f8` **SHA256: **`f329e7d54a86a03ea51da6ea9a5b68fb354fbae4a57a02f9592e21fce431dc3a`  | 
| EFA 1.21.0 |  **MD5: **`959ccc3a4347461909ec02ed3ba7c372` **SHA256: **`c64e6ca34ccfc3ebe8e82d08899ae8442b3ef552541cf5429c43d11a04333050`  | 
| EFA 1.20.0 |  **MD5: **`7ebfbb8e85f1b94709df4ab3db47913b` **SHA256: **`aeefd2681ffd5c4c631d1502867db5b831621d6eb85b61fe3ec80df983d1dcf0`  | 
| EFA 1.19.0 |  **MD5: **`2fd45324953347ec5518da7e3fefa0ec` **SHA256: **`99b77821b9e72c8dea015cc92c96193e8db307deee05b91a58094cc331f16709`  | 
| EFA 1.18.0 |  **MD5: **`fc2571a72f5d3c7b7b576ce2de38d91e` **SHA256: **`acb18a0808aedb9a5e485f1469225b9ac97f21db9af78e4cd6939700debe1cb6`  | 
| EFA 1.17.3 |  **MD5: **`0517df4a190356ab559235147174cafd` **SHA256: **`5130998b0d2883bbae189b21ab215ecbc1b01ae0231659a9b4a17b0a33ebc6ca`  | 
| EFA 1.17.2 |  **MD5: **`a329dedab53c4832df218a24449f4c9a` **SHA256: **`bca1fdde8b32b00346e175e597ffab32a09a08ee9ab136875fb38283cc4cd099`  | 
| EFA 1.17.1 |  **MD5: **`733ae2cfc9d14b52017eaf0a2ab6b0ff` **SHA256: **`f29322640a88ae9279805993cb836276ea240623820848463ca686c8ce02136f`  | 
| EFA 1.17.0 |  **MD5: **`d430fc841563c11c3805c5f82a4746b1` **SHA256: **`75ab0cee4fb6bd38889dce313183f5d3a83bd233e0a6ef6205d8352821ea901d`  | 
| EFA 1.16.0 |  **MD5: **`399548d3b0d2e812d74dd67937b696b4` **SHA256: **`cecec36495a1bc6fdc82f97761a541e4fb6c9a3cbf3cfcb145acf25ea5dbd45b`  | 
| EFA 1.15.2 |  **MD5: **`955fea580d5170b05823d51acde7ca21` **SHA256: **`84df4fbc1b3741b6c073176287789a601a589313accc8e6653434e8d4c20bd49`  | 
| EFA 1.15.1 |  **MD5: **`c4610267039f72bbe4e35d7bf53519bc` **SHA256: **`be871781a1b9a15fca342a9d169219260069942a8bda7a8ad06d4baeb5e2efd7`  | 
| EFA 1.15.0 |  **MD5: **`9861694e1cc00d884fadac07d22898be` **SHA256: **`b329862dd5729d2d098d0507fb486bf859d7c70ce18b61c302982234a3a5c88f`  | 
| EFA 1.14.1 |  **MD5: **`50ba56397d359e57872fde1f74d4168a` **SHA256: **`c7b1b48e86fe4b3eaa4299d3600930919c4fe6d88cc6e2c7e4a408a3f16452c7`  | 
| EFA 1.14.0 |  **MD5: **`40805e7fd842c36ececb9fd7f921b1ae` **SHA256: **`662d62c12de85116df33780d40e0533ef7dad92709f4f613907475a7a1b60a97`  | 
| EFA 1.13.0 |  **MD5: **`c91d16556f4fd53becadbb345828221e` **SHA256: **`ad6705eb23a3fce44af3afc0f7643091595653a723ad0374084f4f2b715192e1`  | 
| EFA 1.12.3 |  **MD5: **`818aee81f097918cfaebd724eddea678` **SHA256: **`2c225321824788b8ca3fbc118207b944cdb096b847e1e0d1d853ef2f0d727172`  | 
| EFA 1.12.2 |  **MD5: **`956bb1fc5ae0d6f0f87d2e481d49fccf` **SHA256: **`083a868a2c212a5a4fcf3e4d732b685ce39cceb3ca7e5d50d0b74e7788d06259`  | 
| EFA 1.12.1 |  **MD5: **`f5bfe52779df435188b0a2874d0633ea` **SHA256: **`5665795c2b4f09d5f3f767506d4d4c429695b36d4a17e5758b27f033aee58900`  | 
| EFA 1.12.0 |  **MD5: **`d6c6b49fafb39b770297e1cc44fe68a6` **SHA256: **`28256c57e9ecc0b0778b41c1f777a9982b4e8eae782343dfe1246079933dca59`  | 
| EFA 1.11.2 |  **MD5: **`2376cf18d1353a4551e35c33d269c404` **SHA256: **`a25786f98a3628f7f54f7f74ee2b39bc6734ea9374720507d37d3e8bf8ee1371`  | 
| EFA 1.11.1 |  **MD5: **`026b0d9a0a48780cc7406bd51997b1c0` **SHA256: **`6cb04baf5ffc58ddf319e956b5461289199c8dd805fe216f8f9ab8d102f6d02a`  | 
| EFA 1.11.0 |  **MD5: **`7d9058e010ad65bf2e14259214a36949` **SHA256: **`7891f6d45ae33e822189511c4ea1d14c9d54d000f6696f97be54e915ce2c9dfa`  | 
| EFA 1.10.1 |  **MD5: **`78521d3d668be22976f46c6fecc7b730` **SHA256: **`61564582de7320b21de319f532c3a677d26cc46785378eb3b95c636506b9bcb4`  | 
| EFA 1.10.0 |  **MD5: **`46f73f5a7afe41b4bb918c81888fefa9` **SHA256: **`136612f96f2a085a7d98296da0afb6fa807b38142e2fc0c548fa986c41186282`  | 
| EFA 1.9.5 |  **MD5: **`95edb8a209c18ba8d250409846eb6ef4` **SHA256: **`a4343308d7ea4dc943ccc21bcebed913e8868e59bfb2ac93599c61a7c87d7d25`  | 
| 1.9.4 de EFA |  **MD5: **`f26dd5c350422c1a985e35947fa5aa28` **SHA256: **`1009b5182693490d908ef0ed2c1dd4f813cc310a5d2062ce9619c4c12b5a7f14`  | 
| 1.9.3 de EFA |  **MD5: **`95755765a097802d3e6d5018d1a5d3d6` **SHA256: **`46ce732d6f3fcc9edf6a6e9f9df0ad136054328e24675567f7029edab90c68f1`  | 
| 1.8.4 de EFA |  **MD5: **`85d594c41e831afc6c9305263140457e` **SHA256: **`0d974655a09b213d7859e658965e56dc4f23a0eee2dc44bb41b6d039cc5bab45`  | 

# Notas de la versión de Elastic Fabric Adapter
<a name="efa-changelog"></a>

En la siguiente tabla, se describe el historial de versiones y el registro de cambios del software Elastic Fabric Adapter.


| Versión | Cambios | Fecha de lanzamiento de la nueva versión | 
| --- | --- | --- | 
| 1.47.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 29 de enero de 2026 | 
| 1.46.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 12 de diciembre de 2025 | 
| 1.45.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 26 de noviembre de 2025 | 
| 1.45.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 17 de noviembre de 2025 | 
| 1.44.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 29 de octubre de 2025 | 
| 1.43.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 01 de octubre de 2025 | 
| 1.43.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 15 de agosto de 2025 | 
| 1.43.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 31 de julio de 2025 | 
| 1.43.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 25 de julio de 2025 | 
| 1.42.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 6 de junio de 2025 | 
| 1.41.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 16 de mayo de 2025 | 
| 1.40.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 2 de mayo de 2025 | 
| 1.39.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 16 de abril de 2025 | 
| 1.38.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 3 de marzo de 2025 | 
| 1.38.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 8 de enero de 2025 | 
| 1.37.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 18 de noviembre de 2024 | 
| 1.36.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 7 de noviembre de 2024 | 
| 1.35.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 14 de octubre de 2024 | 
| 1.34.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 6 de agosto de 2024 | 
| 1.33.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 20 de junio de 2024 | 
| 1.32.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 18 de abril de 2024 | 
| 1.31.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | 7 de marzo de 2024 | 
| 1.30.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Diciembre de 2023 | 
| 1.29.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Diciembre de 2023 | 
| 1.29.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Noviembre de 2023 | 
| 1.28.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Octubre de 2023 | 
| 1.27.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Septiembre de 2023 | 
| 1.26.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Septiembre de 2023 | 
| 1.26.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Septiembre de 2023 | 
| 1.25.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Septiembre de 2023 | 
| 1.25.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Julio de 2023 | 
| 1.24.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Julio de 2023 | 
| 1.24.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Junio de 2023 | 
| 1.23.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Junio de 2023 | 
| 1.23.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Mayo de 2023 | 
| 1.22.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Marzo de 2023 | 
| 1.22.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Febrero de 2023 | 
| 1.21.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Diciembre de 2022 | 
| 1.20.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Noviembre de 2022 | 
| 1.19.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Octubre de 2022 | 
| 1.18.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Agosto de 2022 | 
| 1.17.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Agosto de 2022 | 
| 1.17.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Julio de 2022 | 
| 1.17.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Julio de 2022 | 
| 1.17.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Julio de 2022 | 
| 1.16.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Junio de 2022 | 
| 1.15.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Mayo de 2022 | 
| 1.15.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Marzo de 2022 | 
| 1.15.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Febrero de 2022 | 
| 1.14.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Octubre de 2021 | 
| 1.14.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Octubre de 2021 | 
| 1.13.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Agosto de 2021 | 
| 1.12.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Julio de 2021 | 
| 1.12.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Junio de 2021 | 
| 1.12.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Mayo de 2021 | 
| 1.12.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Mayo de 2021 | 
| 1.11.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Febrero de 2021 | 
| 1.11.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Diciembre de 2020 | 
| 1.11.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Diciembre de 2020 | 
| 1.10.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Noviembre de 2020 | 
| 1.10.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Octubre de 2020 | 
| 1.9.5 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Septiembre de 2020 | 
| 1.9.4 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Julio de 2020 | 
| 1.9.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Junio de 2020 | 
| 1.8.4 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Abril de 2020 | 
| 1.8.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Febrero de 2020 | 
| 1.8.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Enero de 2020 | 
| 1.8.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Enero de 2020 | 
| 1.8.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Diciembre de 2019 | 
| 1.7.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Diciembre de 2019 | 
| 1.7.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Noviembre de 2019 | 
| 1.6.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Octubre de 2019 | 
| 1.6.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Octubre de 2019 | 
| 1.5.4 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Septiembre de 2019 | 
| 1.5.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Septiembre de 2019 | 
| 1.5.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Agosto de 2019 | 
| 1.5.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Agosto de 2019 | 
| 1.4.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Julio de 2019 | 
| 1.4.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/efa-changelog.html)  | Julio de 2019 | 

# Topología de Amazon EC2
<a name="ec2-instance-topology"></a>

La topología de Amazon EC2 proporciona una visión jerárquica de la proximidad relativa de la capacidad de computación. Puede utilizar esta información para administrar la infraestructura de computación de alto rendimiento (HPC), machine learning (ML) e IA generativa a escala.

**API de disponibles**

Amazon EC2 ofrece dos API para comprender la topología de EC2:
+ [DescribeInstanceTopology](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTopology.html)
  + Indica la ubicación en la jerarquía de la red de las instancias en *ejecución* en relación con las demás.
  + Ayuda a optimizar la ubicación en la que se ejecutan las cargas de trabajo en las instancias existentes.
+ [DescribeCapacityReservationTopology](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeCapacityReservationTopology.html)
  + Indica dónde se ubicarán las capacidades reservadas en relación con las demás en la jerarquía de la red *antes de iniciar las instancias*.
  + Ayuda a planificar la capacidad al informarle de la ubicación de la capacidad reservada antes de iniciar las instancias.

**Ventajas principales**

La topología de EC2 proporciona las siguientes ventajas clave:
+ Administración de la capacidad: optimice la utilización de los recursos.
+ Programación de trabajos: tome decisiones informadas sobre la ubicación de las cargas de trabajo.
+ Clasificación de nodos: comprenda la proximidad relativa para optimizar el rendimiento en instancias con acoplamiento ajustado.

**Consideraciones**
+ Las vistas de topología solo están disponibles para los siguientes casos:
  + Instancias con el estado `running`
  + Reservas de capacidad con el estado `pending` o `active`
+ Cada vista de topología es única para cada Cuenta de AWS.
+ La Consola de administración de AWS no admite la visualización de la topología.
+ Si bien la información sobre la topología lo ayuda a comprender la ubicación de las instancias, no puede utilizarla para iniciar una nueva instancia físicamente cerca de una instancia existente. Para influir en la ubicación de las instancias, puede [crear reservas de capacidad en los grupos con ubicación en clúster](cr-cpg.md).

**Precios**  
Describir la topología de EC2 no conlleva ningún costo adicional.

**Topics**
+ [Funcionamiento](how-ec2-instance-topology-works.md)
+ [Requisitos previos](ec2-instance-topology-prerequisites.md)
+ [Ejemplos](ec2-instance-topology-examples.md)

# Funcionamiento de la topología de Amazon EC2
<a name="how-ec2-instance-topology-works"></a>

La red AWS está organizada en una jerarquía de capas. Las instancias de EC2 se conectan a la red en la tercera capa o por debajo de ella, según el tipo de instancia. La topología de una instancia se describe mediante un conjunto de nodos, con un nodo en cada capa de la red. El conjunto de nodos en la respuesta de la API [DescribeInstanceTopology](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTopology.html) o [DescribeCapacityReservationTopology](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeCapacityReservationTopology.html) ofrece una vista descendente de la jerarquía de la red, con el nodo inferior conectado a una instancia.

**nota**  
Algunos tipos de instancias comprenden 4 nodos de red en un conjunto de nodos que representan 4 capas de la red, mientras que otros comprenden 3 nodos de red que representan 3 capas de la red. Para ver los tipos de instancias compatibles, consulte [Tipos de instancias](ec2-instance-topology-prerequisites.md#inst-net-topology-prereqs-instance-types).  
Según el tipo de reserva de capacidad, es posible que solo vea 1, 2 o 3 nodos de red.

En el siguiente diagrama, se proporciona una representación visual que se puede utilizar para comprender la topología de EC2. Los nodos de red se identifican como **NN1** – **NN7**. Los valores **i**, **ii** y **iii** identifican las capas de red. Los números **1**, **2**, **3** y **4** identifican las instancias de EC2. Las instancias se conectan a un nodo de la capa inferior, identificado con **iii** en el siguiente diagrama. Se puede conectar más de una instancia al mismo nodo.

![\[Representación gráfica de la topología de instancias.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/instance-topology.png)


En este ejemplo:
+ La instancia 1 se conecta al nodo de red 4 (NN4) en la capa iii. NN4 se conecta al nodo de red 2 (NN2) en la capa ii y NN2 se conecta al nodo de red 1 (NN1) en la capa i, que es la primera de la jerarquía de la red en este ejemplo. El conjunto de nodos de red comprende NN1, NN2 y NN4, expresados jerárquicamente desde las capas superiores a la inferior.
+ La instancia 2 también se conecta al nodo de red 4 (NN4). La instancia 1 y la instancia 2 comparten el mismo conjunto de nodos de red: NN1, NN2 y NN4.
+ La instancia 3 también se conecta al nodo de red 5 (NN5). NN5 se conecta a NN2 y NN2 se conecta a NN1. El conjunto de nodos de red para la instancia 3 es NN1, NN2 y NN5.
+ La instancia 4 se conecta al nodo de red 6 (NN6). Su conjunto de nodos de red es NN1, NN3 y NN6.

Al considerar la proximidad de las instancias 1, 2 y 3, las instancias 1 y 2 están más cerca unas de otras porque se conectan al mismo nodo de red (NN4), mientras que la instancia 3 está más alejada porque se conecta a un nodo de red diferente (NN5).

Al considerar la proximidad de todas las instancias de este diagrama, las instancias 1, 2 y 3 están más cerca unas de otras que de la instancia 4 porque comparten NN2 en su conjunto de nodos de red.

Como regla general, si el nodo de red conectado a dos instancias cualquiera es el mismo, estas instancias están físicamente cerca una de la otra, como ocurre con las instancias 1 y 2. Además, cuanto menor sea el número de saltos entre los nodos de red, más cerca estarán las instancias entre sí. Por ejemplo, las instancias 1 y 3 tienen menos saltos a un nodo de red común (NN2) que al nodo de red (NN1) que tienen en común con la instancia 4 y, por lo tanto, están más cerca unas de otras que de la instancia 4.

En este ejemplo, no hay instancias que se ejecuten en el nodo de red 7 (NN7) y, por lo tanto, la salida de la API no incluirá NN7.

## Cómo interpretar la salida de DescribeInstanceTopology
<a name="how-to-interpret-the-output"></a>

Puede describir la topología de las instancias mediante la API [DescribeInstanceTopology](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTopology.html). La salida proporciona una vista jerárquica de la topología de red subyacente de una instancia.

El siguiente ejemplo de salida corresponde a la información de topología de red de las cuatro instancias del diagrama anterior. A los efectos de este ejemplo, se incluyen comentarios en la salida de ejemplo.

Es importante tener en cuenta la siguiente información de la salida:
+ `NetworkNodes` describe el conjunto de nodos de red de una única instancia.
+ En cada conjunto de nodos de red, los nodos de red se enumeran en orden jerárquico de arriba a abajo.
+ El nodo de red que está conectado a la instancia es el último nodo de red de la lista (la capa inferior).
+ Para determinar qué instancias están cerca unas de otras, primero busque los nodos de red comunes en la capa inferior. Si no hay nodos de red comunes en la capa inferior, busque nodos de red comunes en las capas superiores.

En la siguiente salida de ejemplo, `i-1111111111example` y `i-2222222222example` están ubicados más cerca uno del otro en comparación con las demás instancias de este ejemplo porque tienen el nodo de red `nn-4444444444example` en común en la capa inferior.

**nota**  
La respuesta contiene 3 nodos de red o más. Para obtener información sobre la cantidad de nodos de red en la respuesta para cada tipo de instancia compatible, consulte [Tipos de instancias](ec2-instance-topology-prerequisites.md#inst-net-topology-prereqs-instance-types).

```
{
    "Instances": [
        {
            "InstanceId": "i-1111111111example",  //Corresponds to instance 1
            "InstanceType": "p4d.24xlarge",
            "GroupName": "ML-group",
            "NetworkNodes": [
                "nn-1111111111example",           //Corresponds to NN1 in layer i
                "nn-2222222222example",           //Corresponds to NN2 in layer ii
                "nn-4444444444example"            //Corresponds to NN4 in layer iii - bottom layer, connected to the instance
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"
        },
        {
            "InstanceId": "i-2222222222example",  //Corresponds to instance 2
            "InstanceType": "p4d.24xlarge",
            "NetworkNodes": [
                "nn-1111111111example",           //Corresponds to NN1 - layer i
                "nn-2222222222example",           //Corresponds to NN2 - layer ii
                "nn-4444444444example"            //Corresponds to NN4 - layer iii - connected to instance
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"
        },
        {
            "InstanceId": "i-3333333333example",  //Corresponds to instance 3
            "InstanceType": "trn1.32xlarge",
            "NetworkNodes": [
                "nn-1111111111example",           //Corresponds to NN1 - layer i
                "nn-2222222222example",           //Corresponds to NN2 - layer ii
                "nn-5555555555example"            //Corresponds to NN5 - layer iii - connected to instance
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"            
        },
        {
            "InstanceId": "i-444444444example",  //Corresponds to instance 4
            "InstanceType": "trn1.2xlarge",
            "NetworkNodes": [
                "nn-1111111111example",          //Corresponds to NN1 - layer i
                "nn-3333333333example",          //Corresponds to NN3 - layer ii
                "nn-6666666666example"           //Corresponds to NN6 - layer iii - connected to instance
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"          
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

## Cómo interpretar la salida de DescribeCapacityReservationTopology
<a name="how-to-interpret-the-describecapacityreservationtopology-output"></a>

Puede describir la topología de la reserva de capacidad mediante la API [DescribeCapacityReservationTopology](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeCapacityReservationTopology.html). La salida proporciona una vista jerárquica de la topología de red subyacente de la capacidad reservada.

El siguiente ejemplo de salida corresponde a la información de topología de red del diagrama anterior. A los efectos de este ejemplo, se incluyen comentarios en la salida de ejemplo.

Es importante tener en cuenta la siguiente información de la salida:
+ `NetworkNodes` describe el conjunto de nodos de red de una única reserva de capacidad.
+ En cada conjunto de nodos de red, los nodos de red se enumeran en orden jerárquico de arriba a abajo.
+ El nodo de red que está conectado a la reserva de capacidad es el último nodo de red de la lista (la capa inferior).
+ Para determinar si las reservas de capacidad estarán cerca unas de otras, primero tiene que buscar los nodos de red comunes en la capa inferior de la salida. Si no hay nodos de red comunes en la capa inferior, busque nodos de red comunes en las capas superiores.

En el siguiente ejemplo de salida, `cr-1111111111example` se encuentra en `nn-2222222222example` y `cr-2222222222example` se encuentra en `nn-3333333333example`. Como las reservas de capacidad se encuentran en distintos nodos de red en `layer ii`, la comunicación entre las instancias de una reserva de capacidad y las instancias de la otra reserva de capacidad será ineficiente.

**nota**  
La respuesta contiene 1, 2 o 3 nodos de red en función del tipo de reserva de capacidad.

```
{
    "CapacityReservations": [
        {
            "CapacityReservationId": "cr-1111111111example",
            "CapacityBlockId": "null",
            "State": "active",
            "InstanceType": "p4d.24xlarge",
            "NetworkNodes": [
                "nn-1111111111example",      //Corresponds to NN1 - layer i
                "nn-2222222222example"       //Corresponds to NN2 - layer ii
                // Visibility of additional nodes requires an instance launch and 
                // the DescribeInstanceTopology API
            ],
            "AvailabilityZone": "us-west-2a"
        },
        {
            "CapacityReservationId": "cr-2222222222example",
            "CapacityBlockId": "null",
            "State": "active",
            "InstanceType": "trn1.2xlarge",
            "NetworkNodes": [
                "nn-1111111111example",      //Corresponds to NN1 - layer i
                "nn-3333333333example"       //Corresponds to NN3 - layer ii
                // Visibility of additional nodes requires an instance launch and 
                // the DescribeInstanceTopology API
            ],
            "AvailabilityZone": "us-west-2a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

## Diferencias entre DescribeInstanceTopology y DescribeCapacityReservationTopology
<a name="differences-between-describing-instance-topology-and-capacity-reservation-topology"></a>

En la siguiente tabla se comparan las principales diferencias entre las API DescribeInstanceTopology y DescribeCapacityReservationTopology:


| Punto de comparación | DescribeInstanceTopology | DescribeCapacityReservationTopology | 
| --- | --- | --- | 
| Fase de uso | Tras la inicialización (modo de ejecución) | Antes de la inicialización (modo de planificación y administración) | 
| Finalidad principal | Optimización de las cargas de trabajo en las instancias en ejecución |  Planificación de la capacidad y administración de la reserva de capacidad (fusión, división, asignación) antes de la inicialización de la instancia  | 
| Número de nodos de red |  Muestra todos los nodos de una instancia en ejecución. Si la instancia está en una reserva de capacidad, los primeros nodos coincidirán con la topología de reserva de capacidad correspondiente, seguidos de los nodos adicionales que se conectarán a la instancia.  |  Muestra un conjunto parcial de nodos, que varían según el estado (`pending` o `active`) y el tipo de la reserva de capacidad.\$1  | 
| Estado |  Las instancias deben tener el estado `running`  |  Las reservas de capacidad deben tener el estado `pending` o `active`  | 
| Casos de uso |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/how-ec2-instance-topology-works.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/how-ec2-instance-topology-works.html)  | 

\$1 En el caso de los bloques de capacidad para Ultraservers, el conjunto de nodos de red es el mismo que al describir la topología de una reserva de capacidad `active` o su instancia en ejecución. 

# Requisitos previos para la topología de Amazon EC2
<a name="ec2-instance-topology-prerequisites"></a>

Para describir la topología de Amazon EC2, asegúrese de que las instancias y reservas de capacidad cumplan los siguientes requisitos previos.

**Topics**
+ [

## Regiones de AWS
](#inst-net-topology-prereqs-regions)
+ [

## Tipos de instancias
](#inst-net-topology-prereqs-instance-types)
+ [

## Estado
](#inst-net-topology-prereqs-instance-state)
+ [

## Permisos de IAM
](#ec2-instance-topology-iam-permissions)

## Regiones de AWS
<a name="inst-net-topology-prereqs-regions"></a>

Regiones de AWS admitidas:
+ EE. UU. Este (Norte de Virginia), EE. UU. Este (Ohio), EE. UU. Oeste (Norte de California), EE. UU. Oeste (Oregón)
+ África (Ciudad del Cabo)
+ Asia-Pacífico (Yakarta), Asia-Pacífico (Hong Kong), Asia-Pacífico (Hyderabad), Asia-Pacífico (Melbourne), Asia-Pacífico (Mumbai), Asia-Pacífico (Osaka), Asia-Pacífico (Seúl), Asia-Pacífico (Singapur), Asia-Pacífico (Sídney), Asia-Pacífico (Tokio)
+ Canadá (centro)
+ Europa (Fráncfort), Europa (Irlanda), Europa (Londres), Europa (París), Europa (España), Europa (Estocolmo), Europa (Zúrich)
+ Israel (Tel Aviv)
+ Medio Oriente (Baréin), Medio Oriente (EAU)
+ América del Sur (São Paulo)
+ AWS GovCloud (Oeste de EE. UU.)

La API DescribeCapacityReservationTopology no se admite en Israel (Tel Aviv) y AWS GovCloud (Oeste de EE. UU.).

## Tipos de instancias
<a name="inst-net-topology-prereqs-instance-types"></a>

Tipos de instancias admitidas:
+ Devuelve **3\$1 nodos de red** en la respuesta 
  + `g6e.xlarge` \$1 `g6e.2xlarge` \$1 `g6e.4xlarge` \$1 `g6e.8xlarge` \$1 `g6e.12xlarge` \$1 `g6e.16xlarge` \$1 `g6e.24xlarge` \$1 `g6e.48xlarge` \$1 `g7e.2xlarge` \$1 `g7e.4xlarge` \$1 `g7e.8xlarge` \$1 `g7e.12xlarge` \$1 `g7e.24xlarge` \$1 `g7e.48xlarge`
  + `hpc6a.48xlarge` \$1 `hpc6id.32xlarge` \$1 `hpc7g.4xlarge` \$1 `hpc7g.8xlarge` \$1 `hpc7g.16xlarge` \$1 `hpc7a.12xlarge` \$1 `hpc7a.24xlarge` \$1 `hpc7a.48xlarge` \$1 `hpc7a.96xlarge` \$1 `hpc8a.96xlarge`
  + `p3dn.24xlarge` \$1 `p4d.24xlarge` \$1 `p4de.24xlarge` \$1 `p5.48xlarge` \$1 `p5e.48xlarge` \$1 `p5en.48xlarge` \$1 `p6e-gb200.36xlarge`
  + `trn1.2xlarge` \$1 `trn1.32xlarge` \$1 `trn1n.32xlarge` \$1 `trn2.48xlarge` \$1 `trn2u.48xlarge`
+ Devuelve **4\$1 nodos de red** en la respuesta 
  + `p6-b200.48xlarge` \$1 `p6-b300.48xlarge`

\$1 La cantidad de nodos de red devueltos solo se aplica cuando se utiliza la API DescribeInstanceTopology. En el caso de la API DescribeCapacityReservationTopology, la cantidad de nodos de red devueltos variará según el tipo y el estado de la reserva de capacidad.

Los tipos de instancia disponibles varían según la región. Para obtener más información, consulte [Tipos de instancias de Amazon EC2 por región](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-regions.html).

## Estado
<a name="inst-net-topology-prereqs-instance-state"></a>
+ Para `DescribeInstanceTopology`: las instancias deben tener el estado `running`.
+ Para `DescribeCapacityReservationTopology`: las reservas de capacidad deben tener el estado `pending` o `active`.

No puede obtener información sobre la topología de las instancias o las reservas de capacidad en ningún otro estado.

## Permisos de IAM
<a name="ec2-instance-topology-iam-permissions"></a>

La identidad de IAM (usuario, grupo de usuarios o rol) requiere los siguientes permisos:
+ `ec2:DescribeInstanceTopology`
+ `ec2:DescribeCapacityReservationTopology`

# Ejemplos de la topología de instancias de Amazon EC2
<a name="ec2-instance-topology-examples"></a>

Puede usar el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html) para describir la topología de las instancias de EC2. Además, puede usar el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html) para describir la topología de las reservas de capacidad.

Si utiliza el comando `describe-instance-topology` o `describe-capacity-reservation-topology` sin parámetros ni filtros, en la respuesta se incluirán todas las instancias o reservas de capacidad (según el comando utilizado) que coincidan con los tipos de instancias compatibles con este comando en la región especificada. Para especificar la región, incluya el parámetro `--region` o establezca una región predeterminada. Para obtener más información sobre cómo establecer una región predeterminada, consulte [Selección de una región para los recursos de Amazon EC2](using-regions-availability-zones-setup.md).

Puede incluir parámetros para devolver instancias o reservas de capacidad que coincidan con los ID de instancia o reserva de capacidad o los nombres de los grupos de ubicación especificados. También puede incluir filtros para devolver instancias o reservas de capacidad que coincidan con un tipo o familia de instancias específico, o instancias o reservas de capacidad en una zona de disponibilidad o zona local específica. Puede incluir un único parámetro o filtro, o una combinación de parámetros y filtros.

La salida está paginada, con hasta 20 instancias o reservas de capacidad por página de forma predeterminada. Puede especificar hasta 100 instancias o reservas de capacidad por página mediante el parámetro `--max-results`.

Para obtener más información, consulte [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html) y [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reservation-topology-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reservation-topology-topology.html).

**Permisos necesarios**

Los siguientes permisos son necesarios:
+ `ec2:DescribeInstanceTopology`: para describir la topología de la instancia
+  `ec2:DescribeCapacityReservationTopology`: para describir la topología de reserva de capacidad

**Contents**
+ [

## Ejemplo 1: DescribeInstanceTopology: ID de instancia
](#instance-topology-ex1)
+ [

## Ejemplo 2: DescribeInstanceTopology: parámetro del nombre de grupo de ubicación
](#instance-topology-ex2)
+ [

## Ejemplo 3: DescribeInstanceTopology: filtro de tipo de instancia
](#instance-topology-ex3)
  + [

### Ejemplo 3a: filtro de coincidencia exacta para un tipo de instancia específico
](#instance-topology-ex3a)
  + [

### Ejemplo 3b: filtro comodín para una familia de instancias
](#instance-topology-ex3b)
  + [

### Ejemplo 3c: filtros combinados de familia de instancias y coincidencia exacta
](#instance-topology-ex3c)
+ [

## Ejemplo 4: DescribeInstanceTopology: filtro de ID de zona
](#instance-topology-ex4)
  + [

### Ejemplo 4a: filtro de zona de disponibilidad
](#instance-topology-ex4a)
  + [

### Ejemplo 4b: filtro de zona local
](#instance-topology-ex4b)
  + [

### Ejemplo 4c: filtros combinados de zona de disponibilidad y zona local
](#instance-topology-ex4c)
+ [

## Ejemplo 5: DescribeInstanceTopology: filtros de tipo de instancia e ID de zona
](#instance-topology-ex5)
+ [

## Ejemplo 6: DescribeCapacityReservationTopology: ID de reserva de capacidad
](#instance-topology-ex6)
+ [

## Ejemplo 7: DescribeCapacityReservationTopology: filtro de tipo de instancia
](#instance-topology-ex7)

## Ejemplo 1: DescribeInstanceTopology: ID de instancia
<a name="instance-topology-ex1"></a>

------
#### [ AWS CLI ]

**Para describir la topología de instancias específicas**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html) con el parámetro `--instance-ids`. En el resultado se incluyen solo las instancias que coincidan con los ID de instancia especificados.

```
aws ec2 describe-instance-topology \
    --region us-west-2 \
    --instance-ids i-1111111111example i-2222222222example
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "Instances": [
        {
            "InstanceId": "i-1111111111example",
            "InstanceType": "p4d.24xlarge",
            "GroupName": "ML-group",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3333333333example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"
        },
        {
            "InstanceId": "i-2222222222example",
            "InstanceType": "trn1n.32xlarge",
            "GroupName": "HPC-group",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3214313214example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

------
#### [ PowerShell ]

**Para describir la topología de instancias específicas**  
Utilice el cmdlet [Get-EC2InstanceTopology](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTopology.html).

```
Get-EC2InstanceTopology `
    -InstanceId i-1111111111example, i-2222222222example
```

------

## Ejemplo 2: DescribeInstanceTopology: parámetro del nombre de grupo de ubicación
<a name="instance-topology-ex2"></a>

------
#### [ AWS CLI ]

**Para describir la topología de las instancias en un grupo de ubicación específico**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html) con el parámetro `group-names`. En el resultado solo se incluyen las instancias que estén en cualquiera de los grupos de ubicación especificados.

```
aws ec2 describe-instance-topology \
    --region us-west-2 \
    --group-names ML-group HPC-group
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "Instances": [
        {
            "InstanceId": "i-1111111111example",
            "InstanceType": "p4d.24xlarge",
            "GroupName": "ML-group",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3333333333example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"
        },
        {
            "InstanceId": "i-2222222222example",
            "InstanceType": "trn1n.32xlarge",
            "GroupName": "HPC-group",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3214313214example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

------
#### [ PowerShell ]

**Para describir la topología de las instancias en un grupo de ubicación específico**  
Utilice el cmdlet [Get-EC2InstanceTopology](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTopology.html).

```
Get-EC2InstanceTopology `
    -GroupName ML-group, HPC-group
```

------

## Ejemplo 3: DescribeInstanceTopology: filtro de tipo de instancia
<a name="instance-topology-ex3"></a>

Puede filtrar por un tipo de instancia específico (coincidencia exacta) o por una familia de instancias (con un comodín). También puede combinar un filtro de tipo de instancia y un filtro de familia de instancias específicos.

### Ejemplo 3a: filtro de coincidencia exacta para un tipo de instancia específico
<a name="instance-topology-ex3a"></a>

------
#### [ AWS CLI ]

**Para describir la topología de las instancias con un tipo de instancia específico**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html) con el filtro `instance-type`. El resultado incluye solo las instancias con el tipo de instancia especificado.

```
aws ec2 describe-instance-topology \
    --region us-west-2 \
    --filters Name=instance-type,Values=trn1n.32xlarge
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "Instances": [
        {
            "InstanceId": "i-2222222222example",
            "InstanceType": "trn1n.32xlarge",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3333333333example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

------
#### [ PowerShell ]

**Para describir la topología de las instancias con un tipo de instancia específico**  
Utilice el cmdlet [Get-EC2InstanceTopology](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTopology.html).

```
Get-EC2InstanceTopology `
    -Filter @{Name="instance-type"; Values="trn1n.32xlarge"}
```

------

### Ejemplo 3b: filtro comodín para una familia de instancias
<a name="instance-topology-ex3b"></a>

------
#### [ AWS CLI ]

**Para describir la topología de las instancias con una familia de instancias específica**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html) con el filtro `instance-type`. El resultado incluye solo las instancias de la familia de instancias especificada.

```
aws ec2 describe-instance-topology \
    --region us-west-2 \
    --filters Name=instance-type,Values=trn1*
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "Instances": [
        {
            "InstanceId": "i-2222222222example",
            "InstanceType": "trn1n.32xlarge",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3333333333example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"
        },
        {
            "InstanceId": "i-3333333333example",
            "InstanceType": "trn1.32xlarge",
            "NetworkNodes": [
                "nn-1212121212example",
                "nn-1211122211example",
                "nn-1311133311example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az4",
            "AvailabilityZone": "us-west-2d"            
        },
        {
            "InstanceId": "i-444444444example",
            "InstanceType": "trn1.2xlarge",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-5434334334example",
                "nn-1235301234example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"          
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

------
#### [ PowerShell ]

**Para describir la topología de las instancias con una familia de instancias específica**  
Utilice el cmdlet [Get-EC2InstanceTopology](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTopology.html).

```
Get-EC2InstanceTopology `
    -Filter @{Name="instance-type"; Values="trn1*"}
```

------

### Ejemplo 3c: filtros combinados de familia de instancias y coincidencia exacta
<a name="instance-topology-ex3c"></a>

------
#### [ AWS CLI ]

**Para describir la topología de instancias con una familia de instancias o un tipo de instancia**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html) con el filtro `instance-type`. El resultado incluye solo las instancias que cumplen los criterios especificados.

```
aws ec2 describe-instance-topology \
    --region us-west-2 \
    --filters "Name=instance-type,Values=p4d*,trn1n.32xlarge"
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "Instances": [
        {
            "InstanceId": "i-1111111111example",
            "InstanceType": "p4d.24xlarge",
            "GroupName": "ML-group",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3333333333example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"
        },
        {
            "InstanceId": "i-2222222222example",
            "InstanceType": "trn1n.32xlarge",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-4343434343example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "usw2-az2",
            "AvailabilityZone": "us-west-2a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

------
#### [ PowerShell ]

**Para describir la topología de instancias con una familia de instancias o un tipo de instancia**  
Utilice el cmdlet [Get-EC2InstanceTopology](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTopology.html).

```
Get-EC2InstanceTopology `
    -Filter @{Name="instance-type"; Values="p4d*", "trn1n.32xlarge"}
```

------

## Ejemplo 4: DescribeInstanceTopology: filtro de ID de zona
<a name="instance-topology-ex4"></a>

Puede usar el filtro `zone-id` para filtrar por zona de disponibilidad o zona local. También puede combinar un filtro de zona de disponibilidad y un filtro de zona local.

### Ejemplo 4a: filtro de zona de disponibilidad
<a name="instance-topology-ex4a"></a>

------
#### [ AWS CLI ]

**Para describir la topología de instancias en una zona de disponibilidad específica**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html) con el filtro `zone-id`. En el resultado se incluyen solo las instancias de la zona de disponibilidad especificada.

```
aws ec2 describe-instance-topology \
    --region us-east-1 \
    --filters Name=zone-id,Values=use1-az1
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "Instances": [
        {
            "InstanceId": "i-2222222222example",
            "InstanceType": "trn1n.32xlarge",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3214313214example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "use1-az1",
            "AvailabilityZone": "us-east-1a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

------
#### [ PowerShell ]

**Para describir la topología de instancias en una zona de disponibilidad específica**  
Utilice el cmdlet [Get-EC2InstanceTopology](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTopology.html).

```
Get-EC2InstanceTopology `
    -Filter @{Name="zone-id"; Values="use1-az1"}
```

------

### Ejemplo 4b: filtro de zona local
<a name="instance-topology-ex4b"></a>

------
#### [ AWS CLI ]

**Para describir la topología de instancias en una zona local específica**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html) con el filtro `zone-id`. En el resultado se incluyen solo las instancias de la zona local especificada.

```
aws ec2 describe-instance-topology \
    --region us-east-1 \
    --filters Name=zone-id,Values=use1-atl2-az1
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "Instances": [
        {
            "InstanceId": "i-1111111111example",
            "InstanceType": "p4d.24xlarge",
            "GroupName": "ML-group",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3333333333example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "use1-atl2-az1",
            "AvailabilityZone": "us-east-1-atl-2a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

------
#### [ PowerShell ]

**Para describir la topología de instancias en una zona local específica**  
Utilice el cmdlet [Get-EC2InstanceTopology](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTopology.html).

```
Get-EC2InstanceTopology `
    -Filter @{Name="zone-id"; Values="use1-atl2-az1"}
```

------

### Ejemplo 4c: filtros combinados de zona de disponibilidad y zona local
<a name="instance-topology-ex4c"></a>

------
#### [ AWS CLI ]

**Para describir la topología de las instancias en una zona específica**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html) con el filtro `zone-id`. En el resultado se incluyen solo las instancias que estén en cualquiera de las zonas especificadas.

```
aws ec2 describe-instance-topology \
    --region us-east-1 \
    --filters Name=zone-id,Values=use1-az1,use1-atl2-az1
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "Instances": [
        {
            "InstanceId": "i-1111111111example",
            "InstanceType": "p4d.24xlarge",
            "GroupName": "ML-group",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3333333333example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "use1-atl2-az1",
            "AvailabilityZone": "us-east-1-atl-2a"
        },
        {
            "InstanceId": "i-2222222222example",
            "InstanceType": "trn1n.32xlarge",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3214313214example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "use1-az1",
            "AvailabilityZone": "us-east-1a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

------
#### [ PowerShell ]

**Para describir la topología de las instancias en una zona específica**  
Utilice el cmdlet [Get-EC2InstanceTopology](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTopology.html).

```
Get-EC2InstanceTopology `
    -Filter @{Name="zone-id"; Values="use1-az1", "use1-atl2-az1"}
```

------

## Ejemplo 5: DescribeInstanceTopology: filtros de tipo de instancia e ID de zona
<a name="instance-topology-ex5"></a>

Puede combinar los filtros en un único comando.

------
#### [ AWS CLI ]

**Para describir la topología de las instancias con tipos de instancias, familias de instancias y zonas específicos**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-topology.html) con los filtros `instance-type` y `zone-id`. La respuesta contiene todas las instancias con cualquiera de los tipos de instancias especificados y que se encuentran en cualquiera de las zonas especificadas.

```
aws ec2 describe-instance-topology \
    --region us-east-1 \
    --filters "Name=instance-type,Values=p4d*,trn1n.32xlarge" \
              "Name=zone-id,Values=use1-az1,use1-atl2-az1"
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "Instances": [
        {
            "InstanceId": "i-1111111111example",
            "InstanceType": "p4d.24xlarge",
            "GroupName": "ML-group",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3333333333example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "use1-atl2-az1",
            "AvailabilityZone": "us-east-1-atl-2a"
        },
        {
            "InstanceId": "i-2222222222example",
            "InstanceType": "trn1n.32xlarge",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example",
                "nn-3214313214example"
            ],
            "CapacityBlockId": "null",
            "ZoneId": "use1-az1",
            "AvailabilityZone": "us-east-1a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

------
#### [ PowerShell ]

**Para describir la topología de las instancias con tipos de instancias, familias de instancias y zonas específicos**  
Utilice el cmdlet [Get-EC2InstanceTopology](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTopology.html).

```
Get-EC2InstanceTopology `
    -Filter @{Name="instance-type"; Values="p4d*", "trn1n.32xlarge"} `
            @{Name="zone-id"; Values="use1-az1", "use1-atl2-az1"}
```

------

## Ejemplo 6: DescribeCapacityReservationTopology: ID de reserva de capacidad
<a name="instance-topology-ex6"></a>

------
#### [ AWS CLI ]

**Descripción de la topología de las reservas de capacidad específicas**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservation-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservation-topology.html) con el parámetro `capacity-reservation-id`. La salida incluye solo las reservas de capacidad que coinciden con los ID de reserva de capacidad especificados.

```
aws ec2 describe-capacity-reservation-topology \
    --region us-east-1 \
    --capacity-reservation-id cr-1111111111example cr-2222222222example
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "CapacityReservations": [
        {
            "CapacityReservationId": "cr-1111111111example",
            "CapacityBlockId": "null",
            "State": "active",
            "InstanceType": "p5.48xlarge",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example"
            ],
            "AvailabilityZone": "us-east-1a"
        },
        {
            "CapacityReservationId": "cr-2222222222example",
            "CapacityBlockId": "null",
            "State": "active",
            "InstanceType": "p5en.48xlarge",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example"
            ],
            "AvailabilityZone": "us-east-1a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

------
#### [ PowerShell ]

**Descripción de la topología de las reservas de capacidad específicas**  
Utilice el cmdlet [Get-EC2CapacityReservationTopology](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityReservationTopology.html).

```
Get-EC2CapacityReservationTopology `
    -CapacityReservationId cr-1111111111example cr-2222222222example
```

------

## Ejemplo 7: DescribeCapacityReservationTopology: filtro de tipo de instancia
<a name="instance-topology-ex7"></a>

Puede filtrar por un tipo de instancia específico (coincidencia exacta) o por una familia de instancias (con un comodín). También puede combinar un filtro de tipo de instancia y un filtro de familia de instancias específicos.

------
#### [ AWS CLI ]

**Descripción de la topología de las reservas de capacidad con un tipo de instancia específico**  
Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservation-topology.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservation-topology.html) con el filtro `instance-type`. La respuesta contiene cualquier instancia con el tipo de instancia especificado.

```
aws ec2 describe-capacity-reservation-topology \
    --region us-east-1 \
    --filters Name=instance-type,Values=p5en.48xlarge
```

A continuación, se muestra un ejemplo del resultado.

```
{
    "CapacityReservations": [
        {
            "CapacityReservationId": "cr-2222222222example",
            "CapacityBlockId": "null",
            "State": "active",
            "InstanceType": "p5en.48xlarge",
            "NetworkNodes": [
                "nn-1111111111example",
                "nn-2222222222example"
            ],
            "AvailabilityZone": "us-east-1a"
        }
    ],
    "NextToken": "SomeEncryptedToken"
}
```

------
#### [ PowerShell ]

**Descripción de la topología de las reservas de capacidad con un tipo de instancia específico**  
Utilice el cmdlet [Get-EC2CapacityReservationTopology](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityReservationTopology.html).

```
Get-EC2CapacityReservationTopology `
    -Filter @{Name="instance-type"; Values="p5en.48xlarge"}
```

------

# Grupos de ubicación para instancias de Amazon EC2
<a name="placement-groups"></a>

Para satisfacer las necesidades de su carga de trabajo, puede iniciar un grupo de instancias de EC2 *interdependientes* en un *grupo de ubicación* para influir en su ubicación.

Dependiendo del tipo de carga de trabajo, puede crear un grupo de ubicación con una de las siguientes estrategias de ubicación:
+ **Clúster**: agrupa las instancias unas cerca de otras dentro de una zona de disponibilidad. Esta estrategia le permite que las cargas de trabajo alcancen el rendimiento de red de baja latencia necesario para una comunicación entre nodos estrechamente acoplada, típica de las aplicaciones de computación de alto rendimiento (HPC).
+ **Partición**: distribuye las instancias entre las particiones lógicas de modo que los grupos de instancias de una partición no compartan el hardware subyacente con los grupos de instancias de las demás particiones. Esta estrategia suelen utilizarla grandes cargas de trabajo distribuidas y replicadas, como Hadoop, Cassandra y Kafka.
+ **Reparto**: coloca estrictamente un pequeño grupo de instancias en distintos equipos de hardware subyacentes para reducir los fallos correlacionados.

Los grupos de ubicación son opcionales. Si no inicia las instancias en un grupo de ubicación, EC2 intenta colocar las instancias de forma que todas las instancias se distribuyan en el hardware subyacente para minimizar los errores correlacionados.

**Precios**  
La creación de un grupo de ubicación no supone ningún cargo adicional.

**Reglas y limitaciones**

Antes de utilizar grupos de ubicación, tenga en cuenta las siguientes reglas:
+ Una instancia se puede colocar en un grupo de ubicación a la vez; no puede colocar una instancia en varios grupos de ubicación.
+ No se pueden fusionar grupos de ubicación.
+ Las [reservas de capacidad bajo demanda](ec2-capacity-reservations.md#capacity-reservations-limits) y las [instancias reservadas de zona](reserved-instances-scope.md) permiten reservar capacidad para instancias de EC2 en zonas de disponibilidad. Al iniciar una instancia, si los atributos de la instancia coinciden con los especificados en una reserva de capacidad bajo demanda o una instancia reservada de zona, la instancia utiliza automáticamente la capacidad reservada. Esto también se aplica si inicia la instancia en un grupo con ubicación.
+ No se puede iniciar host dedicados en grupos de ubicación.
+ No se puede iniciar una instancia de spot que esté configurada para detenerse o hibernar en caso de interrupción en un grupo de ubicación.

**Topics**
+ [Estrategias de ubicación](placement-strategies.md)
+ [Crear un grupo de ubicación](create-placement-group.md)
+ [Cambio de la ubicación de instancia](change-instance-placement-group.md)
+ [

# Eliminar un grupo de ubicación
](delete-placement-group.md)
+ [

# Grupos con ubicación compartido
](share-placement-group.md)
+ [

# Grupos de ubicación en AWS Outposts
](placement-groups-outpost.md)

# Estrategias de ubicación para los grupos de ubicación
<a name="placement-strategies"></a>

Puede crear un grupo con ubicación para sus instancias de EC2 mediante una de las siguientes estrategias de ubicación.

**Topics**
+ [

## Grupos de ubicación en clúster
](#placement-groups-cluster)
+ [

## Grupos de ubicación de particiones
](#placement-groups-partition)
+ [

## Grupos de ubicación distribuida
](#placement-groups-spread)

## Grupos de ubicación en clúster
<a name="placement-groups-cluster"></a>

Un grupo de ubicación en clúster es una agrupación lógica de instancias en una misma zona de disponibilidad. Las instancias no están aisladas en un solo rack. Un grupo con ubicación en clúster puede abarcar redes privadas virtuales (VPC) interconectadas en la misma región. Las instancias del mismo grupo de ubicación en clúster disfrutan de un límite de rendimiento por flujo más alto para el tráfico TCP/IP y se colocan en el mismo segmento de ancho de banda con una alta capacidad de biseccionado de la red.

La imagen siguiente muestra las instancias colocadas en un grupo con ubicación en clúster.

![\[Grupo con ubicación en clúster.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/placement-group-cluster.png)


Los grupos con ubicación en clúster están recomendados para aplicaciones que se benefician de una baja latencia de red, un elevado rendimiento de la red o ambas cosas. También son recomendables cuando la mayor parte del tráfico de red se da entre las instancias del grupo. Para proporcionar la latencia más baja y el mayor rendimiento de red de paquetes por segundo para el grupo de ubicación, elija un tipo de instancia que admita redes mejoradas. Para obtener más información, consulte [Redes mejoradas](enhanced-networking.md).

Le recomendamos que lance las instancias de la siguiente forma:
+ Utilice una única solicitud de inicialización para iniciar el número de instancias que necesite en el grupo de ubicación.
+ Utilice el mismo tipo de instancia con todas las instancias del grupo de ubicación. 

Si intenta añadir más instancias al grupo de ubicación más adelante, o si intenta iniciar más de un tipo de instancia en el grupo de ubicación, aumenta las posibilidades de obtener un error de capacidad insuficiente.

Si detiene una instancia en un grupo de ubicación y, a continuación, la vuelve a iniciar, se seguirá ejecutando en el grupo de ubicación. No obstante, si no hay suficiente capacidad para la instancia, se generará un error al iniciarla.

Si recibe un error de capacidad al iniciar una instancia en un grupo de ubicación que ya tiene instancias en ejecución, detenga e inicie todas las instancias en el grupo de ubicación y vuelva a intentar la inicialización. Al iniciar las instancias, estas podrían migrar a un hardware que tuviera capacidad para todas las instancias solicitadas.

**Reglas y limitaciones**

Los grupos de ubicación en clúster están sujetos a las siguientes reglas:
+ Se admiten los siguientes tipos de instancias:
  + Instancias de la generación actual, excepto instancias de [rendimiento ampliable](burstable-performance-instances.md) (por ejemplo, T2), [instancias Mac1](ec2-mac-instances.md) e  instancias M7i-flex.
  + Las siguientes instancias de la generación anterior: A1, C3, C4, I2, M4, R3 y R4.
+ Un grupo de ubicación en clúster no puede abarcar varias zonas de disponibilidad.
+ La máxima velocidad de tráfico de rendimiento de red entre dos instancias en un grupo de ubicación en clúster está limitada por la más lenta de las dos instancias. Para aplicaciones que requieran un rendimiento elevado, elija un tipo de instancia con conexión de red que cumpla con sus requisitos.
+ Las instancias que están habilitadas para las redes mejoradas están sujetas a las reglas siguientes:
  + Las instancias dentro de un grupo de ubicación en clúster pueden usar hasta 10 Gbps para tráfico de un solo flujo. Las instancias que no están dentro de un grupo de ubicación en clúster pueden usar hasta 5 Gbps para tráfico de un solo flujo.
  + El tráfico desde y hacia buckets de Amazon S3 dentro de la misma región en un espacio de direcciones IP públicas o a través de un punto de conexión de VPC puede utilizar todo el ancho de banda de instancias disponible en conjunto.
+ Puede iniciar varios tipos de instancias en un grupo de ubicación en clúster. Sin embargo, esto reduce la probabilidad de que se disponga de la capacidad necesaria para que la inicialización se realice correctamente. Le recomendamos usar el mismo tipo de instancia para todas las instancias de un mismo grupo con ubicación en clúster.
+ Se recomienda crear una [reserva de capacidad bajo demanda en el grupo con ubicación en clúster](cr-cpg.md) para reservar capacidad explícitamente en un grupo con ubicación en clúster. Tenga en cuenta que no puede reservar capacidad mediante instancias reservadas de zona, ya que no pueden reservar capacidad explícitamente en un grupo de ubicación.
+ El tráfico de red a Internet y a través de una conexión de Direct Connect hacia los recursos en las instalaciones está limitado a 5 Gbps en el caso de los grupos con ubicación en clúster.

## Grupos de ubicación de particiones
<a name="placement-groups-partition"></a>

Los grupos de ubicación de partición ayudan a reducir la probabilidad de errores de hardware correlacionados para su aplicación. Cuando se utilizan los grupos de ubicación de particiones, Amazon EC2 divide cada grupo en segmentos lógicos denominados particiones. Amazon EC2 se asegura de que cada partición dentro de un grupo de ubicación tenga su propio juego de bastidores. Cada bastidor tiene su propia red y fuente de alimentación. No hay dos particiones dentro de un grupo de ubicación que compartan los mismos bastidores, lo que le permite aislar el impacto de los errores de hardware en la aplicación.

La imagen siguiente es una representación visual sencilla de un grupo de ubicación de partición en una única zona de disponibilidad. Muestra instancias que se colocan en un grupo de ubicación de partición con tres particiones: **Partición 1**, **Partición 2** y **Partición 3**. Cada partición contiene varias instancias. Las instancias de una partición no comparten bastidores con las instancias de las demás particiones, lo que permite contener el impacto de un único error de hardware en una sola partición asociada.

![\[Un grupo con ubicación en particiones con tres particiones.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/placement-group-partition.png)


Los grupos de ubicación de particiones se pueden utilizar para implementar cargas de trabajo de gran tamaño distribuidas y replicadas como HDFS, HBase y Cassandra entre distintos bastidores. Al iniciar instancias en un grupo con ubicación en particiones, Amazon EC2 intenta distribuir las instancias de manera uniforme entre el número de particiones que especifique. También puede iniciar las instancias en una partición determinada, para tener más control sobre dónde se ubican las instancias.

Un grupo de ubicación de particiones puede tener particiones en varias zonas de disponibilidad en la misma región. Un grupo de ubicación de particiones puede tener un máximo de siete particiones por zona de disponibilidad. El número de instancias que se pueden iniciar en un grupo con ubicación en particiones viene limitado solamente por los límites de la cuenta. 

Además, los grupos con ubicación en particiones ofrecen visibilidad sobre las particiones — es decir, puede ver qué instancias hay en cada partición. Puede compartir esta información con aplicaciones que tienen en cuenta la topología, tales como HDFS, HBase y Cassandra. Estas aplicaciones utilizan esta información para tomar decisiones inteligentes de replicación de datos con el fin de aumentar la disponibilidad y durabilidad de los datos.

Si inicia o inicia una instancia en un grupo con ubicación en particiones y no hay suficiente hardware exclusivo para atender la solicitud, dicha solicitud produce un error. Amazon EC2 pone a disposición más hardware distinto posteriormente, de modo que pueda volver a enviar la solicitud más tarde.

**Reglas y limitaciones**

Los grupos con ubicación en particiones están sujetos a las siguientes reglas:
+ Un grupo con ubicación en particiones admite un máximo de siete particiones por zona de disponibilidad. El número de instancias que se pueden iniciar en un grupo con ubicación en particiones viene limitado solamente por los límites de la cuenta.
+ Cuando las instancias se inician en un grupo con ubicación en particiones, Amazon EC2 intenta distribuir las instancias de manera uniforme entre todas las particiones. Amazon EC2 no garantiza que lo consiga.
+ Un grupo con ubicación en particiones con instancias dedicadas puede tener un máximo de dos particiones.
+ Las reservas de capacidad no cumplen su función en un grupo con ubicación en partición.

## Grupos de ubicación distribuida
<a name="placement-groups-spread"></a>

Un grupo con ubicación distribuida es un grupo de instancias que se colocan en un equipo distinto. 

Se recomienda usar grupos con ubicación distribuida en aplicaciones con pocas instancias críticas que deben mantenerse separadas entre sí. iniciar instancias en un grupo de ubicación a nivel de distribución reduce el riesgo de errores simultáneos que puedan ocurrir cuando las instancias comparten el mismo equipo. Los grupos de ubicación a nivel de distribución proporcionan acceso a distinto equipo, por lo que son adecuados para mezclar tipos de instancias o para iniciar instancias con el tiempo. 

Si inicia o inicia una instancia en un grupo con ubicación distribuida y no hay suficiente hardware exclusivo para atender la solicitud, dicha solicitud produce un error. Amazon EC2 pone a disposición más hardware distinto posteriormente, de modo que pueda volver a enviar la solicitud más tarde. Los grupos de ubicación pueden distribuir instancias entre bastidores o hosts. Los grupos con ubicación distribuida de bastidor se pueden usar en las regiones de AWS y en AWS Outposts. Solo puede usar grupos con ubicación distribuida de host con AWS Outposts.

**Grupo con ubicación distribuida de host**  
La imagen siguiente muestra siete instancias en una sola zona de disponibilidad colocadas en un grupo con ubicación distribuida. Las siete instancias se colocan en siete bastidores distintos. Cada bastidor tiene su propia red y fuente de alimentación.

![\[Un grupo con ubicación distribuida.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/placement-group-spread.png)


Un grupo con ubicación distribuida de bastidor puede abarcar varias zonas de disponibilidad en la misma región. En una región, un grupo con ubicación distribuida de bastidor puede tener hasta siete instancias en ejecución por zona de disponibilidad por grupo. Con Outposts, un grupo con ubicación distribuida de bastidor puede contener tantas instancias como bastidores tenga en su implementación de Outpost.

**Grupos con ubicación distribuida a nivel de host**  
Los grupos con ubicación distribuida de host solo están disponibles con AWS Outposts. Un grupo con ubicación distribuida de host puede contener tantas instancias como hosts tenga en su implementación de Outpost. Para obtener más información, consulte [Grupos de ubicación en AWS Outposts](placement-groups-outpost.md).

**Reglas y limitaciones**

Los grupos de ubicación distribuida están sujetos a las siguientes reglas:
+ Un grupo con ubicación distribuida de bastidor admite hasta siete instancias en ejecución por zona de disponibilidad. Por ejemplo, en una región con tres zonas de disponibilidad, se pueden ejecutar hasta 21 instancias en el grupo, con siete instancias por cada zona de disponibilidad. Si intenta comenzar una octava instancia en la misma zona de disponibilidad y en el mismo grupo con ubicación distribuida, la instancia no se iniciará. Si necesita más de siete instancias en una zona de disponibilidad, le recomendamos que use varios grupos con ubicación distribuida. El uso de varios grupos con ubicación distribuida no garantiza la distribución de instancias entre grupos, pero sí la asegura en cada grupo, lo cual limita el impacto de ciertas clases de errores. 
+ Las instancias dedicadas no admiten grupos con ubicación distribuida.
+ Los grupos con ubicación distribuida a nivel de host solo se admiten para grupos de ubicación en AWS Outposts. Un grupo con ubicación distribuida de host puede contener tantas instancias como hosts tenga en su implementación de Outpost.
+ En una región, un grupo con ubicación distribuida de bastidor puede tener hasta siete instancias en ejecución por zona de disponibilidad por grupo. Con AWS Outposts, un grupo con ubicación distribuida de bastidor puede contener tantas instancias como bastidores tenga en su implementación de Outpost.
+ Las reservas de capacidad no cumplen su función en un grupo con ubicación distribuida.

# Creación de un grupo con ubicación para instancias de EC2
<a name="create-placement-group"></a>

Puede usar un grupo de ubicación para controlar la ubicación de las instancias relacionadas entre sí. Después de crear un grupo de ubicación, puede iniciar instancias en dicho grupo.

**Limitación**  
Puede crear un máximo de 500 grupos de ubicación por región.

------
#### [ Console ]

**Creación de un grupo de ubicación**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Grupos de ubicación**.

1. Elija **Crear grupo con ubicación**.

1. Especifique un nombre para el grupo.

1. Elija la estrategia de ubicación del grupo: **clúster**, **distribución** o **partición**.

   Si elige **Distribución**, debe elegir el nivel de distribución: **Bastidor** o **Host**.

   Si elige **Partición**, debe introducir el número de particiones del grupo.

1. (Opcional) Para agregar una etiqueta, elija **Agregar nueva etiqueta** e introduzca una clave y un valor.

1. Elija **Crear grupo**.

------
#### [ AWS CLI ]

Utilice el comando [create-placement-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-placement-group.html).

**Creación de un grupo con ubicación en clúster**  
En el ejemplo siguiente se crea un grupo de ubicación que utiliza la estrategia de ubicación en `cluster` y se aplica una etiqueta con una clave de `purpose` y un valor de `production`.

```
aws ec2 create-placement-group \
    --group-name my-cluster \
    --strategy cluster \
    --tag-specifications 'ResourceType=placement-group,Tags={Key=purpose,Value=production}'
```

**Creación de un grupo con ubicación en particiones**  
En el ejemplo siguiente se crea un grupo de ubicación que utiliza la estrategia de ubicación en `partition` y se especifican las cinco particiones mediante el parámetro `--partition-count`.

```
aws ec2 create-placement-group \
    --group-name HDFS-Group-A \
    --strategy partition \
    --partition-count 5
```

------
#### [ PowerShell ]

Utilice el cmdlet [New-EC2PlacementGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2PlacementGroup.html).

**Creación de un grupo con ubicación en clúster**  
En el siguiente ejemplo se crea un grupo con ubicación en clúster.

```
New-EC2PlacementGroup `
    -GroupName my-placement-group `
    -Strategy cluster
```

**Para crear un grupo con ubicación en particiones**  
En el siguiente ejemplo, se crea un grupo con ubicación en particiones.

```
New-EC2PlacementGroup `
    -GroupName my-placement-group `
    -Strategy partition `
    -PartitionCount 5
```

------

# Cambio de la ubicación de una instancia de EC2
<a name="change-instance-placement-group"></a>

Puede cambiar el grupo con ubicación de una instancia de la siguiente manera:
+ Adición de una instancia a un grupo de ubicación
+ Puede mover una instancia de un grupo de ubicación a otro
+ Puede quitar una instancia de un grupo de ubicación

**Requisito**  
Antes de cambiar el grupo de ubicación de una instancia, esta debe estar en estado `stopped`.

------
#### [ Console ]

**Cambio de la ubicación de una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instancias**.

1. Seleccione la instancia.

1. Elija **Actions (Acciones)**, **Instance Settings (Configuración de la instancia)** y **Modify Instance Placement (Modificar ubicación de la instancia)**.

1. En **Grupo de ubicación**, realice una de las siguientes acciones:
   + Para agregar la instancia a un grupo de ubicación, elija el grupo de ubicación.
   + Para mover la instancia de un grupo de ubicación a otro, elija el grupo de ubicación.
   + Para eliminar la instancia del grupo de ubicación, elija **Ninguno**.

1. Seleccione **Save**.

------
#### [ AWS CLI ]

**Mover una instancia a un grupo con ubicación**  
Utilice el siguiente comando [modify-instance-placement](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-placement.html).

```
aws ec2 modify-instance-placement \
    --instance-id i-0123a456700123456 \
    --group-name MySpreadGroup
```

**Quitar una instancia de un grupo con ubicación**  
Utilice el siguiente comando [modify-instance-placement](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-placement.html). Al especificar una cadena vacía para el nombre del grupo de ubicación, se elimina la instancia de su grupo de ubicación actual.

```
aws ec2 modify-instance-placement \
    --instance-id i-0123a456700123456 \
    --group-name ""
```

------
#### [ PowerShell ]

**Mover una instancia a un grupo con ubicación**  
Utilice el cmdlet [Edit-EC2InstancePlacement](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstancePlacement.html) con el nombre del grupo de ubicación.

```
Edit-EC2InstancePlacement `
    -InstanceId i-0123a456700123456 `
    -GroupName MySpreadGroup
```

**Quitar una instancia de un grupo con ubicación**  
Utilice el cmdlet [Edit-EC2InstancePlacement](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstancePlacement.html) con una cadena vacía para el nombre del grupo de ubicación.

```
Edit-EC2InstancePlacement `
    -InstanceId i-0123a456700123456 `
    -GroupName ""
```

------

# Eliminar un grupo de ubicación
<a name="delete-placement-group"></a>

Si necesita reemplazar un grupo de ubicación o si ya no lo necesita, puede eliminarlo. Para que un grupo de ubicación pueda eliminarse, no debe contener instancias. Puede terminar las instancias, moverlas a otro grupo de ubicación o eliminarlas del grupo de ubicación.

------
#### [ Console ]

**Eliminar un grupo con ubicación**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Grupos de ubicación**.

1. Seleccione el grupo de ubicación y elija **Acciones**, **Eliminar**.

1. Cuando le pidan confirmación, escriba **Delete** y elija **Eliminar**.

------
#### [ AWS CLI ]

**Para eliminar un grupo de ubicación**  
Utilice el comando [delete-placement-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-placement-group.html).

```
aws ec2 delete-placement-group --group-name my-cluster
```

------
#### [ PowerShell ]

**Para eliminar un grupo de ubicación**  
Utilice el cmdlet [Remove-EC2PlacementGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2PlacementGroup.html).

```
Remove-EC2PlacementGroup -GroupName my-cluster
```

------

# Grupos con ubicación compartido
<a name="share-placement-group"></a>

El uso compartido de grupos de ubicación le permite influir en la ubicación de instancias interdependientes que pertenecen a Cuentas de AWS independientes. Puede compartir un grupo de ubicación en varias Cuentas de AWS o en su organización. Un participante puede inicializar instancias en un grupo de ubicación compartido con su cuenta.

El propietario de un grupo con ubicación puede compartir un grupo con ubicación con:
+ Cuentas específicas de AWS dentro o fuera de su organización
+ Una unidad organizativa dentro de su organización de 
+ Toda su organización de 

Puede utilizar el emparejamiento de VPC para conectar instancias que pertenezcan a cuentas independientes de AWS y aprovechar todos los beneficios de latencia que ofrecen los grupos con ubicación en clúster compartidos.

**Topics**
+ [

## Reglas y limitaciones
](#share-placement-group-limitations)
+ [

## Permisos necesarios
](#share-placement-group-permissions)
+ [

## Uso compartido entre zonas de disponibilidad
](#share-placement-group-sharing-azs)
+ [

## Cómo compartir grupos con ubicación
](#share-placement-group-share)
+ [

## Cómo dejar de compartir un grupo con ubicación
](#share-placement-group-unshare)

## Reglas y limitaciones
<a name="share-placement-group-limitations"></a>

Las siguientes reglas y limitaciones se aplican cuando comparte un grupo con ubicación o cuando se comparte uno con usted.
+ Para compartir un grupo con ubicación, debe tenerlo en su cuenta de AWS. No puede compartir un grupo con ubicación que le hayan compartido.
+ Cuando se comparte un grupo con ubicación distribuida o en particiones, los límites del grupo con ubicación no cambian. Un grupo con ubicación en particiones compartido admite un máximo de siete particiones por zona de disponibilidad, y un grupo con ubicación distribuida compartido admite un máximo de siete instancias en ejecución por zona de disponibilidad.
+ Para compartir un grupo con ubicación con su organización o una unidad organizativa de la organización, debe habilitar el uso compartido con AWS Organizations. Para obtener más información, consulte [Uso compartido de los recursos de AWS](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html).
+ Al usar la Consola de administración de AWS para inicializar una instancia, puede seleccionar cualquier grupo con ubicación que le hayan compartido. Cuando utilices la AWS CLI para inicializar una instancia, debe especificar un grupo con ubicación compartido por ID, no por nombre. Puede usar el nombre del grupo con ubicación solo si es el propietario del grupo con ubicación que se comparte.
+ Es responsable de administrar las instancias de su propiedad en un grupo con ubicación compartido.
+ No puede ver ni modificar instancias ni reservas de capacidad que estén asociadas a un grupo con ubicación compartido, pero que no sean de su propiedad.
+ El nombre de recurso de Amazon (ARN) de un grupo con ubicación contiene el ID de la cuenta propietaria del grupo con ubicación. Puede utilizar la parte del ID de la cuenta del ARN del grupo con ubicación para identificar al propietario de un grupo con ubicación compartido con usted.

## Permisos necesarios
<a name="share-placement-group-permissions"></a>

Para compartir un grupo con ubicación, los usuarios deben tener permisos para realizar las siguientes acciones:
+ `ec2:PutResourcePolicy`
+ `ec2:DeleteResourcePolicy`

## Uso compartido entre zonas de disponibilidad
<a name="share-placement-group-sharing-azs"></a>

Para garantizar que los recursos se distribuyen por todas las zonas de disponibilidad de una región, asignamos zonas de disponibilidad de manera independiente a nombres de cada cuenta. Esto podría dar lugar a diferencias de nomenclatura de zona de disponibilidad entre cuentas. Por ejemplo, es posible que la zona de disponibilidad `us-east-1a` de su cuenta de AWS no se encuentre en la misma ubicación de `us-east-1a` que otra cuenta de AWS.

Para especificar la ubicación de los hosts dedicados relativa a las cuentas, debe utilizar el *ID de la zona de disponibilidad* (ID de AZ). El ID de AZ es un identificador único y coherente para una zona de disponibilidad en todas las cuentas de AWS. Por ejemplo, `use1-az1` es un ID de zona de disponibilidad para la región `us-east-1` y está en la misma ubicación en todas las cuentas de AWS. Para obtener más información, consulte [AZ IDs](https://docs.aws.amazon.com/global-infrastructure/latest/regions/az-ids.html).

## Cómo compartir grupos con ubicación
<a name="share-placement-group-share"></a>

Para compartir un grupo con ubicación, debe agregarlo a un recurso compartido. Un uso compartido de recursos es un recurso de AWS RAM que le permite compartir los recursos a través de cuentas de AWS. Un uso compartido de recursos especifica los recursos que compartir y los consumidores con quienes se comparten.

Si forma parte de una organización en AWS Organizations, está habilitado el uso compartido dentro de su organización y se otorga a los consumidores de su organización acceso al grupo con ubicación compartido.

Si el grupo con ubicación se comparte con una cuenta de AWS ajena a su organización, el propietario de la cuenta de AWS recibirá una invitación para unirse al recurso compartido. Podrán acceder al grupo con ubicación compartido después de aceptar la invitación.

Puede compartir un grupo con ubicación entre cuentas de AWS con AWS Resource Access Manager. Para obtener más información, consulte [Crear un recurso compartido](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html) en la *Guía del usuario de AWS RAM*.

## Cómo dejar de compartir un grupo con ubicación
<a name="share-placement-group-unshare"></a>

El propietario del grupo con ubicación puede dejar de compartir un grupo con ubicación compartido en cualquier momento. Al anular el uso compartido de un grupo con ubicación compartido, se producen los siguientes cambios:
+ Las cuentas de AWS con las que se compartió un grupo con ubicación ya no podrán inicializar instancias ni capacidad reservada.
+ Se desasocia del grupo con ubicación cualquier instancia que se ejecute en un grupo con ubicación compartido, pero seguirá ejecutándose en su cuenta de AWS.
+ Se desasocia del grupo con ubicación cualquier reserva de capacidad de un grupo con ubicación compartido, pero seguirá estando disponible en su cuenta de AWS.

Para obtener más información, consulte [Eliminar un recurso compartido](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-delete.html) en la *Guía del usuario de AWS RAM*.

# Grupos de ubicación en AWS Outposts
<a name="placement-groups-outpost"></a>

AWS Outposts es un servicio completamente administrado que extiende la infraestructura, los servicios, las API y las herramientas de AWS a las instalaciones del cliente. Al proporcionar acceso local a la infraestructura administrada de AWS, AWS Outposts habilita a los clientes a crear y ejecutar aplicaciones en las instalaciones mediante el uso de las mismas interfaces de programación que en las regiones de AWS, al mismo tiempo que utilizan recursos informáticos y de almacenamiento locales para reducir la latencia y las necesidades de procesamiento de datos locales.

Un Outpost es un grupo de capacidad informática y de almacenamiento de AWS implementada en un sitio del cliente. AWS opera, supervisa y administra esta capacidad como parte de una región de AWS. 

Puede crear grupos de ubicación en Outposts que haya creado en su cuenta. Esto le permite distribuir instancias en el equipo subyacente en un Outpost en su sitio. Los grupos de ubicación en Outposts se crean y usan de la misma manera que se crean y usan los grupos de ubicación en zonas de disponibilidad normales. Cuando crea un grupo de ubicación con una estrategia de distribución en Outpost, puede elegir que el grupo de ubicación distribuya instancias entre hosts o bastidores. Distribuir instancias entre hosts le permite usar una estrategia de distribución con un Outpost de un solo bastidor. 

**Consideraciones**
+ Un grupo con ubicación distribuida de bastidor puede contener tantas instancias como bastidores tenga en su implementación de Outpost.
+ Un grupo con ubicación distribuida de host puede contener tantas instancias como hosts tenga en su implementación de Outpost.

**Requisito previo**  
Debe tener un Outpost instalado en su sitio. Para obtener más información, consulte [ Crear una instancia de Outpost y solicitar capacidad de Outpost](https://docs.aws.amazon.com/outposts/latest/userguide/order-outpost-capacity.html) en la *Guía del usuario de AWS Outposts*.

**Para usar un grupo de ubicación en Outpost**

1. Cree una subred en el Outpost. Para obtener más información, consulte [Crear una subred](https://docs.aws.amazon.com/outposts/latest/userguide/launch-instance.html#create-subnet) en la *Guía del usuario de AWS Outposts*.

1. Cree un grupo de ubicación en la región asociada de Outpost. Si crea un grupo con ubicación con una estrategia de distribución, puede elegir la distribución de host o bastidor para determinar cómo distribuirá el grupo las instancias por todo el hardware subyacente en su Outpost. Para obtener más información, consulte [Creación de un grupo con ubicación para instancias de EC2](create-placement-group.md).

1. Inicie una instancia en un grupo de ubicación. En **Subred**, elija la subred que creó en el paso 1, y para **Nombre del grupo de ubicación**, seleccione el grupo de ubicación que creó en el paso 2. Para obtener más información, consulte [iniciar una instancia en Outpost](https://docs.aws.amazon.com/outposts/latest/userguide/launch-instance.html#launch-instances) en la *Guía del usuario de AWS Outposts*.

# Unidad de transmisión máxima (MTU) de red de la instancia de EC2
<a name="network_mtu"></a>

La unidad de transmisión máxima (MTU) de una conexión de red es el tamaño, en bytes, del mayor paquete permitido que se puede transferir a través de la conexión. Cuanto mayor sea la MTU de una conexión, mayor cantidad de datos se podrán transferir en un solo paquete. Los marcos Ethernet consisten del packet, o los datos que está enviando, y de la información de sobrecarga de red que lo rodea.

Las tramas Ethernet pueden presentar distintos formatos, siendo el más habitual de ellos el formato de tramas estándar Ethernet v2. Admite 1500 MTU, que es el mayor tamaño de paquete Ethernet admitido por la mayor parte de aplicaciones de Internet. La MTU admitida para una instancia depende del tipo de instancia.

Todos los tipos de instancias de EC2 admiten 1500 MTU.

**Topics**
+ [

## Tramas gigantes (9 001 MTU)
](#jumbo_frame_instances)
+ [

## Detección de la MTU de la ruta
](#path_mtu_discovery)
+ [

# Configuración de la MTU de instancias de Amazon EC2
](ec2-instance-mtu.md)
+ [

## Solución de problemas
](#mtu-troubleshooting)

## Tramas gigantes (9 001 MTU)
<a name="jumbo_frame_instances"></a>

Con las tramas gigantes, puede aumentar el tamaño de la carga útil por paquete, lo que aumenta el porcentaje del paquete que no supone una sobrecarga del paquete. Con las tramas gigantes, se necesitan menos paquetes para enviar la misma cantidad de datos utilizables. Sin embargo, ciertos tipos de tráfico están sujetos a las siguientes cargas útiles máximas:

**Límite de MTU: 1500 bytes**
+ Tráfico a través de una NAT puerta de enlace de Internet
+ Tráfico a través de conexiones de VPN
+ Tráfico entre regiones de AWS, a menos que se utilice una puerta de enlace de tránsito

**Límite de MTU: 8500 bytes**
+ Tráfico a través de una interconexión de VPC entre regiones

Si los paquetes superan el límite de la MTU, se fragmentan o, si se establece la marca `Don't Fragment` en el encabezado IP, se eliminan.

Las tramas gigantes se deben utilizar con precaución para el tráfico vinculado a Internet o cualquier tráfico que salga de una VPC. Los paquetes son fragmentados por sistemas intermedios, lo que ralentiza el tráfico. Para utilizar tramas gigantes dentro de una VPC y no ralentizar el tráfico que se dirige fuera de la misma, puede configurar el tamaño de la MTU por ruta o bien utilizar varias interfaces de red elásticas con diferentes tamaños de MTU y diferentes rutas.

En el caso de las instancias que se colocan dentro de un grupo con ubicación en clúster, se recomienda usar tramas gigantes, que ayudan a obtener el máximo rendimiento de red posible. Para obtener más información, consulte [Grupos de ubicación para instancias de Amazon EC2](placement-groups.md).

Puede utilizar tramas gigantes para el tráfico entre las VPC y las redes locales a través de Direct Connect. Para obtener más información, y para saber cómo verificar la capacidad de Jumbo Frame, consulte [MTU para interfaces virtuales privadas o interfaces virtuales de tránsito](https://docs.aws.amazon.com/directconnect/latest/UserGuide/WorkingWithVirtualInterfaces.html#set-jumbo-frames-vif.html) en la *Guía del usuario de Direct Connect*.

Todos los tipos de instancia de la [generación actual](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html#current-gen-instances) admiten tramas gigantes. Los siguientes tipos de instancia de la [generación anterior](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html#previous-gen-instances) también admiten tramas gigantes: A1, C3, I2, M3, y R3.

**Recursos relacionados**
+ Para las puertas de enlace de NAT, consulte [Conceptos básicos de las puertas de enlace de NAT](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-basics.html) en la *Guía del usuario de Amazon VPC*.
+ Para las puertas de enlace de tránsito, consulte [Maximum transmission unit](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-quotas.html#mtu-quotas) en la *Guía del usuario de puertas de enlace de tránsito de Amazon VPC*.
+ Para zonas locales, consulte [Consideraciones](https://docs.aws.amazon.com/local-zones/latest/ug/how-local-zones-work.html#considerations) en la *Guía del usuario de zonas locales de AWS*.
+ Para AWS Wavelength, consulte [Maximum transmission unit](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#mtu) en la *Guía del usuario de AWS Wavelength*.
+ Para Outposts, consulte [Service link maximum transmission unit requirements](https://docs.aws.amazon.com/outposts/latest/userguide/region-connectivity.html#sl-max-mtu-requirements) en la *Guía del usuario de AWS Outposts*.

## Detección de la MTU de la ruta
<a name="path_mtu_discovery"></a>

La detección de la MTU de la ruta (PMTUD) se utiliza para determinar la MTU de la ruta entre dos dispositivos. La MTU de la ruta es tamaño máximo del paquete admitido en la ruta entre el host de origen y el host receptor. Cuando hay una diferencia en el tamaño de la MTU en la red entre los dos hosts, PMTUD permite que el host receptor responda al host de origen con un mensaje ICMP. Este mensaje de ICMP indica al host de origen que utilice el mínimo tamaño de la MTU en la ruta de la red para volver a enviar la solicitud. Sin esta negociación, puede perderse el paquete porque la solicitud es muy grande para que la acepte el host receptor.

Para IPv4, cuando un host envía un paquete mayor que la MTU del host receptor o que es mayor que la MTU de un dispositivo a lo largo de la ruta, el host o dispositivo receptor descarta el paquete y, a continuación, devuelve el siguiente mensaje ICMP: `Destination Unreachable: Fragmentation Needed and Don't Fragment was Set` (Tipo 3, código 4). Esto indica al host transmisor que divida la carga útil en varios paquetes más pequeños y, a continuación, los retransmita. 

El protocolo IPv6 no admite la fragmentación en la red. Cuando un host envía un paquete mayor que la MTU del host receptor o que es mayor que la MTU de un dispositivo a lo largo de la ruta, el host o dispositivo receptor descarta el paquete y, a continuación, devuelve el siguiente mensaje ICMP: `ICMPv6 Packet Too Big (PTB)` (Tipo 2). Esto indica al host transmisor que divida la carga útil en varios paquetes más pequeños y, a continuación, los retransmita. 

Las conexiones realizadas a través de algunos componentes, como las puertas de enlace de NAT y los equilibradores de carga, se [rastrean automáticamente](security-group-connection-tracking.md#automatic-tracking). Esto significa que el [seguimiento de grupos de seguridad](security-group-connection-tracking.md) está habilitado de forma automática para los intentos de conexión saliente. Si las conexiones se rastrean automáticamente o si las reglas de su grupo de seguridad permiten el tráfico ICMP entrante, puede recibir respuestas de PMTUD.

Tenga en cuenta que el tráfico ICMP se puede bloquear incluso si está permitido a nivel de grupo de seguridad, por ejemplo, si tiene una entrada en la lista de control de acceso a la red que deniega el tráfico ICMP a la subred. 

**importante**  
La detección de MTU de ruta no garantiza que algunos enrutadores no eliminen tramas gigantes. Una puerta de enlace de Internet en la VPC reenviará los paquetes solo hasta los 1500 bytes. Para el tráfico de internet se recomiendan paquetes de 1500 MTU.

Para conocer las reglas de MTU sobre las puertas de enlace NAT, consulte [Maximum transmission unit (MTU)](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#ngw-mtus) en la *Guía del usuario de Amazon VPC*. Para conocer las reglas de MTU sobre las puertas de enlace Transit, consulte [Maximum transmission unit (MTU)](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-quotas.html#mtu-quotas) en la *Guía del usuario de AWS Transit Gateway*.

# Configuración de la MTU de instancias de Amazon EC2
<a name="ec2-instance-mtu"></a>

La unidad de transmisión máxima (MTU) de una conexión de red es el tamaño, en bytes, del mayor paquete permitido que se puede transferir a través de la conexión. Todos los tipos de instancias de Amazon EC2 admiten marcos estándar (1500 MTU) y todos los tipos de instancias de la generación actual admiten marcos gigantes (9001 MTU).

Puede ver la MTU de sus instancias de Amazon EC2, ver la MTU de ruta entre su instancia y otro host y configurar las instancias para que utilicen marcos estándar o gigantes.

**Topics**
+ [

## Comprobar la MTU de la ruta entre dos hosts
](#check_path_mtu)
+ [

## Comprobación de la MTU de la instancia
](#check_mtu)
+ [

## Configuración de la MTU de la instancia
](#set_mtu)

## Comprobar la MTU de la ruta entre dos hosts
<a name="check_path_mtu"></a>

Puede comprobar la MTU de la ruta entre la instancia EC2 y otro host. Puede especificar un nombre de DNS o una dirección IP como destino. Si el destino es otra instancia EC2, verifique que el grupo de seguridad permita el tráfico de UDP entrante.

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

### Instancias de Linux
<a name="check-path-mtu-linux"></a>

Ejecute el comando **tracepath** en la instancia para comprobar la MTU de la ruta entre la instancia de EC2 y el destino especificado. Este comando forma parte del paquete `iputils`, que está disponible de forma predeterminada en muchas distribuciones de Linux.

En este ejemplo se comprueba la MTU de la ruta entre la instancia EC2 y `amazon.com`.

```
[ec2-user ~]$ tracepath amazon.com
```

En esta salida de ejemplo, la MTU de la ruta es 1500.

```
 1?: [LOCALHOST]     pmtu 9001
 1:  ip-172-31-16-1.us-west-1.compute.internal (172.31.16.1)   0.187ms pmtu 1500
 1:  no reply
 2:  no reply
 3:  no reply
 4:  100.64.16.241 (100.64.16.241)                          0.574ms
 5:  72.21.222.221 (72.21.222.221)                         84.447ms asymm 21
 6:  205.251.229.97 (205.251.229.97)                       79.970ms asymm 19
 7:  72.21.222.194 (72.21.222.194)                         96.546ms asymm 16
 8:  72.21.222.239 (72.21.222.239)                         79.244ms asymm 15
 9:  205.251.225.73 (205.251.225.73)                       91.867ms asymm 16
...
31:  no reply
     Too many hops: pmtu 1500
     Resume: pmtu 1500
```

### instancias de Windows
<a name="check-path-mtu-windows"></a>

**Para comprobar la MTU de la ruta con mturoute**

1. Descargue **mturoute.exe** en su instancia de EC2 desde [https://elifulkerson.com/projects/mturoute.php](https://elifulkerson.com/projects/mturoute.php).

1. Abra una ventana del símbolo del sistema y cambie al directorio en el que haya descargado **mturoute.exe**.

1. Utilice el siguiente comando para comprobar la MTU de la ruta entre la instancia EC2 y el destino especificado. En este ejemplo se comprueba la MTU de la ruta entre la instancia EC2 y `www.elifulkerson.com`.

   ```
   .\mturoute.exe www.elifulkerson.com
   ```

   En esta salida de ejemplo, la MTU de la ruta es 1500.

   ```
   * ICMP Fragmentation is not permitted. *
   * Speed optimization is enabled. *
   * Maximum payload is 10000 bytes. *
   + ICMP payload of 1472 bytes succeeded.
   - ICMP payload of 1473 bytes is too big.
   Path MTU: 1500 bytes.
   ```

## Comprobación de la MTU de la instancia
<a name="check_mtu"></a>

Puede comprobar el valor de la MTU de la instancia. Algunas instancias están configuradas para utilizar tramas gigantes y otras están configuradas para utilizar tamaños de trama estándar. 

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

### Instancias de Linux
<a name="check-mtu-linux"></a>

**Para comprobar la configuración de la MTU de una instancia Linux**  
Ejecute el siguiente comando **ip** en la instancia EC2. Si la interfaz de red principal no es `eth0`, sustituya `eth0` por la interfaz de red.

```
[ec2-user ~]$ ip link show eth0
```

En la salida del ejemplo, *mtu 9001* indica que esta instancia utiliza tramas gigantes.

```
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 02:90:c0:b7:9e:d1 brd ff:ff:ff:ff:ff:ff
```

### instancias de Windows
<a name="check-mtu-windows"></a>

El procedimiento que utiliza depende del controlador de su instancia.

------
#### [ ENA driver ]

**Versión 2.1.0 y posteriores**  
Para obtener el valor de la MTU, use el siguiente comando **Get-NetAdapterAdvancedProperty** en la instancia de EC2. Utilice el comodín (asterisco) para obtener todos los nombres de Ethernet. Compruebe la salida correspondiente al nombre de interfaz `*JumboPacket`. Un valor de 9015 indica que las tramas gigantes están habilitadas. Las tramas gigantes están deshabilitadas de forma predeterminada.

```
Get-NetAdapterAdvancedProperty -Name "Ethernet*"
```

**Versión 1.5 y anteriores**  
Para obtener el valor de la MTU, use el siguiente comando **Get-NetAdapterAdvancedProperty** en la instancia de EC2. Compruebe la salida correspondiente al nombre de interfaz `MTU`. Un valor de 9001 indica que las tramas gigantes están habilitadas. Las tramas gigantes están deshabilitadas de forma predeterminada.

```
Get-NetAdapterAdvancedProperty -Name "Ethernet"
```

------
#### [ Intel SRIOV 82599 driver ]

Para obtener el valor de la MTU, use el siguiente comando **Get-NetAdapterAdvancedProperty** en la instancia de EC2. Compruebe la entrada correspondiente al nombre de interfaz `*JumboPacket`. Un valor de 9014 indica que las tramas gigantes están habilitadas. (Tenga en cuenta que el tamaño de la MTU incluye el encabezado y la carga). Las tramas gigantes están deshabilitadas de forma predeterminada.

```
Get-NetAdapterAdvancedProperty -Name "Ethernet"
```

------
#### [ AWS PV driver ]

Para obtener el valor de la MTU, use el siguiente comando en la instancia EC2. El nombre de la interfaz puede variar. En la salida, busque una entrada llamada "Ethernet", "Ethernet 2" o "Local Area Connection". Necesita el nombre de la interfaz para habilitar y para deshabilitar las tramas gigantes. Un valor de 9001 indica que las tramas gigantes están habilitadas.

```
netsh interface ipv4 show subinterface
```

------

## Configuración de la MTU de la instancia
<a name="set_mtu"></a>

Es posible que desee utilizar tramas gigantes para el tráfico de red dentro de la VPC y tramas estándar para el tráfico de Internet. Sea cual sea el caso de uso, le recomendamos que verifique que su instancia se comporte según lo previsto.

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

### Instancias de Linux
<a name="set-mtu-linux"></a>

**Para establecer el valor de la MTU con una instancia de Linux**

1. Ejecute el siguiente comando **ip** en la instancia. Establece el valor deseado de la MTU en 1500, pero también puede utilizar un valor de 9001. Si la interfaz de red principal no es `eth0`, sustituya `eth0` por la interfaz de red real.

   ```
   [ec2-user ~]$ sudo ip link set dev eth0 mtu 1500
   ```

1. (Opcional) Para que la configuración de la MTU de la red persista tras un reinicio, modifique los siguientes archivos de configuración, en función del tipo de sistema operativo que use.
   + **Amazon Linux 2023**: modifique la sección `[Link]` del archivo de configuración. El archivo de configuración predeterminado es `/usr/lib/systemd/network/80-ec2.network`. O bien, puede actualizar cualquier archivo de configuración personalizado creado en /run/systemd/network/, donde el nombre del archivo es *prioridad*-*interfaz*. Para obtener más información, consulte [Networking service](https://docs.aws.amazon.com/linux/al2023/ug/networking-service.html) en la Guía del usuario de Amazon Linux.

     ```
     MTUBytes=1500
     ```
   + **Amazon Linux 2**: agregue la línea siguiente al archivo `/etc/sysconfig/network-scripts/ifcfg-eth0`:

     ```
     MTU=1500
     ```

     Añada la línea siguiente al archivo `/etc/dhcp/dhclient.conf`:

     ```
     request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-search, domain-name-servers, host-name, nis-domain, nis-servers, ntp-servers;
     ```
   + **Otras distribuciones de Linux**: consulte la documentación específica.

1. (Opcional) Reinicie la instancia y compruebe que la configuración de la MTU sea correcta.

### instancias de Windows
<a name="set-mtu-windows"></a>

El procedimiento que utiliza depende del controlador de su instancia.

------
#### [ ENA driver ]

Para cambiar la MTU, utilice el administrador de dispositivos o el comando **Set-NetAdapterAdvancedProperty** en la instancia.

**Versión 2.1.0 y posteriores**  
Utilice el siguiente comando para activar tramas gigantes.

```
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 9015
```

Utilice el siguiente comando para desactivar tramas gigantes.

```
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 1514
```

**Versión 1.5 y anteriores**  
Utilice el siguiente comando para activar tramas gigantes.

```
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "MTU" -RegistryValue 9001
```

Utilice el siguiente comando para desactivar tramas gigantes.

```
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "MTU" -RegistryValue 1500
```

------
#### [ Intel SRIOV 82599 driver ]

Para cambiar la MTU, utilice el administrador de dispositivos o el comando **Set-NetAdapterAdvancedProperty** en la instancia.

Utilice el siguiente comando para activar tramas gigantes.

```
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 9014
```

Utilice el siguiente comando para desactivar tramas gigantes.

```
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 1514
```

------
#### [ AWS PV driver ]

Puede cambiar la MTU con el comando **netsh** en la instancia. No puede cambiar la MTU con el administrador de dispositivos.

Utilice el siguiente comando para activar tramas gigantes.

```
netsh interface ipv4 set subinterface "Ethernet" mtu=9001
```

Utilice el siguiente comando para desactivar tramas gigantes.

```
netsh interface ipv4 set subinterface "Ethernet" mtu=1500
```

------

## Solución de problemas
<a name="mtu-troubleshooting"></a>

Si experimenta problemas de conectividad entre la instancia de EC2 y un clúster de Amazon Redshift al utilizar tramas jumbo, consulte [Las consultas parecen colgarse y a veces no llegan al clúster](https://docs.aws.amazon.com/redshift/latest/mgmt/troubleshooting-connections.html#connecting-drop-issues) en la *Guía de administración de Amazon Redshift*.

# Nubes privadas virtuales para sus instancias EC2
<a name="using-vpc"></a>

Amazon Virtual Private Cloud (Amazon VPC) le permite definir una red virtual en su propia área aislada lógicamente dentro de la nube de AWS, conocida como *nube virtual privada* o *VPC*. Puede crear recursos de AWS, como instancias de Amazon EC2, en las subredes de su VPC. La VPC es prácticamente idéntica a una red tradicional que usted puede utilizar en su propio centro de datos, con los beneficios que supone utilizar la infraestructura escalable de AWS. Puede configurar la VPC, seleccionar su rango de direcciones IP, crear subredes y configurar tablas de enrutamiento, puerta de enlace de red y ajustes de seguridad. Puede conectar instancias de la VPC a Internet o a su propio centro de datos.

**Topics**
+ [

## Sus VPC predeterminadas
](#default-vpcs)
+ [

## VPC no predeterminada
](#create-nondefault-vpcs)
+ [

## Acceso a Internet
](#access-internet-from-vpc)
+ [

## Subredes compartidas
](#ec2-shared-VPC-subnets)
+ [

## Subredes solo de IPv6
](#ec2-ipv6-only-subnets)

## Sus VPC predeterminadas
<a name="default-vpcs"></a>

Cuando cree su cuenta de AWS, crearemos automáticamente una *VPC predeterminada* en cada región. Una VPC predeterminada es aquella que ya está configurada y se puede utilizar. Por ejemplo, hay una subred predeterminada para cada zona de disponibilidad de cada VPC predeterminada, una puerta de enlace de Internet conectada a la VPC y una ruta en la tabla de enrutamiento principal que envía todo el tráfico (0.0.0.0/0) a la puerta de enlace de Internet. Puede modificar la configuración de las VPC predeterminadas según sea necesario. Por ejemplo, puede agregar subredes y tablas de enrutamiento.

![\[Se crea una VPC predeterminada en cada región con una subred predeterminada en cada zona de disponibilidad.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/default-vpc.png)


## VPC no predeterminada
<a name="create-nondefault-vpcs"></a>

En lugar de utilizar una VPC predeterminada para sus recursos, puede crear su propia VPC, tal como se describe en [Creación de una VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html), en la *Guía del usuario de Amazon VPC.*

Estos son algunos de los aspectos que debe tener en cuenta sobre la creación de una VPC para sus instancias de EC2.
+ Puede utilizar la sugerencia predeterminada para el bloque CIDR de IPv4 o especificar el bloque CIDR necesario para su aplicación o red.
+ Cree subredes en varias zonas de disponibilidad para un mayor nivel de disponibilidad.
+ Si se debe acceder a las instancias desde Internet, haga una de las siguientes operaciones:
  + Agregue subredes públicas si las instancias pueden estar en una subred pública. Mantenga ambas opciones de DNS habilitadas. Si lo desea, puede agregar subredes privadas ahora o más adelante.
  + Agregue solo subredes privadas si las instancias deben estar en una subred privada. Puede agregar una puerta de enlace NAT para proporcionar acceso a Internet a las instancias de las subredes privadas. Si sus instancias envían o reciben un volumen significativo de tráfico a través de las zonas de disponibilidad, cree una puerta de enlace NAT en cada zona de disponibilidad. De lo contrario, puede crear una puerta de enlace NAT solo en una de las zonas de disponibilidad e inicializar instancias que envíen o reciban tráfico entre zonas en la misma zona de disponibilidad que la puerta de enlace NAT.

## Acceso a Internet
<a name="access-internet-from-vpc"></a>

Las instancias iniciadas en una subred predeterminada en una VPC predeterminada tienen acceso a Internet, ya que las VPC predeterminadas están configuradas para asignar direcciones IP públicas y nombres de host DNS y la tabla de enrutamiento principal se configura con una ruta a una puerta de enlace de Internet conectada a la VPC.

Para las instancias que lance en subredes y VPC no predeterminadas, puede utilizar uno de las siguientes opciones para asegurarse de que las instancias que lance en estas subredes tengan acceso a Internet:
+ Configure una puerta de enlace de Internet. Para obtener más información, consulte [Conectar subredes a Internet por medio de una puerta de enlace de Internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) en la *Guía del usuario de Amazon VPC*.
+ Configure una puerta de enlace de NAT pública. Para obtener más información, consulte [Acceso a Internet desde una subred privada](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-scenarios.html#public-nat-internet-access) en la *Guía del usuario de Amazon VPC*.

## Subredes compartidas
<a name="ec2-shared-VPC-subnets"></a>

Al iniciar instancias de EC2 en subredes de VPC compartidas, tenga en cuenta lo siguiente:
+ Los participantes pueden ejecutar instancias en una subred compartida al especificar el ID de la subred compartida. Los participantes deben ser propietarios de las interfaces de red que especifiquen.
+ Los participantes pueden iniciar, detener, finalizar y describir las instancias que crearon en una subred compartida. Los participantes no pueden iniciar, detener, finalizar o describir las instancias creadas por el propietario de una VPC en una subred compartida.
+ Los propietarios de VPC no pueden iniciar, detener, finalizar o describir las instancias creadas por los participantes en una subred compartida.
+ Los participantes pueden conectarse a una instancia de una subred compartida con el punto de conexión de EC2 Instance Connect. El participante debe crear el punto de conexión de EC2 Instance Connect en la subred compartida. Los participantes no pueden utilizar un punto de conexión de EC2 Instance Connect creada por el propietario de la VPC en la subred compatida.

Para obtener más información acerca de los recursos compartidos de Amazon EC2, consulte lo siguiente:
+ [Administración del uso compartido de AMI con una organización o unidad organizativa](share-amis-org-ou-manage.md)
+ [Reservas de capacidad compartidas](capacity-reservation-sharing.md)
+ [Grupos con ubicación compartido](share-placement-group.md)
+ [Uso compartido de host dedicado de Amazon EC2](dh-sharing.md)

Para obtener más información sobre las subredes, consulte [Intercambio de sus subredes de VPC con otras cuentas](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html) en la *Guía del usuario de Amazon VPC*.

## Subredes solo de IPv6
<a name="ec2-ipv6-only-subnets"></a>

Una instancia de EC2 iniciada en una subred de solo IPv6 recibe una dirección IPv6, pero no una dirección IPv4. Todas las instancias que lance en una subred de solo IPv6 deben ser [instancias basadas en Nitro](instance-types.md#instance-hypervisor-type).

# Redes adicionales
<a name="secondary-networks"></a>

Las redes secundarias son redes virtuales diseñadas específicamente para casos de uso de redes especializadas. Estas redes están aisladas de forma lógica dentro de las particiones de la nube de AWS. Puede crear recursos, como subredes secundarias, dentro de su red secundaria. Las redes secundarias se vinculan estrechamente a las VPC de Amazon, de modo que determinadas instancias se alojan en varios hosts y se lanzan tanto a una VPC como a una red secundaria.

En la actualidad, las redes secundarias están disponibles para determinados tipos de instancias y mediante reservas de capacidad con compromisos a largo plazo. Comuníquese con su equipo de cuentas para obtener más información si cree que las redes secundarias pueden ser beneficiosas para su carga de trabajo.

**Topics**
+ [

## ¿Qué son las redes secundarias?
](#secondary-networks-overview)
+ [

## Conceptos clave
](#secondary-networks-concepts)
+ [

## Arquitectura
](#secondary-networks-architecture)
+ [

## Consideraciones adicionales
](#secondary-networks-considerations)
+ [

## Introducción
](#secondary-networks-getting-started)
+ [

## Administración de los recursos de la red secundaria
](#secondary-networks-managing-resources)
+ [

## Prácticas recomendadas de diseño de redes
](#secondary-networks-best-practices)
+ [

## Solución de problemas
](#secondary-networks-troubleshooting)
+ [

## Cuotas y límites
](#secondary-networks-quotas-limits)

## ¿Qué son las redes secundarias?
<a name="secondary-networks-overview"></a>

Las redes secundarias proporcionan una red lógica y aislada, que se utiliza en combinación con una red de VPC, de modo que las instancias se alojan en varios hosts en dos redes independientes. Las ventajas de las redes secundarias incluyen lo siguiente:
+ Redes de alto rendimiento para protocolos y casos de uso especializados, como la conectividad este-oeste para cargas de trabajo de ML
+ Compatibilidad con multiusuario con aislamiento lógico
+ Las instancias se integran a la perfección con las VPC y los servicios de AWS

## Conceptos clave
<a name="secondary-networks-concepts"></a>

Red secundaria  
Constructo de red regional que proporciona una red lógica de capa 3 con un bloque de CIDR de IPv4 (entre /28 y /12). Las redes secundarias funcionan de forma independiente de las VPC en una infraestructura de red con particiones físicas.

Subred secundaria  
Constructo específico de una zona de disponibilidad dentro de una red secundaria, similar a las subredes de VPC. Las subredes secundarias admiten bloques de CIDR que van desde /28 hasta /12.

Interfaz secundaria  
Las interfaces de red se conectan a las tarjetas de red secundarias, lo que proporciona conectividad de este-oeste dentro de las subredes secundarias. Estas interfaces están separadas física y lógicamente de las interfaces de red elásticas (ENI).

## Arquitectura
<a name="secondary-networks-architecture"></a>

Las instancias EC2 que admiten redes secundarias tienen varios hosts, lo que significa que pueden comunicarse simultáneamente dentro de una VPC y una red secundaria:
+ **VPC**: proporciona conectividad TCP/IP norte-sur a servicios de AWS, almacenamiento, bases de datos, servicios de red e Internet
+ **Red secundaria**: proporciona conectividad de este-oeste entre las instancias especializadas compatibles

## Consideraciones adicionales
<a name="secondary-networks-considerations"></a>
+ Las interfaces secundarias se administran mediante RunInstances y no se pueden crear ni eliminar de forma independiente.
+ Las interfaces secundarias no se pueden conectar ni separar una vez que se lance la instancia.
+ Las direcciones IP de las interfaces secundarias no se pueden cambiar una vez lanzadas.
+ Las funciones de VPC, como los grupos de seguridad, las NACL y los registros de flujo, no son compatibles con las redes secundarias.

## Introducción
<a name="secondary-networks-getting-started"></a>

### Requisitos previos
<a name="secondary-networks-prerequisites"></a>

Antes de lanzar instancias con redes secundarias, asegúrese de haber configurado también su VPC en la región de destino y una subred en la zona de disponibilidad de destino de su capacidad de EC2.

### Paso 1: crear una red secundaria
<a name="secondary-networks-create-network"></a>

Cree una red secundaria en la misma región que su VPC. Se trata de un recurso regional que proporciona aislamiento lógico para el tráfico de RDMA.

```
aws ec2 create-secondary-network \
  --network-type rdma \
  --ipv4-cidr-block 172.31.0.0/16 \
  --region us-east-2
```

**Parámetros:**
+ `--network-type`: tipo de red (actualmente solo se admite rdma)
+ `--ipv4-cidr-block`: bloque de CIDR de IPv4 entre /28 y /12
+ `--region`: Región de AWS (US-East-2)

**nota**  
**Práctica recomendada**: elija un bloque de CIDR que no se superponga con el CIDR de su VPC para simplificar el enrutamiento a nivel de instancia.

### Paso 2: crear una subred secundaria
<a name="secondary-networks-create-subnet"></a>

Cree una subred secundaria en la misma zona de disponibilidad que su subred de VPC. Se trata de un recurso específico de AZ.

```
aws ec2 create-secondary-subnet \
  --secondary-network-id sn-1234567890abcdef0 \
  --ipv4-cidr-block 172.31.24.0/24 \
  --availability-zone us-east-2a
```

**nota**  
**Reserva de direcciones IP**: al igual que las subredes de VPC, Amazon reserva las primeras 4 direcciones IP y la última dirección IP de cada subred secundaria para su uso interno.

### Paso 3: Lanzar una instancia
<a name="secondary-networks-launch-instance"></a>

Inicialice una instancia tanto en la subred de VPC como en la subred secundaria. La instancia tendrá varios hosts y se conectará a ambas redes.

```
aws ec2 run-instances \
  --image-id ami-12345678 \
  --count 1 \
  --instance-type <instance> \
  --key-name MyKeyPair \
  --instance-market-options '{"MarketType": "capacity-block"}' \
  --capacity-reservation-specification '{"CapacityReservationTarget": \
  {"CapacityReservationId": "cr-1234567890abcdef0"}}' \
  --network-interfaces \ 
    "NetworkCardIndex=0,DeviceIndex=0,Groups=sg-12345678,\
    SubnetId=subnet-0987654321fedcba0,InterfaceType=interface" \
  --secondary-interfaces \
    "NetworkCardIndex=1,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\
    InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \
    "NetworkCardIndex=2,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\
    InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \
    "NetworkCardIndex=3,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\
    InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \
    "NetworkCardIndex=4,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\
    InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \
    "NetworkCardIndex=5,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\
    InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \
    "NetworkCardIndex=6,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\
    InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \
    "NetworkCardIndex=7,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\
    InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \
    "NetworkCardIndex=8,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\
    InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true"
```

**Parámetros clave:**
+ `--network-interfaces`: especifica el Nitro ENI principal para la conectividad de VPC (índice de tarjeta de red 0)
+ `--secondary-interfaces`: especifica 8 interfaces secundarias para la conectividad este-oeste dentro de las subredes secundarias (índices de tarjetas de red del 1 al 8)
+ `InterfaceType=secondary`: indica una interfaz secundaria

## Administración de los recursos de la red secundaria
<a name="secondary-networks-managing-resources"></a>

### Descripción de redes secundarias
<a name="secondary-networks-describe-networks"></a>

Consulte los detalles de sus redes secundarias:

```
aws ec2 describe-secondary-networks \
  --secondary-network-id sn-1234567890abcdef0
```

### Descripción de subredes secundarias
<a name="secondary-networks-describe-subnets"></a>

Consulte los detalles de sus subredes secundarias:

```
aws ec2 describe-secondary-subnets \
  --secondary-subnet-id ss-98765421yxz
```

### Descripción de interfaces secundarias
<a name="secondary-networks-describe-interfaces"></a>

Consulte los detalles sobre las interfaces de red secundarias conectadas a sus instancias:

```
aws ec2 describe-secondary-interfaces \
  --filters "Name=attachment.instance-id,Values=i-1234567890abcdef0"
```

### Eliminación de recursos
<a name="secondary-networks-deleting-resources"></a>

Elimine una subred secundaria:

```
aws ec2 delete-secondary-subnet \
  --secondary-subnet-id ss-98765421yxz
```

Elimine una red secundaria:

```
aws ec2 delete-secondary-network \
  --secondary-network-id sn-1234567890abcdef0
```

**importante**  
Debe cerrar todas las instancias y eliminar todas las subredes secundarias antes de eliminar una red secundaria.

## Prácticas recomendadas de diseño de redes
<a name="secondary-networks-best-practices"></a>

### Planificación de CIDR
<a name="secondary-networks-cidr-planning"></a>

**Evite la superposición de los CIDR**: si bien las redes secundarias están aisladas físicamente de las VPC, el uso de bloques de CIDR que no se superpongan simplifica la configuración del enrutamiento a nivel del sistema operativo de la instancia.

**nota**  
Amazon reserva 5 direcciones IP por subred.

### División de tráfico
<a name="secondary-networks-traffic-segregation"></a>

**División por red secundaria**: cree redes secundarias independientes para distintos proyectos, equipos o límites de seguridad. Las redes secundarias proporcionan un aislamiento lógico entre las instancias. Las instancias no se pueden comunicar a través de diferentes redes secundarias.

**Use varias subredes**: dentro de una red secundaria, use varias subredes secundarias para segmentar el tráfico por índice de GPU, zona de disponibilidad o tipo de carga de trabajo. Por ejemplo, un patrón de arquitectura común consiste en implementar una única red secundaria con 4 u 8 subredes secundarias, en la que cada subred secundaria se alinea con un grupo de GPU de índices comunes.

## Solución de problemas
<a name="secondary-networks-troubleshooting"></a>

### Error de inicialización de instancias
<a name="secondary-networks-launch-failures"></a>

**Problema**: la instancia no se puede inicializar con las interfaces de red secundarias.

**Soluciones**:
+ Compruebe que su AMI incluye el soporte de controlador adecuado
+ Asegúrese de que la subred secundaria tenga suficientes direcciones IP disponibles
+ Confirme que su reserva de capacidad esté en estado «activo»
+ Verifique que la subred secundaria se encuentre en la misma zona de disponibilidad que su subred de VPC

### Problemas de conectividad
<a name="secondary-networks-connectivity-issues"></a>

**Problema**: no se puede establecer la conectividad RDMA entre las instancias.

**Soluciones**:
+ Compruebe que todas las instancias estén en la misma red secundaria y subred secundaria
+ Compruebe que los controladores de interfaz secundarios estén correctamente cargados en la instancia
+ Asegúrese de que la aplicación esté enlazada a las interfaces de red correctas
+ Se puede acceder a las instancias de la misma subred secundaria mediante rutas directas. La comunicación entre subredes está disponible a través de una ruta estática que se vende a través de DHCP.

### errores de API
<a name="secondary-networks-api-errors"></a>

**Problema**: las llamadas a la API para las operaciones de la red secundaria y la subred secundaria fallan.

**Soluciones**:
+ Compruebe los permisos de IAM para ec2:CreateSecondaryNetwork, ec2:CreateSecondarySubnet, etc.
+ Compruebe que los bloques de CIDR estén dentro del rango admitido (de /28 a /12)
+ Verifique que está usando la región y la zona de disponibilidad correctas

## Cuotas y límites
<a name="secondary-networks-quotas-limits"></a>

Para solicitar un aumento de la cuota, utilice AWS Service Quotas o comuníquese con el Centro de soporte de AWS.


**Cuotas y límites de redes secundarias**  

| Recurso | Límite | Ajustable | 
| --- | --- | --- | 
| Redes secundarias por región | 5 | Sí | 
| Subredes secundarias por red secundaria | 200 | Sí | 
| Tamaño de bloque de CIDR | de /28 a /12 | No | 