Solucionar problemas de las gateways NAT - Amazon Virtual Private Cloud

Solucionar problemas de las gateways NAT

Los siguientes temas le ayudarán a solucionar problemas comunes que podría encontrarse a la hora de crear o utilizar una gateway NAT.

La creación de la gateway NAT produce un error

Problema

Al crear una gateway NAT, esta cambia al estado Failed.

nota

Una gateway NAT que falle se elimina automáticamente, normalmente en aproximadamente una hora.

Causa

Se produjo un error al crear la gateway NAT. El mensaje de estado devuelto proporciona el motivo del error.

Solución

Para ver el mensaje de error, abra la consola de Amazon VPC y, a continuación, elija NAT Gateways (Gateways NAT). Seleccione el botón de opción de la gateway NAT y, a continuación, busque State message (Mensaje de estado) en la ficha Details (Detalles).

En la siguiente tabla se muestran las causas posibles del error según lo que se indique en la consola de Amazon VPC. Tras aplicar los pasos recomendados como solución, puede intentar volver a crear una gateway NAT.

Error mostrado Causa Solución
Subnet has insufficient free addresses to create this NAT gateway La subred que ha especificado no tiene ninguna dirección IP privada libre. La gateway NAT requiere una interfaz de red con una dirección IP privada asignada desde el rango de la subred. Vaya a la página Subnets (Subredes) de la consola de Amazon VPC para comprobar cuántas direcciones IP hay disponibles en la subred. Puede ver las Available IPs (IP disponibles) en el panel de detalles de su subred. Para crear direcciones IP libres en su subred, puede eliminar las interfaces de red que no utilice, o bien terminar las instancias que no necesite.
Network vpc-xxxxxxxx has no internet gateway attached Debe haber una gateway NAT creada en una VPC con un puerto de enlace a Internet. Cree un puerto de enlace a Internet y vincúlelo a su VPC. Para obtener más información, consulte Adición de acceso a Internet en una subred.
Elastic IP address eipalloc-xxxxxxxx is already associated La dirección IP elástica que ha especificado ya está asociada a otro recurso, y no se puede asociar a la gateway NAT. Compruebe qué recurso está asociado a la dirección IP elástica. Vaya a la página Elastic IPs (Direcciones IP elásticas) de la consola de Amazon VPC y consulte los valores especificados para el ID de instancia o el ID de la interfaz de red. Si no necesita la dirección IP elástica para ese recurso, puede desasociarla. De forma alternativa, puede asignar una nueva dirección IP elástica a su cuenta. Para obtener más información, consulte Introducción a las direcciones IP elásticas.

Cuota de gateways NAT

Cuando intenta crear una gateway NAT, obtiene el siguiente error.

Performing this operation would exceed the limit of 5 NAT gateways
Causa

Ha alcanzado la cuota correspondiente al número de gateways NAT para esa zona de disponibilidad.

Solución

Si ha alcanzado esta cuota gateways NAT para su cuenta, puede hacer una de estas cosas:

  • Solicite un aumento de la cuota de gateways NAT por zona de disponibilidad mediante la consola de Service Quotas.

  • Compruebe el estado de su gateway NAT. Una gateway con los estados Pending, Available o Deleting cuenta al calcular la cuota. Si ha eliminado recientemente una gateway NAT, espere unos minutos para que el estado cambie de Deleting a Deleted. A continuación, intente crear una nueva gateway NAT.

  • Si no necesita que su gateway NAT esté en una zona de disponibilidad específica, intente crear una gateway NAT en una zona de disponibilidad en la que no haya alcanzado la cuota.

Para obtener más información, consulte Cuotas de Amazon VPC.

Cuota de direcciones IP elásticas

Problema

Cuando intenta asignar una dirección IP elástica a su gateway NAT pública, obtiene el siguiente error.

The maximum number of addresses has been reached.
Causa

Ha alcanzado la cuota de direcciones IP elásticas para su cuenta en esa región.

Solución

Si ha alcanzado la cuota de direcciones IP elásticas, puede anular la asociación de una dirección IP elástica de otro recurso. También puede solicitar un aumento de la cuota de IP elásticas mediante la consola de Service Quotas.

La zona de disponibilidad no es compatible

Problema

Cuando intenta crear una gateway NAT, obtiene el siguiente mensaje de error: NotAvailableInZone.

Causa

Es posible que intente crear la gateway NAT en una zona de disponibilidad limitada, es decir, una zona en la que la capacidad de ampliación esté restringida.

Solución

Las gateways NAT no son compatibles en estas zonas de disponibilidad. Puede crear una gateway NAT en una zona de disponibilidad diferente y usarla para subredes privadas en la zona limitada. También puede mover los recursos a una zona de disponibilidad no limitada para que sus recursos y su gateway NAT estén en la misma zona.

La gateway NAT ya no está visible

Problema

