

 **Ayude a mejorar esta página** 

Para contribuir a esta guía del usuario, elija el enlace **Edit this page on GitHub** que se encuentra en el panel derecho de cada página.

# Habilitación del acceso a Internet saliente para pods
<a name="external-snat"></a>

 **Aplicación**: en nodos de `IPv4` de Linux de Fargate, y nodos de Linux con instancias de Amazon EC2

Si ha implementado el clúster mediante la familia `IPv6`, la información de este tema no se aplica a su clúster, porque las direcciones `IPv6` no están traducidas en red. Para obtener más información acerca del uso de `IPv6` con su clúster, consulte [Información sobre la asignación de direcciones IPv6 a clústeres, pods y servicios](cni-ipv6.md).

De forma predeterminada, a cada pod del clúster se le asigna una dirección `IPv4` [privada](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-private-addresses) de un bloque de enrutamiento entre dominios sin clases (CIDR) asociado a la VPC en la que se implementa el pod. Los pods en la misma VPC se comunican entre sí utilizando estas direcciones IP privadas como puntos de conexión. Cuando un pod se comunica con cualquier dirección `IPv4` que no se encuentra dentro de un bloque de CIDR asociado a la VPC, el complemento CNI de Amazon VPC (para [Linux](https://github.com/aws/amazon-vpc-cni-k8s#amazon-vpc-cni-k8s) o [Windows](https://github.com/aws/amazon-vpc-cni-plugins/tree/master/plugins/vpc-bridge)) traduce la dirección `IPv4` del pod a la dirección `IPv4` privada principal de la [interfaz de red elástica](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#eni-basics) principal del nodo en el que se está ejecutando el pod, que es [\$1](#snat-exception) de forma predeterminada.

**nota**  
En el caso de los nodos de Windows, hay detalles adicionales que se deben tener en cuenta. De forma predeterminada, el [complemento CNI de Amazon VPC para Windows](https://github.com/aws/amazon-vpc-cni-plugins/tree/master/plugins/vpc-bridge) se define con una configuración de red en la que se excluye el tráfico a un destino dentro de la misma VPC para SNAT. Esto significa que la comunicación interna de la VPC tiene la SNAT desactivada y la dirección IP asignada a un pod se puede enrutar dentro de la VPC. Sin embargo, el tráfico a un destino fuera de la VPC tiene la IP del pod de origen vinculada mediante la SNAT a la dirección IP principal de la ENI de la instancia. Esta configuración predeterminada de Windows garantiza que el pod pueda acceder a redes fuera de la VPC de la misma manera que a la instancia del host.

Debido a este comportamiento:
+ Los pods pueden comunicarse con recursos de Internet solo si el nodo en el que se están ejecutando tiene una dirección IP [pública](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses) o [elástica](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html) asignada y se encuentra en una [subred pública](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-basics). Una subred pública es una subred asociada a la [tabla de enrutamiento](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) que tiene una ruta a la puerta de enlace de internet. Recomendamos implementar nodos en subredes privadas, siempre que sea posible.
+ Para versiones del complemento anteriores a `1.8.0`, los recursos que se encuentran en redes o VPC que están conectadas a la VPC del clúster mediante un [emparejamiento de VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html), una [VPC de tránsito](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/transit-vpc-option.html) o [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) no pueden iniciar la comunicación con sus pods detrás de interfaces de redes elásticas secundarias. Sin embargo, sus pods pueden iniciar la comunicación con esos recursos y recibir respuestas de ellos.

Si alguna de las siguientes afirmaciones es verdadera en su entorno, cambie la configuración predeterminada con el comando siguiente.
+ Tiene recursos en redes o VPC que están conectados a la VPC de su clúster mediante [emparejamiento de VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html), una [VPC de tránsito](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/transit-vpc-option.html) o [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) que deben iniciar la comunicación con sus pods mediante una dirección `IPv4` y la versión del complemento es anterior a la `1.8.0`.
+ Sus pods se encuentran en una [subred privada](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-basics) y necesitan comunicación saliente a Internet. La subred tiene una ruta hacia una [puerta de enlace NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html).

```
kubectl set env daemonset -n kube-system aws-node AWS_VPC_K8S_CNI_EXTERNALSNAT=true
```

**nota**  
Las variables de configuración de CNI `AWS_VPC_K8S_CNI_EXTERNALSNAT` y `AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS` no se aplican a los nodos de Windows. No se admite la desactivación de SNAT para Windows. En cuanto a la exclusión de una lista de CIDR `IPv4` de SNAT, puede especificar el parámetro `ExcludedSnatCIDRs` en el script de arranque de Windows para definirla. Para obtener más información acerca del uso de este parámetro, consulte [Parámetros de configuración del script de arranque](eks-optimized-windows-ami.md#bootstrap-script-configuration-parameters).

## Red del host
<a name="snat-exception"></a>

\$1 Si las especificaciones del pod contienen `hostNetwork=true` (el valor predeterminado es `false`), su dirección IP no se traduce a otra dirección. Este es el caso de `kube-proxy` y el complemento CNI de Amazon VPC para Kubernetes, que se ejecutan en el clúster, de forma predeterminada. Para estos pods, la dirección IP es la misma que la dirección IP principal del nodo, por lo que la dirección IP del pod no está traducida. Para obtener más información acerca de la configuración de `hostNetwork` del pod, consulte [PodSpec v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#podspec-v1-core) en la referencia de API de Kubernetes.