Gateways NAT - Amazon Virtual Private Cloud

Gateways NAT

Puede utilizar una gateway de conversión de las direcciones de red (NAT) para permitir a las instancias de la subred privada conectarse a Internet o a otros servicios de AWS a la vez que se impide a Internet iniciar una conexión a esas mismas instancias. Para obtener más información acerca de NAT, consulte NAT.

Se le cobrará por la creación y el uso de una gateway NAT en su cuenta. Se aplican las tarifas de procesamiento de datos y uso por horas de la gateway NAT. También se aplican cargos de Amazon EC2 por la transferencia de datos. Para obtener más información, consulte Precios de Amazon VPC.

Las gateways NAT no son compatibles con el tráfico IPv6; en su lugar, utilice una gateway de Internet de solo salida. Para obtener más información, consulte Gateways de Internet de solo salida.

Conceptos básicos de la gateway NAT

Para crear una gateway NAT, debe especificar la subred pública en la que se debe encontrar la gateway NAT. Para obtener más información acerca de las subredes públicas y privadas, consulte Enrutar la subred. También debe especificar una dirección IP elástica para asociar a la gateway NAT cuando la cree. La dirección IP elástica no se puede cambiar después de asociarla con la gateway NAT. Una vez creada una gateway NAT, debe actualizar la tabla de enrutamiento asociada a una o varias de sus subredes privadas para que apunten el tráfico vinculado a Internet a la gateway NAT. Esto permite a las instancias de sus subredes privadas comunicarse con Internet.

Cada gateway NAT se crea en una zona de disponibilidad específica, y se implementa con redundancia en dicha zona. Hay una cuota establecida en el número de gateways NAT que puede crear en una zona de disponibilidad. Para obtener más información, consulte Cuotas de Amazon VPC.

nota

Si tiene recursos en varias zonas de disponibilidad que comparten una gateway NAT y la zona de disponibilidad de la gateway NAT no funciona, los recursos de las demás zonas de disponibilidad perderán el acceso a Internet. Para crear una arquitectura independiente de la zona de disponibilidad, cree una gateway NAT en cada zona de disponibilidad y configure el direccionamiento para asegurarse de que los recursos utilicen la gateway NAT de la misma zona de disponibilidad.

Si ya no necesita una gateway NAT, puede eliminarla. Al eliminar una gateway NAT, se desasocia su dirección IP elástica, pero no se libera la dirección de su cuenta.

El siguiente diagrama ilustra la arquitectura de una VPC con una gateway NAT. La tabla de ruteo principal envía el tráfico de Internet desde las instancias de la subred privada a la gateway NAT. La gateway NAT usa la dirección IP elástica de la gateway NAT como la dirección IP de origen para enviar el tráfico al puerto de enlace a Internet.


          Una VPC con subredes públicas y privadas y una gateway NAT

Reglas y limitaciones de una gateway NAT

Las gateways NAT tienen las siguientes características y limitaciones:

  • Las gateways NAT admiten 5 Gbps de ancho de banda y se amplían automáticamente hasta 45 Gbps. Si necesita más velocidad, distribuya la carga de trabajo dividiendo los recursos en varias subredes y creando una gateway NAT en cada subred.

  • Puede asociar exactamente una dirección IP elástica a una gateway NAT. No puede desasociar una dirección IP elástica de una gateway NAT después de crearla. Para usar una dirección IP elástica distinta para su gateway NAT, debe crear una nueva gateway NAT con la dirección necesaria, actualizar sus tablas de ruteo y, a continuación, eliminar la gateway NAT existente si ya no la necesita.

  • Una gateway NAT admite los siguientes protocolos: TCP, UDP e ICMP.

  • No puede asociar un grupo de seguridad a una gateway NAT. Puede usar grupos de seguridad para sus instancias en las subredes privadas para controlar el tráfico entrante y saliente de estas instancias.

  • Puede usar una ACL de red para controlar el tráfico hacia la subred y procedente de esta en la que se encuentra la gateway NAT. La ACL de red se aplica al tráfico de la gateway NAT. Una gateway NAT utiliza los puertos 1024-65535. Para obtener más información, consulte ACL de red.

  • Cuando se crea una gateway NAT, recibe una interfaz de red a la que se asigna automáticamente una dirección IP privada del rango de direcciones IP de su subred. Puede ver la interfaz de red de la gateway NAT en la consola de Amazon EC2. Para obtener más información, consulte Consultar los detalles de una interfaz de red. No se pueden modificar los atributos de esta interfaz de red.

  • No se puede obtener acceso a una gateway NAT desde una conexión de ClassicLink asociada a su VPC.

  • No se puede dirigir el tráfico a una gateway NAT mediante una interconexión de VPC, una conexión de Site-to-Site VPN ni AWS Direct Connect. No es posible utilizar una gateway NAT con recursos situados en el otro lado de dichas conexiones.

  • Una gateway NAT puede admitir hasta 55,000 conexiones simultáneas a cada destino único. Este límite se aplica también cuando se crean aproximadamente 900 conexiones por segundo hacia un único destino (sobre 55 000 conexiones por minuto). Si la dirección IP de destino, el puerto de destino o el protocolo (TCP/UDP/ICMP) cambian, puede crear 55 000 conexiones adicionales. Cuando hay más de 55 000 conexiones, las probabilidades de errores de conexión aumentan debido a errores de asignación de puertos. Estos errores se pueden monitorizar examinando la métrica de ErrorPortAllocation CloudWatch para la gateway NAT. Para obtener más información, consulte Monitorear gateways NAT con Amazon CloudWatch.