Ha creado una gateway NAT, pero ya no está visible en la consola de Amazon VPC.

Causa

Es posible que haya habido un error durante la creación de la gateway NAT y que haya fallado la creación. Una gateway NAT cuyo estado sea Failed está visible en la consola de Amazon VPC durante una hora aproximadamente. Después de una hora, se elimina automáticamente.

Solución

Revise la información en La creación de la gateway NAT produce un error e intente crear una nueva gateway NAT.

La gateway NAT no responde a un comando ping

Problema

Cuando intenta hacer ping a la dirección IP elástica de una gateway NAT o en la dirección IP privada desde Internet (por ejemplo, desde su equipo doméstico) o desde alguna instancia en su VPC, no obtiene ninguna respuesta.

Causa

Una gateway NAT solo pasa el tráfico desde una instancia de una subred privada a Internet.

Solución

Para comprobar si su gateway NAT está funcionando, consulte Prueba de la gateway NAT pública.

Las instancias no pueden obtener acceso a Internet

Problema

Ha creado una gateway NAT pública y ha seguido los pasos para probarla, pero el comando ping produce un error, o bien sus instancias de la subred privada no pueden acceder a Internet.

Causas

Este problema podría deberse a una de las siguientes causas:

  • La gateway NAT no está lista para dirigir tráfico.

  • Sus tablas de ruteo no se han configurado correctamente.

  • Sus grupos de seguridad o las ACL de red están bloqueando el tráfico entrante o saliente.

  • Está utilizando un protocolo no admitido.

Solución

Compruebe la siguiente información:

  • Compruebe que la gateway NAT tiene el estado Available. En la consola Amazon VPC, vaya a la página NAT Gateways (Gateways NAT) y consulte la información de estado en el panel de detalles. Si la gateway NAT tiene un estado de error, puede que haya habido un error durante su creación. Para obtener más información, consulte La creación de la gateway NAT produce un error.

  • Asegúrese de haber configurado las tablas de ruteo correctamente:

    • La gateway NAT debe estar en una subred pública con una tabla de ruteo que direccione el tráfico de Internet a un puerto de enlace a Internet.

    • Su instancia debe estar en una subred privada con una tabla de ruteo que direccione el tráfico de Internet a la gateway NAT.

    • Compruebe que no haya otras entradas de tabla de ruteo que dirijan todo o parte del tráfico de Internet a otro dispositivo en lugar de a la gateway NAT.

  • Asegúrese de que las reglas de su grupo de seguridad para su instancia privada permiten el tráfico de salida de Internet. Para que el comando ping funcione, las reglas también deben permitir el tráfico ICMP saliente.

    La gateway NAT permite por sí misma todo el tráfico de salida, y el tráfico recibido en respuesta a una solicitud saliente (por tanto, es con estado).

  • Asegúrese de que las ACL de red estén asociadas a la subred privada y de que las subredes públicas no tengan reglas que bloqueen el tráfico de entrada y salida de Internet. Para que el comando ping funcione, las reglas también deben permitir el tráfico ICMP entrante y saliente.

    Puede habilitar los logs de flujo para que le ayuden a diagnosticar las conexiones perdidas a causa de las reglas de grupos de seguridad o de ACL de red. Para obtener más información, consulte Registro del tráfico de IP con registros de flujo de la VPC.

  • Si va a utilizar el comando ping, asegúrese de hacer ping a un host con ICMP habilitado. Si ICMP no se ha habilitado, no recibirá paquetes de respuesta. Para comprobar esto, ejecute el mismo comando ping desde el terminal de línea de comandos en su propio equipo.

  • Asegúrese de que su instancia puede hacer ping a otros recursos, como, por ejemplo, otras instancias de la subred privada (suponiendo que las reglas de ese grupo de seguridad lo permitan).

  • Asegúrese de que su conexión esté utilizando únicamente un protocolo TCP, UDP o ICMP.

Error de la conexión TCP a un destino

Problema

Algunas de sus conexiones TCP desde instancias de una subred privada a un destino específico a través de una gateway de NAT se realizan correctamente, pero otras producen errores o se agota el tiempo de espera.

Causas

Este problema podría deberse a una de las siguientes causas:

  • El punto de enlace de destino responde con paquetes TCP fragmentados. Las gateways NAT no admiten la fragmentación de IP para TCP o ICMP. Para obtener más información, consulte Comparar las puertas de enlace NAT con las instancias NAT.

  • La opción tcp_tw_recycle, de la que se sabe que causa problemas cuando hay varias conexiones desde detrás de un dispositivo NAT, está habilitada en el servidor remoto.

Soluciones

