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.
Endpoint do servidor de API do cluster
Este tópico ajuda a habilitar o acesso privado ao endpoint do servidor de API do Kubernetes do cluster do Amazon EKS e limitar ou desabilitar completamente o acesso público pela internet.
Quando você cria um cluster, o Amazon EKS cria um endpoint para o servidor gerenciado de API do Kubernetes usado para se comunicar com o cluster (usando as ferramentas de gerenciamento do Kubernetes, como kubectl
). Por padrão, esse endpoint do servidor de API é público para a internet, e o acesso ao servidor de API é protegido usando uma combinação do AWS Identity and Access Management (IAM) e do Role Based Access Control
Formato de endpoint de cluster IPv6
O EKS cria um endpoint exclusivo de pilha dupla no seguinte formato para novos clusters IPv6
criados após outubro de 2024. Um cluster IPv6 é um cluster que você seleciona IPv6
na configuração da família de IP (ipFamily
) do cluster.
nota
O endpoint de cluster de pilha dupla foi introduzido em outubro de 2024. Para obter mais informações sobre clusters IPv6
, consulte Saiba mais sobre endereços IPv6 para clusters, pods e serviços. Clusters criados antes de outubro de 2024 devem usar o seguinte formato de endpoint.
Formato de endpoint de cluster IPv4
O EKS cria um endpoint exclusivo no formato a seguir para cada cluster que seleciona IPv4
na configuração da família de IP (ipFamily) do cluster:
nota
Antes de outubro de 2024, os clusters IPv6
também usavam esse formato de endpoint. Para eles, tanto o endpoint público quanto o privado têm apenas endereços IPv4
resolvidos a partir desse endpoint.
Endpoint privado do cluster
Você pode habilitar o acesso privado ao servidor de API do Kubernetes para que todas as comunicações entre os nós e o servidor de API fiquem na VPC. Você pode limitar os endereços IP que podem acessar o servidor de API pela Internet ou desativar completamente o acesso à Internet para o servidor de API.
nota
Como esse endpoint é para o servidor de API do Kubernetes e não um endpoint tradicional do AWS PrivateLink para se comunicar com uma API da AWS, ele não aparece como um endpoint no console da Amazon VPC.
Ao ativar o acesso privado ao endpoint para o cluster, o Amazon EKS cria uma zona hospedada privada do Route 53 em seu nome e a associa à VPC do cluster. Essa zona hospedada privada é gerenciada pelo Amazon EKS e não aparece nos recursos do Route 53 da sua conta. Para que a zona hospedada privada roteie o tráfego adequadamente para o seu servidor da API, a VPC deve ter enableDnsHostnames
e enableDnsSupport
definidos como true
, e o conjunto de opções DHCP para sua VPC deve incluir AmazonProvidedDNS
na lista de servidores de nome de domínio. Para obter mais informações, consulte Updating DNS support for your VPC (Atualizar o suporte de DNS para VPC) no Manual do usuário da Amazon VPC.
É possível definir os requisitos de acesso ao endpoint do servidor de API ao criar um cluster, e você pode atualizar o acesso ao endpoint do servidor de API para um cluster a qualquer momento.
Modificar o acesso ao endpoint do cluster
Use os procedimentos desta seção para modificar o acesso ao endpoint para um cluster existente. A tabela a seguir mostra as combinações compatíveis de acesso ao endpoint do servidor de API e seus comportamentos associados.
Acesso público ao endpoint | Acesso privado ao endpoint | Comportamento |
---|---|---|
Habilitada |
Desabilitado |
|
Habilitada |
Habilitado |
|
Desabilitado |
Habilitada |
|
Blocos CIDR no endpoint público (cluster IPv6
)
Você pode adicionar blocos CIDR IPv6
e IPv4
ao endpoint público de um cluster IPv6
, porque o endpoint público é de pilha dupla. Isso só se aplica a novos clusters com o ipFamily
definido como IPv6
que você criou em outubro de 2024 ou posteriormente. Você pode identificar esses clusters pelo novo nome de domínio do endpoint api.aws
.
Blocos CIDR no endpoint público (cluster IPv4
)
Você pode adicionar blocos CIDR IPv4
ao endpoint público de um cluster IPv4
. Você não pode adicionar blocos CIDR IPv6
ao endpoint público de um cluster IPv4
. Se você tentar, o EKS retornará a seguinte mensagem de erro: The following CIDRs are invalid in publicAccessCidrs
Blocos CIDR no endpoint público (cluster IPv6
criado antes de outubro de 2024)
Você pode adicionar blocos CIDR IPv4
ao endpoint público dos clusters IPv6
antigos que você criou antes de outubro de 2024. Você pode identificar esses clusters pelo endpoint eks.amazonaws.com
. Você não pode adicionar blocos CIDR IPv6
ao endpoint público desses clusters IPv6
antigos que você criou antes de outubro de 2024. Se você tentar, o EKS retornará a seguinte mensagem de erro: The following CIDRs are invalid in publicAccessCidrs
Acessar um servidor de API somente privado
Se tiver desabilitado o acesso público do endpoint do servidor de API do Kubernetes do cluster, você só poderá acessar o servidor de API pela VPC ou por uma rede conectada. Veja a seguir algumas maneiras possíveis de acessar o endpoint do servidor de API do Kubernetes:
- Rede conectada
-
Conecte a sua rede à VPC com um gateway de trânsito da AWS ou outra opção de conectividade e depois use um computador na rede conectada. É necessário garantir que o grupo de segurança do plano de controle do Amazon EKS tenha regras para permitir o tráfego de entrada na porta 443 da rede conectada.
- Bastion host do Amazon EC2
-
Você pode executar uma instância do Amazon EC2 em uma sub-rede pública na VPC do cluster e fazer login via SSH nessa instância para executar os comandos do
kubectl
. Para obter mais informações, consulte Bastion hosts do Linux na AWS. É necessário garantir que o grupo de segurança do plano de controle do Amazon EKS tenha regras para permitir o tráfego de entrada na porta 443 do seu bastion host. Para obter mais informações, consulte Exibir os requisitos para grupos de segurança do Amazon EKS em clusters. Quando você configurar
kubectl
para o bastion host, use credenciais da AWS que já estiverem mapeadas para a configuração do RBAC do cluster ou adicione a entidade principal do IAM que o bastion usará para a configuração do RBAC antes de remover o acesso público ao endpoint. Para obter mais informações, consulte Conceder aos usuários e perfis do IAM acesso às APIs do Kubernetes e Acesso negado ou não autorizado (kubectl). - IDE AWS Cloud9
-
AWS O Cloud9 é um ambiente de desenvolvimento integrado (IDE) baseado em nuvem que permite que você escreva, execute e depure seu código com apenas um navegador. Você pode criar um IDE do AWS Cloud9 na VPC do seu cluster e usar o IDE para se comunicar com o cluster. Para obter mais informações, consulte Criação de um ambiente em AWS Cloud9. É necessário garantir que o grupo de segurança do plano de controle do Amazon EKS contenha regras para permitir o tráfego de entrada na porta 443 do seu grupo de segurança IDE. Para obter mais informações, consulte Exibir os requisitos para grupos de segurança do Amazon EKS em clusters.
Quando você configurar o
kubectl
para o seu AWS Cloud9 IDE, certifique-se de usar as credenciais do AWS que já estão mapeadas na configuração RBAC do cluster ou adicione a entidade principal do IAM que o IDE usará à configuração RBAC antes de remover o acesso público ao endpoint. Para obter mais informações, consulte Conceder aos usuários e perfis do IAM acesso às APIs do Kubernetes e Acesso negado ou não autorizado (kubectl).
📝 Editar esta página no GitHub