Migrar desde una instancia NAT

Si ya está utilizando una instancia NAT, puede reemplazarla por una gateway NAT. Para ello, puede crear una gateway NAT en la misma subred que su instancia NAT, y luego reemplazar la ruta existente en su tabla de ruteo que apunta a la instancia NAT por una ruta que apunte a la gateway NAT. Para usar la misma dirección IP elástica para la gateway NAT que utiliza actualmente para su instancia NAT, primero debe desasociar la dirección IP elástica de su instancia NAT y después asociarla a su gateway NAT al crear la gateway.

nota

Si cambia su direccionamiento de una instancia NAT a una gateway NAT, o si desasocia la dirección IP elástica de su instancia NAT, las conexiones actuales se perderán y tendrá que volver a establecerlas. Asegúrese de no estar ejecutando ninguna tarea crítica (o cualquier otra tarea que opere mediante la instancia NAT).

Práctica recomendada cuando se envía tráfico a Amazon S3 o DynamoDB en la misma región

Para evitar cargos por procesamiento de datos para las gateways NAT al obtener acceso a Amazon S3 y DynamoDB que se encuentran en la misma región, configure un punto de enlace de puerta de enlace y direccione el tráfico a través del punto de enlace de gateway en vez de la gateway NAT. No hay cargos por usar un punto de enlace de gateway. Para obtener más información, consulte Puntos de conexión de la VPC de gateway.

Usar gateways NAT

Puede utilizar la consola de Amazon VPC para crear, ver y eliminar gateways NAT. También puede utilizar el asistente de Amazon VPC para crear una VPC con una subred pública, una subred privada y una gateway NAT. Para obtener más información, consulte VPC con subredes privadas y públicas (NAT).

Crear una gateway NAT

Para crear una gateway NAT, debe especificar una subred y una dirección IP elástica. Asegúrese de que la dirección IP elástica no está asociada actualmente a una instancia o una interfaz de red. Si va a migrar de una instancia NAT a una gateway NAT y desea reutilizar la dirección IP elástica de la instancia NAT, primero debe desasociar la dirección de su instancia NAT.

Para crear una gateway NAT

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija NAT Gateways, Create NAT Gateway.

  3. Especifique la subred en la que crear la gateway NAT y seleccione el ID de asignación de una dirección IP elástica que asociar a la gateway NAT.

  4. (Opcional) Añada o elimine una etiqueta.

    [Añadir una etiqueta] Elija Add tag (Añadir etiqueta) y haga lo siguiente:

    • En Key (Clave), escriba el nombre de la clave.

    • En Value (Valor), escriba el valor de la clave.

    [Eliminar una etiqueta] Elija el botón de eliminación (“x”) situado a la derecha de la clave y valor de la etiqueta.

  5. Elija Create a NAT Gateway (Crear una gateway NAT).

  6. La gateway NAT aparecerá en la consola. Después de un momento, su estado cambiará a Available, una vez que esté lista para su uso.

Si la gateway NAT cambia al estado Failed, esto indica que ha habido un error durante la creación. Para obtener más información, consulte La gateway NAT cambia a un estado de error.

Actualizar la tabla de enrutamiento

Una vez creada su gateway NAT, debe actualizar sus tablas de ruteo para sus que sus redes privadas apunten el tráfico de Internet a la gateway NAT. Para determinar cómo dirigir tráfico, se usa la ruta más específica que coincida con el tráfico en cuestión (coincidencia del prefijo más largo). Para obtener más información, consulte Prioridad de la ruta.

