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.
Acessar o Amazon EKS usando o AWS PrivateLink
Você pode usar o AWS PrivateLink para criar uma conexão privada entre seu VPC e o Amazon Elastic Kubernetes Service. Você pode acessar o Amazon EKS como se ele estivesse em sua VPC, sem o uso de um gateway de Internet, dispositivo NAT, conexão VPN ou conexão AWS Direct Connect. As instâncias na VPC não precisam de endereços IP públicos para acessar o Amazon EKS.
Você estabelece essa conexão privada criando um endpoint de interface alimentado pelo AWS PrivateLink. Criaremos um endpoint de interface de rede em cada sub-rede que você habilitar para o endpoint de interface. Essas são interfaces de rede gerenciadas pelo solicitante que servem como ponto de entrada para o tráfego destinado ao Amazon EKS.
Para obter mais informações, consulte Acessar serviços da AWS por meio do AWS PrivateLink no Guia do AWS PrivateLink.
Antes de começar
Antes de começar, certifique-se de ter realizado as seguintes tarefas:
-
Revise Access an AWS service using an interface VPC endpoint no Guia do AWS PrivateLink
Considerações
-
Suporte e limitações: os endpoints da interface do Amazon EKS permitem acesso seguro a todas as ações da API do Amazon EKS da sua VPC, mas vêm com limitações específicas: eles não oferecem suporte ao acesso às APIs do Kubernetes, pois estas têm um endpoint privado separado. Você não pode configurar o Amazon EKS para ser acessível somente por meio do endpoint da interface. O endpoint de descoberta do OIDC do cluster e o endpoint JWKS usados pelos perfis do IAM para contas de serviço (IRSA) também são fornecidos por um endpoint de interface separado, com nome de serviço e comportamento de controle de acesso próprios; consulte Acessar o endpoint do OIDC do cluster usando o AWS PrivateLink.
-
Preços: o uso de endpoints de interface para o Amazon EKS gera cobranças padrão do AWS PrivateLink: cobranças por hora para cada endpoint provisionado em cada zona de disponibilidade e cobranças de processamento de dados do tráfego pelo endpoint. Para saber mais, consulte Preço do AWS PrivateLink
. -
Segurança e controle de acesso: recomendamos aprimorar a segurança e controlar o acesso com estas configurações adicionais: use políticas de endpoints da VPC para controlar o acesso ao Amazon EKS por meio do endpoint da interface, associe grupos de segurança a interfaces de rede de endpoints para gerenciar tráfego e use logs de fluxo da VPC para capturar e monitorar o tráfego IP de e para os endpoints da interface, com logs publicáveis no Amazon CloudWatch ou no Amazon S3. Para saber mais, consulte Control access to VPC endpoints using endpoint policies e Como registrar tráfego IP em log com logs de fluxo da VPC.
-
Opções de conectividade: os endpoints de interface oferecem opções flexíveis de conectividade usando acesso on-premises (conecte seu data center on-premises a uma VPC com o endpoint de interface usando o AWS Direct Connect ou o AWS Site-to-Site VPN) ou via conectividade entre VPCs (use o AWS Transit Gateway ou o emparelhamento da VPC para conectar outras VPCs à VPC com o endpoint de interface, mantendo o tráfego na rede da AWS).
-
Suporte para a versão IP: endpoints criados antes de agosto de 2024 são compatíveis somente com o IPv4 usando eks.region.amazonaws.com. Novos endpoints criados após agosto de 2024 são compatíveis com o IPv4 e IPv6 de pilha dupla (por exemplo, eks.region.amazonaws.com, eks.region.api.aws).
-
Disponibilidade regional: o AWS PrivateLink para a API do EKS não está disponível nas regiões Ásia-Pacífico (Malásia) (ap-southeast-5), Ásia-Pacífico (Tailândia) (ap-southeast-7), México (Centro) (mx-central-1) e Ásia-Pacífico (Taipei) (ap-east-2). O suporte do AWS PrivateLink para o eks-auth (Identidade de Pods do EKS) está disponível na região Ásia-Pacífico (Malásia) (ap-southeast-5). AWS O PrivateLink para o endpoint do OIDC do cluster (
com.amazonaws.region-code.oidc-eks) está disponível na maioria das regiões da AWS.
Criar um endpoint de interface de VPC para o Amazon EKS
Você pode criar um endpoint de interface para o Amazon EKS usando o console do Amazon VPC ou a interface de linha de comando AWS (AWS CLI). Para obter mais informações, consulte Criar um endpoint VPC no AWS PrivateLink Guide.
Crie um endpoint de interface para o Amazon EKS usando os seguintes nomes de serviço:
API do EKS
-
com.amazonaws.region-code.eks
-
com.amazonaws.region-code.eks-fips (para endpoints compatíveis com FIPS)
API de autenticação do EKS (Identidade de Pods do EKS)
-
com.amazonaws.region-code.eks-auth
Endpoint do OIDC do cluster do EKS (descoberta do IRSA/JWKS)
-
com.amazonaws.region-code.oidc-eks
Esse endpoint tem um comportamento de controle de acesso diferente dos endpoints da API do EKS. Para obter mais informações, consulte Acessar o endpoint do OIDC do cluster usando o AWS PrivateLink.
Recurso de DNS privado para endpoints de interface do Amazon EKS
O recurso de DNS privado, habilitado por padrão para endpoints de interface do Amazon EKS e outros serviços da AWS, viabiliza solicitações de API seguras e privadas usando nomes de DNS regionais padrão. Esse recurso garante que as chamadas de API sejam roteadas pelo endpoint de interface pela rede privada da AWS, aprimorando a segurança e a performance.
O recurso de DNS privado é ativado automaticamente quando você cria um endpoint de interface para o Amazon EKS ou outros serviços da AWS. Para habilitar, você precisa configurar sua VPC corretamente definindo atributos específicos:
-
enableDnsHostnames: permite que as instâncias dentro da VPC tenham nomes de host DNS.
-
enableDnsSupport: habilita a resolução de DNS em toda a VPC.
Para obter instruções passo a passo para verificar ou modificar essas configurações, consulte Visualizar e atualizar atributos de DNS para sua VPC.
Nomes de DNS e tipos de endereço IP
Com o recurso de DNS privado habilitado, você pode usar nomes DNS específicos para se conectar ao Amazon EKS, e essas opções evoluem com o tempo:
-
eks.region.amazonaws.com: o nome DNS tradicional, resolvido apenas para endereços IPv4 antes de agosto de 2024. Para endpoints existentes atualizados para pilha dupla, esse nome resolve para endereços IPv4 e IPv6.
-
eks.region.api.aws: disponível para novos endpoints criados após agosto de 2024, esse nome DNS de pilha dupla resolve para endereços IPv4 e IPv6.
Depois de agosto de 2024, os novos endpoints de interface vêm com dois nomes DNS, e você pode optar pelo tipo de endereço IP de pilha dupla. Para endpoints existentes, a atualização para pilha dupla modifica eks.region.amazonaws.com para ser compatível tanto com IPv4 quanto com IPv6.
Como usar o recurso DNS privado
Depois de configurado, o recurso de DNS privado pode ser integrado aos seus fluxos de trabalho, oferecendo os seguintes recursos:
-
Solicitações de API: use os nomes DNS regionais padrão,
eks---region.amazonaws.com.rproxy.goskope.comoueks.region.api.aws, com base na configuração do seu endpoint para fazer solicitações de API para o Amazon EKS. -
Compatibilidade de aplicações: suas aplicações existentes que chamam as APIs do EKS não precisam de alterações para aproveitar esse recurso.
-
AWS CLI com pilha dupla: para usar os endpoints de pilha dupla com a AWS CLI, consulte a configuração de endpoints de pilha dupla e FIPS no Guia de referência de ferramentas e SDKs da AWS.
-
Roteamento automático: qualquer chamada para o endpoint de serviço padrão do Amazon EKS é automaticamente direcionada pelo endpoint de interface, garantindo conectividade privada e segura.
Acessar o endpoint do OIDC do cluster usando o AWS PrivateLink
Cada cluster do Amazon EKS publica um documento público de descoberta do OpenID Connect (OIDC) e o JSON Web Key Set (JWKS) em seu URL de emissor do OIDC. Os perfis do IAM para contas de serviço (IRSA) usam esse endpoint para publicar as chaves de assinatura pública do cluster. As ferramentas que configuram o IRSA ou validam tokens recuperam diretamente as chaves desse endpoint.
Você pode usar o AWS PrivateLink para acessar esse endpoint do OIDC de forma privada em sua VPC, sem saída para a internet. Isso é útil para VPCs privadas ou sem saída, em que as ferramentas na VPC precisam acessar o endpoint do OIDC, por exemplo, criando o provedor de identidades IAM OIDC do cluster (o eksctl, o Terraform ou a AWS CLI) ou executando seus próprios validadores de token dentro da VPC. Anteriormente, acessar esse endpoint exigia acesso à internet ou soluções alternativas de DNS (consulte containers-roadmap#2038
Criar um endpoint de interface para o endpoint do OIDC do cluster usando o seguinte nome de serviço:
-
com.amazonaws.region-code.oidc-eks
Considerações
-
Este endpoint não é compatível com as políticas de endpoints da VPC. A descoberta do OIDC e os documentos do JWKS são fornecidos anonimamente. Isso é exigido pela especificação do OpenID Connect e é assim que o IRSA funciona: os validadores buscam chaves públicas sem apresentar credenciais. Como as requisições não têm nenhuma entidade principal ou ação do IAM, uma política de endpoint da VPC não tem elementos para avaliar. Esse endpoint aceita somente a política padrão de acesso total. Controle quem pode acessar o endpoint com os grupos de segurança nas interfaces de rede do endpoint e com o roteamento de sub-rede.
-
A conectividade privada não é um limite de autorização. Acessar o endpoint do OIDC pelo AWS PrivateLink mantém esse tráfego na rede da AWS: ele não controla, por si só, quem pode assumir um perfil do IAM. Os dados fornecidos são material de chave pública. A política de confiança do perfil assumido impõe a autorização do IRSA, não o caminho de rede usado para acessar o endpoint do OIDC. Essa imposição acontece quando uma workload chama
sts:AssumeRoleWithWebIdentity. Controle quais workloads podem assumir um perfil com as condiçõesaudesubna política de confiança do perfil; consulte Atribuir perfis do IAM às contas de serviço do Kubernetes. -
O AWS STS valida os tokens em seu próprio caminho. Esse endpoint não afeta a forma como o AWS STS valida os tokens IRSA. Quando uma workload chama
AssumeRoleWithWebIdentity, o STS busca o JWKS do cluster da AWS, não por meio de sua VPC ou desse endpoint. Criar esse endpoint ou substituir o DNS do OIDC em sua VPC não altera a validação do token. Para também manter a chamadaAssumeRoleWithWebIdentityda workload privada, crie um endpoint de interface do AWS STS e configure o endpoint regional do STS separadamente; consulte Configurar o endpoint do AWS Security Token Service para uma conta de serviço. -
Preços: aplicam-se as cobranças padrão do AWS PrivateLink. Consulte Preços do AWS PrivateLink
.
DNS privado e nomes de pilha dupla
Cada cluster tem um nome de host do emissor do OIDC, determinado pela família IP do cluster. Os clusters IPv4, que são o padrão, usam oidc.eks.region-code.amazonaws.com. Os clusters IPv6 usam o nome de host de pilha dupla oidc-eks.region-code.api.aws, que resolve para endereços IPv4 e IPv6. Nas regiões AWS China, o nome de host de pilha dupla é oidc-eks---region-code---api.amazonwebservices.com.rproxy.goskope.com.cn.
O endpoint da interface registra os dois nomes de host. Com o DNS privado habilitado (o padrão), cada nome de host resolve para o endpoint da interface. Portanto, o URL do emissor do seu cluster é resolvido para o endpoint independentemente de o cluster usar o nome de host oidc.eks.region-code.amazonaws.com ou o nome de host de pilha dupla. Um cliente que segue o URL do emissor de um token para buscar o documento de descoberta e o JWKS acessa o endpoint de forma privada em ambos os casos.