

 **Ajudar a melhorar esta página** 

Para contribuir com este guia de usuário, escolha o link **Editar esta página no GitHub**, disponível no painel direito de cada página.

# Habilitar o acesso de saída à internet para pods
<a name="external-snat"></a>

 **Aplica-se a**: nós Linux `IPv4` do Fargate, nós Linux com instâncias do Amazon EC2

Se você implantou seu cluster utilizando a família `IPv6`, as informações neste tópico não serão aplicáveis a ele, pois endereços `IPv6` não são convertidos na rede. Para obter mais informações sobre como usar o `IPv6` com o seu cluster, consulte [Saiba mais sobre endereços IPv6 para clusters, pods e serviços](cni-ipv6.md).

Por padrão, cada pod no cluster recebe um endereço `IPv4` [privado](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-private-addresses) de um bloco de Encaminhamento Entre Domínios Sem Classificação (CIDR) associado à VPC em que o pod está implantado. Os pods na mesma VPC se comunicam entre si usando esses endereços IP privados como endpoints. Quando um pod se comunica com qualquer endereço `IPv4` que não esteja em um bloco CIDR associado à VPC, o plug-in CNI da Amazon VPC (para [Linux](https://github.com/aws/amazon-vpc-cni-k8s#amazon-vpc-cni-k8s) ou [Windows](https://github.com/aws/amazon-vpc-cni-plugins/tree/master/plugins/vpc-bridge)) converte o endereço `IPv4` do pod para o endereço privado primário `IPv4` da [interface de rede elástica](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#eni-basics) primária do nó em que o pod está sendo executado, por padrão, [\$1](#snat-exception).

**nota**  
Para nós do Windows, existem detalhes adicionais a serem considerados. Por padrão, o [plug-in VPC CNI para Windows](https://github.com/aws/amazon-vpc-cni-plugins/tree/master/plugins/vpc-bridge) é definido com uma configuração de rede na qual o tráfego para um destino dentro da mesma VPC é excluído para SNAT. Isso significa que a comunicação interna da VPC tem a SNAT desabilitada e que o endereço IP alocado a um pod é roteável dentro da VPC. Porém, o tráfego para um destino fora da VPC tem a SNAT do IP de origem do pod conectado ao endereço IP primário da ENI da instância. Essa configuração padrão para o Windows garante que o pod possa acessar redes fora da sua VPC da mesma forma que a instância do host.

Devido a este comportamento:
+ Os pods poderão se comunicar com os recursos da internet somente se o nó em que estão sendo executados tiver um endereço IP [público](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses) ou [elástico](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html) atribuído a ele e se estiver em uma [sub-rede pública](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-basics). A [tabela de rotas](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) associada a uma sub-rede pública tem uma rota para um gateway da Internet. Convém implantar nós em sub-redes privadas, sempre que possível.
+ Para versões do plug-in anteriores a `1.8.0`, os recursos que estão em redes ou VPCs conectados à VPC do cluster usando o [emparelhamento da VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html), uma [VPC de trânsito](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/transit-vpc-option.html) ou o [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) não podem iniciar a comunicação com os pods por meio de interfaces de rede elásticas secundárias. No entanto, os pods poderão iniciar a comunicação com esses recursos e receber respostas deles.

Se qualquer uma das declarações a seguir for verdadeira em seu ambiente, altere a configuração padrão com o comando a seguir.
+ Você tem recursos em redes ou VPCs que estão conectados à VPC do seu cluster usando [emparelhamento da VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html), uma [VPC de trânsito](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/transit-vpc-option.html) ou o [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) que precisam iniciar a comunicação com os pods usando um endereço `IPv4` e sua versão de plug-in anterior à `1.8.0`.
+ Os pods estão em uma [sub-rede privada](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-basics) e precisam se comunicar com a saída da internet. A sub-rede tem uma rota para um [gateway 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**  
As variáveis de configuração `AWS_VPC_K8S_CNI_EXTERNALSNAT` e `AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS` da CNI não são aplicáveis a nós do Windows. A desabilitação da SNAT não tem suporte no Windows. Quanto à exclusão de uma lista de CIDRs `IPv4` da SNAT, você pode definir isso especificando o parâmetro `ExcludedSnatCIDRs` no script de bootstrap do Windows. Para obter mais informações sobre o uso desse parâmetro, consulte [Parâmetros de configuração do script de bootstrap](eks-optimized-windows-ami.md#bootstrap-script-configuration-parameters).

## Redes do host
<a name="snat-exception"></a>

\$1 Se uma especificação de pod contiver `hostNetwork=true` (o padrão é `false`), seu endereço IP não será convertido para um endereço diferente. Este é o caso para o `kube-proxy` e o plug-in CNI da Amazon VPC dos pods do Kubernetes que são executados no cluster por padrão. Para esses pods, o endereço IP é o mesmo que o endereço IP primário do nó e, portanto, o endereço IP do pod não é convertido. Para saber mais sobre a configuração `hostNetwork` de um pod, consulte [PodSpec v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#podspec-v1-core) na referência de APIs do Kubernetes.