Para crear una ruta para una gateway NAT

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Route Tables.

  3. Seleccione la tabla de ruteo asociada a su subred privada y elija Routes, Edit.

  4. Elija Add another route. En Destination, escriba 0.0.0.0/0. En Target, seleccione el ID de su gateway NAT.

    nota

    Si va a migrar de utilizar una instancia NAT, puede reemplazar la ruta actual que apunte a la instancia NAT con una ruta a la gateway NAT.

  5. Seleccione Save (Guardar).

Para asegurarse de que su gateway NAT tiene acceso a Internet, la tabla de ruteo asociada a la subred en la que reside su gateway NAT debe incluir una ruta que apunte el tráfico de Internet a un puerto de enlace a Internet. Para obtener más información, consulte Crear una tabla de enrutamiento personalizada. Si elimina una gateway NAT, sus rutas permanecerán con el estado blackhole hasta que las elimine o las actualice. Para obtener más información, consulte Agregar y eliminar rutas de una tabla de enrutamiento.

Eliminar una gateway NAT

Puede eliminar una gateway NAT través de la consola de Amazon VPC. Una vez eliminada la gateway NAT, su entrada permanecerá visible en la consola de Amazon VPC durante un breve período de tiempo (normalmente una hora), hasta que se elimine automáticamente. No puede quitar esta entrada por sí mismo.

Para eliminar una gateway NAT

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija NAT Gateways.

  3. Seleccione la gateway NAT y, a continuación, elija Actions (Acciones) y Delete NAT Gateway (Eliminar gateway NAT).

  4. En el cuadro de diálogo de confirmación, elija Delete NAT Gateway.

Comprobar una gateway NAT

Una vez que haya creado la gateway NAT y haya actualizado sus tablas de enrutamiento, puede hacer ping a varias direcciones remotas de Internet desde una instancia de su subred privada para comprobar que puede conectarse a Internet. Para ver un ejemplo práctico, consulte Comprobar la conexión a Internet.

Si se puede conectar a Internet, también podrá realizar las siguientes pruebas para determinar si el tráfico de Internet se está dirigiendo a través de la gateway NAT:

  • Puede trazar la ruta de tráfico desde una instancia de su subred privada. Para ello, ejecute el comando traceroute desde una instancia de Linux en su subred privada. En el resultado, debería ver la dirección IP privada de la gateway NAT en uno de los saltos (suele ser el primero).

  • Puede utilizar un sitio web o una herramienta de terceros que muestre la dirección IP de origen al conectarse desde una instancia de su subred privada. La dirección IP de origen debería ser la dirección IP elástica de su gateway NAT. Puede obtener la dirección IP elástica y la dirección IP privada de su gateway NAT viendo su información en la página NAT Gateways (Gateways NAT) de la consola de Amazon VPC.

Si las pruebas anteriores no son satisfactorias, consulte Solucionar problemas de gateways NAT.

Comprobar la conexión a Internet

El siguiente ejemplo muestra cómo comprobar si su instancia en una subred privada se puede conectar a Internet.

  1. Lance una instancia en su subred pública (la usará como host bastión). Para obtener más información, consulte Lanzar una instancia en su subred. En el asistente de lanzamiento, asegúrese de seleccionar una AMI de Amazon Linux y de asignar una dirección IP pública a su instancia. Asegúrese de que las reglas de su grupo de seguridad admiten el tráfico SSH entrante del rango de direcciones IP de su red local y el tráfico SSH saliente al rango de direcciones IP de su subred privada (también puede utilizar 0.0.0.0/0 para el tráfico SSH tanto entrante como saliente en esta prueba).

  2. Lance una instancia en su subred privada. En el asistente de lanzamiento, asegúrese de seleccionar una AMI de Amazon Linux. No asigne una dirección IP pública a su instancia. Asegúrese de que las reglas de su grupo de seguridad admiten el tráfico SSH entrante de la dirección IP privada de la instancia que lanzó en la subred pública, así como todo el tráfico ICMP saliente. Debe elegir el mismo par de claves que utilizó para lanzar su instancia en la subred pública.

  3. Configure el reenvío de agentes SSH en su equipo local, y conéctese a su host bastión en la subred pública. Para obtener más información, consulte Para configurar el reenvío de agentes SSH para Linux o macOS o Para configurar el reenvío de agentes SSH para Windows (PuTTY).

  4. Desde el host bastión, conéctese a su instancia en la subred privada y, a continuación, compruebe la conexión a Internet desde su instancia en la subred privada. Para obtener más información, consulte Para comprobar la conexión a Internet.

