Como configuro minhas sub-redes para um cluster do Amazon EKS?

Data da última atualização: 04-10-2021

Quero configurar minhas sub-redes para funcionarem com meu cluster do Amazon Elastic Kubernetes Service (Amazon EKS).

Breve descrição

Escolha uma das seguintes opções de configuração:

  • Para obter acesso de saída e entrada à Internet de seus nós de processamento, conclua as etapas na seção Configurar uma sub-rede pública.
  • Para obter apenas acesso de saída à Internet de seus nós de processamento, conclua as etapas na seção Configurar uma sub-rede privada com acesso de saída à Internet.
  • Para restringir o acesso à Internet de saída e de entrada dos nós de processamento, conclua as etapas na seção Configurar uma sub-rede privada sem acesso à Internet. Por exemplo, você escolhe essa resolução para um cluster privado do Amazon EKS.

Resolução

Configurar uma sub-rede pública

Ao criar uma sub-rede para o cluster do Amazon EKS, considere o seguinte:

1.    Associe sua sub-rede a uma tabela de rotas configurada para rotear o tráfego para o destino 0.0.0.0/0 por meio de um gateway da Internet. Por exemplo: igw-xxxxxxxx

2.    Ative o atributo de endereço IPV4 público de atribuição automática para sua sub-rede.

3.    Conclua as etapas na seção Restringir implantação de balanceadores de carga com marcação de sub-rede.

Configurar uma sub-rede privada com acesso de saída à Internet

Ao criar uma sub-rede para o cluster do Amazon EKS, considere o seguinte:

1.    Associe a sua sub-rede a uma tabela de rotas configurada para rotear o tráfego para um gateway NAT e permitir apenas conexão de saída com a Internet.

2.    Verifique se o endereço IPv4 público de atribuição automática para sua sub-rede não está habilitado.

3.    Conclua as etapas na seção Restringir implantação de balanceadores de carga com marcação de sub-rede.

Configurar uma sub-rede privada sem acesso à Internet

1.    Para bloquear o acesso à Internet aos nós de processamento, verifique se a sub-rede não está associada a uma tabela de rotas. Ou seja, uma tabela de rotas configurada para rotear o tráfego para um gateway NAT ou gateway da Internet.

2.    Verifique se o endereço IPv4 público de atribuição automática não está habilitado.

3.    Crie endpoints da Amazon Virtual Private Cloud (Amazon VPC) para seu VPC. Os seguintes endpoints de VPC são necessários para que os nós de processamento ingressem no cluster do Amazon EKS:

com.amazonaws.your_region.ec2
com.amazonaws.your_region.ecr.api
com.amazonaws.your_region.ecr.dkr
com.amazonaws.your_region.s3

Observação: substitua your_region pela sua região da AWS.

4.    (Se necessário) Crie endpoints VPC adicionais com base nos requisitos da aplicação. Veja os seguintes exemplos.

Para Amazon CloudWatch Logs:

com.amazonaws.your_region.logs

Para funções do Kubernetes Cluster Autoscaler ou do AWS Identity and Access Management (IAM) para contas de serviço:

com.amazonaws.your_region.sts

Para um balanceador de carga da aplicação:

com.amazonaws.your_region.elasticloadbalancing

Para um dimensionador automático de cluster do Kubernetes:

com.amazonaws.your_region.autoscaling

Para o AWS App Mesh:

com.amazonaws.your_region.appmesh-envoy-management

Para o AWS X-Ray:

com.amazonaws.your_region.xray

Observação: substitua your_region pela sua região da AWS.

5.    Conclua as etapas na seção Restringir implantação de balanceadores de carga com marcação de sub-rede.

Restringir a implantação de balanceadores de carga com marcação de sub-rede

A marcação de sub-rede informa ao AWS Load Balancer Controller qual sub-rede pode ser usada para criar o balanceador de carga externo ou interno.

Para sub-redes públicas:

Para restringir a implantação de balanceadores de carga externos usando o AWS Load Balancer Controller em uma sub-rede pública específica em sua VPC, marque essa sub-rede da seguinte maneira:

Key - kubernetes.io/role/elb
Value - 1

Para sub-redes privadas:

Para restringir a implantação de balanceadores de carga internos usando o AWS Load Balancer Controller em uma sub-rede privada específica, marque essa sub-rede da seguinte maneira:

Key - kubernetes.io/role/internal-elb
Value - 1

Observação: o número de pods que podem ser executados em uma sub-rede depende do número de endereços IP livres disponíveis na sub-rede. Confirme se as sub-redes especificadas durante a criação do cluster têm endereços IP disponíveis suficientes para as interfaces de rede criadas pelo Amazon EKS. É uma prática recomendada criar sub-redes pequenas (ou seja, /28) dedicadas para interfaces de rede criadas pelo Amazon EKS. Em seguida, você só deve especificar essas sub-redes como parte da criação do cluster. Inicie outros recursos, como nós e balanceadores de carga, em sub-redes separadas das sub-redes especificadas durante a criação do cluster.