Haga lo siguiente para comprobar si el punto de enlace al que intenta conectarse está respondiendo con paquetes TCP fragmentados:

  1. Utilizar una instancia en una subred pública con una dirección IP pública para desencadenar una respuesta lo suficientemente grande para provocar la fragmentación desde el punto de enlace específico.

  2. Utilizar tcpdump para verificar que el punto de conexión esté enviando paquetes fragmentados.

    importante

    Debe utilizar una instancia en una subred pública para realizar estas comprobaciones. No puede utilizar la instancia desde la que estaba fallando la conexión original ni una instancia en una subred privada detrás de una gateway NAT o una instancia NAT.

    Las herramientas de diagnóstico que envían o reciben grandes paquetes ICMP informarán de la pérdida de paquetes. Por ejemplo, el comando ping -s 10000 example.com no funciona tras una gateway NAT.

  3. Si el punto de conexión está enviando paquetes TCP fragmentados, puede utilizar una instancia NAT en lugar de una gateway NAT.

Si tiene acceso al servidor remoto, haga lo siguiente para comprobar si la opción tcp_tw_recycle está habilitada:

  1. Desde el servidor, ejecute el comando siguiente.

    cat /proc/sys/net/ipv4/tcp_tw_recycle

    Si el resultado es 1, la opción tcp_tw_recycle está habilitada.

  2. Si se ha habilitado tcp_tw_recycle, le recomendamos deshabilitarla. Si necesita reutilizar las conexiones, tcp_tw_reuse es una opción más segura.

Si no tiene acceso al servidor remoto, pruebe a deshabilitar temporalmente la opción tcp_timestamps en una instancia de la subred privada. A continuación, vuelva a conectarse al servidor remoto. Si la conexión se realiza correctamente, puede que el error anterior se deba a que la opción tcp_tw_recycle está habilitada en el servidor remoto. Si es posible, póngase en contacto con el propietario del servidor remoto para comprobar si esta opción está habilitada y solicitar que se deshabilite.

La salida del comando traceroute no muestra la dirección IP privada de la gateway NAT

Problema

Su instancia puede obtener acceso a Internet, pero al ejecutar el comando traceroute, la salida no muestra la dirección IP privada de la gateway NAT.

Causa

Su instancia está obteniendo acceso a Internet mediante una gateway distinta, como una gateway de Internet.

Solución

En la tabla de ruteo de la subred en la que se encuentra su instancia, compruebe la siguiente información:

  • Asegúrese de que hay una ruta que envía el tráfico de Internet a la gateway NAT.

  • Asegúrese de que no hay una ruta más específica que esté enviando el tráfico de Internet a otros dispositivos, como una gateway privada virtual o un puerto de enlace a Internet.

La conexión a Internet se pierde después de 350 segundos

Problema

Sus instancias pueden obtener acceso a Internet, pero la conexión se interrumpe transcurridos 350 segundos.

Causa

Si una conexión que está utilizando una gateway NAT se queda inactiva durante 350 segundos o más, su tiempo de espera se agota.

Cuando el tiempo de espera de una conexión finaliza, una gateway NAT devuelve un paquete RST a los recursos situados detrás de la gateway NAT que intenten continuar la conexión (no envía un paquete FIN).

Solución

Para impedir que se pierda la conexión, puede iniciar más tráfico a través de esta. También puede habilitar conexiones keepalive de TCP en la instancia con un valor inferior a 350 segundos.

La conexión IPsec no se puede establecer

Problema

No puede establecer una conexión IPsec a un destino.

Causa

Las gateways NAT actualmente no admiten el protocolo IPsec.

Solución

Puede usar NAT-Traversal (NAT-T) para encapsular el tráfico IPsec en UDP, que es un protocolo admitido para las gateways NAT. Asegúrese de probar la configuración de NAT-T e IPsec para verificar que el tráfico IPsec no se elimina.

No se pueden iniciar más conexiones

Problema

Ya tiene conexiones a un destino a través de una puerta de enlace NAT, pero no puede establecer más.

Causa

Puede que haya alcanzado el límite de conexiones simultáneas para una sola gateway NAT. Para obtener más información, consulte Conceptos básicos de la gateway NAT. Si sus instancias de la subred privada crean un gran número de conexiones, puede que alcance este límite.

Solución

Realice una de las siguientes acciones siguientes:

  • Cree una gateway NAT por zona de disponibilidad y reparta sus clientes entre estas zonas.

  • Cree gateways NAT adicionales en la subred pública y divida sus clientes en varias subredes privadas, cada una con una ruta a una gateway NAT distinta.

  • Limite el número de conexiones que pueden crear sus clientes al destino.

  • Utilice la métrica IdleTimeoutCount en CloudWatch para monitorear los aumentos de las conexiones inactivas. Cierre las conexiones inactivas para liberar capacidad.

  • Cree una puerta de enlace NAT con varias direcciones IP o agregue direcciones IP secundarias a una puerta de enlace NAT existente. Cada dirección IPv4 nueva puede admitir hasta 55 000 conexiones simultáneas. Para obtener más información, consulte Creación de una gateway NAT o Edición de asociaciones de direcciones IP secundarias.