Para configurar el reenvío de agentes SSH para Linux o macOS

  1. Desde su equipo local, añada su clave privada al agente de autenticación.

    Para Linux, utilice el siguiente comando.

    ssh-add -c mykeypair.pem

    Para macOS, utilice el siguiente comando.

    ssh-add -K mykeypair.pem
  2. Conéctese a su instancia en la subred pública utilizando la opción -A para habilitar el reenvío de agentes SSH y utilice la dirección pública de la instancia, como se muestra en el ejemplo siguiente.

    ssh -A ec2-user@54.0.0.123

Para configurar el reenvío de agentes SSH para Windows (PuTTY)

  1. Descargue e instale Pageant desde la página de descargas de PuTTY, si aún no lo tiene instalado.

  2. Convierta su clave privada al formato .ppk. Para obtener más información, consulte Convertir la clave privada mediante PuTTYgen en la Guía del usuario de Amazon EC2 para instancias de Linux.

  3. Inicie Pageant, haga clic con el botón derecho en el icono de Pageant de la barra de tareas (puede estar oculto) y elija Add Key. Seleccione el archivo .ppk que ha creado, escriba la frase de contraseña si es necesario y elija Open (Abrir).

  4. Inicie una sesión de PuTTY y conéctese a su instancia en la subred pública utilizando su dirección IP pública. Para obtener más información, consulte Conectarse a la instancia de Linux. En la categoría Auth, asegúrese de seleccionar la opción Allow agent forwarding y deje el cuadro Private key file for authentication en blanco.

Para comprobar la conexión a Internet

  1. Desde su instancia en la subred pública, conéctese a su instancia en la subred privada utilizando su dirección IP privada, como se muestra en el ejemplo siguiente.

    ssh ec2-user@10.0.1.123
  2. Desde su instancia privada, compruebe que puede conectarse a Internet ejecutando el comando ping para un sitio web que tenga ICMP habilitado.

    ping ietf.org
    PING ietf.org (4.31.198.44) 56(84) bytes of data. 64 bytes from mail.ietf.org (4.31.198.44): icmp_seq=1 ttl=47 time=86.0 ms 64 bytes from mail.ietf.org (4.31.198.44): icmp_seq=2 ttl=47 time=75.6 ms ...

    Pulse Ctrl+C en su teclado para cancelar el comando ping. Si el comando ping da error, consulte Las instancias no pueden obtener acceso a Internet.

  3. (Opcional) Si ya no necesita las instancias, termínelas. Para obtener más información, consulte Terminar la instancia en la Guía del usuario de Amazon EC2 para instancias de Linux.

Controlar el uso de gateways NAT

De forma predeterminada, los usuarios de IAM no tienen permiso para trabajar con gateways NAT. Puede crear una política de usuarios de IAM que conceda permisos a los usuarios para crear, describir y eliminar gateways NAT. Actualmente no se admiten los permisos de nivel de recursos para ninguna de las operaciones API de ec2:*NatGateway*. Para obtener más información sobre las políticas de IAM para Amazon VPC, consulte Administración de identidades y accesos para Amazon VPC.

Etiquetar una gateway NAT

Puede etiquetar la gateway NAT como ayuda para identificarla o clasificarla según las necesidades de su organización. Para obtener información sobre trabajar con etiquetas, consulte Etiquetar los recursos de Amazon EC2 en la Guía del usuario de Amazon EC2 para instancias de Linux.

Las etiquetas de asignación de costos son compatibles con las gateways NAT. Por lo tanto, también puede utilizar etiquetas para organizar su factura de AWS y reflejar su propia estructura de costos. Para obtener más información, consulte Usar etiquetas de asignación de costos en la Guía del usuario de AWS Billing and Cost Management. Para obtener más información acerca de la configuración de un informe de asignación de costos con etiquetas, consulte Informe de asignación de costos mensual en Facturación de cuentas de AWS.

Información general de la API y de la CLI

Puede realizar las tareas descritas en esta página utilizando la línea de comandos o al API. Para obtener más información acerca de las interfaces de la línea de comandos, junto con una lista de las operaciones de API disponibles, consulte Acceso a Amazon VPC.

Creación de una gateway NAT

Etiquetar una gateway NAT

Descripción de una gateway NAT

Eliminación de una gateway NAT