View a markdown version of this page

Configurar o acesso privado ao endpoint para o Argo CD - Amazon EKS

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.

Configurar o acesso privado ao endpoint para o Argo CD

Por padrão, você pode acessar o endpoint do Argo CD pela internet pública. Você pode configurar o acesso privado ao endpoint para que o tráfego entre sua VPC e o endpoint do Argo CD permaneça na rede da AWS, sem passar pela internet pública.

Quando você habilita o acesso privado, a AWS atualiza o Sistema de Nomes de Domínio (DNS) para que o nome de host do endpoint do Argo CD seja resolvido para endereços IP privados associados ao seu endpoint da VPC. Você deve ter conectividade de rede com esses IPs privados (por meio de sua VPC, uma conexão de rede privada virtual (VPN), ou do AWS Direct Connect) para acessar o endpoint do Argo CD.

Como o acesso privado funciona

Quando você configura o acesso privado para sua capacidade do Argo CD:

  1. Você pode criar um endpoint da VPC para o serviço com.amazonaws.region-code.eks-capabilities na sua VPC.

  2. Você fornece o ID do endpoint da VPC ao criar ou atualizar a capacidade do Argo CD.

  3. A AWS configura registros DNS para que o nome de host do endpoint do Argo CD seja resolvido para endereços IP privados associados ao seu endpoint da VPC.

  4. Todo o tráfego para o endpoint do Argo CD flui de forma privada pelo endpoint da VPC.

Pré-requisitos

  • Um cluster do Amazon Elastic Kubernetes Service (Amazon EKS) com uma capacidade ativa do Argo CD (consulte Criar um recurso Argo CD)

  • Familiaridade com conceitos da Amazon VPC, incluindo sub-redes, grupos de segurança e endpoints de interface da VPC

  • Uma VPC com sub-redes nas zonas de disponibilidade onde você deseja acesso privado

  • AWS Command Line Interface (AWS CLI), versão 2.12.3 ou posterior

Etapa 1: criar um endpoint da VPC para eks-capabilities

Criar uma interface de endpoint da VPC para o serviço com.amazonaws.region-code.eks-capabilities.

Console
  1. Abra o console da Amazon VPC.

  2. No painel de navegação à esquerda, escolha Endpoints.

  3. Escolha Criar endpoint.

  4. Em Categoria do serviço, escolha Serviços da AWS.

  5. No campo de pesquisa, insira eks-capabilities e selecione com.amazonaws.region-code.eks-capabilities.

  6. Em VPC, selecione a VPC da qual você acessará o endpoint do Argo CD.

  7. Em Sub-redes, selecione uma sub-rede em cada zona de disponibilidade onde você deseja acesso privado.

  8. Em Grupos de segurança, selecione um grupo de segurança que permita tráfego de entrada HTTPS (porta 443) das suas redes de cliente.

  9. Escolha Criar endpoint.

  10. Observe o ID do endpoint da VPC (por exemplo, vpce-0123456789abcdef0).

CLI

Substitua region-code pela sua região da AWS, vpc-id pelo seu ID da VPC, subnet-id-1 subnet-id-2 pelos IDs de sub-rede em diferentes zonas de disponibilidade e sg-id por um grupo de segurança que permita tráfego de entrada HTTPS.

aws ec2 create-vpc-endpoint \ --region region-code \ --vpc-endpoint-type Interface \ --service-name com.amazonaws.region-code.eks-capabilities \ --vpc-id vpc-id \ --subnet-ids subnet-id-1 subnet-id-2 \ --security-group-ids sg-id

Observe o VpcEndpointId na resposta.

Importante

Verifique se o grupo de segurança anexado ao endpoint da VPC permite tráfego HTTPS de entrada (porta 443). A origem do tráfego deve incluir todas as redes em que seus usuários ou aplicações acessam o endpoint do Argo CD.

Etapa 2: configurar acesso privado na capacidade do Argo CD

Depois que o endpoint da VPC estiver disponível, configure a capacidade do Argo CD para usá-lo. Você pode configurar o acesso privado ao criar uma nova capacidade ou ao atualizar uma existente.

Criar uma nova capacidade com acesso privado

Inclua o networkAccess no comando create-capability. Substitua region-code, my-cluster e outros espaços reservados pelos seus valores:

aws eks create-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-argocd \ --type ARGOCD \ --role-arn arn:aws:iam::111122223333:role/ArgoCDCapabilityRole \ --configuration '{ "argoCd": { "awsIdc": { "idcInstanceArn": "arn:aws:sso:::instance/ssoins-1234567890abcdef", "idcRegion": "idc-region-code" }, "rbacRoleMappings": [{ "role": "ADMIN", "identities": [{ "id": "user-id", "type": "SSO_USER" }] }], "networkAccess": { "vpceIds": ["vpce-0123456789abcdef0"] } } }'

Atualizar uma capacidade existente para habilitar o acesso privado

Substitua region-code, my-cluster, my-argocd e o ID do endpoint da VPC pelos seus valores:

aws eks update-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-argocd \ --configuration '{ "argoCd": { "networkAccess": { "vpceIds": ["vpce-0123456789abcdef0"] } } }'

Aguarde até que a atualização da capacidade seja concluída:

aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-argocd \ --query 'capability.status' \ --output text

O status retornará para ACTIVE quando a atualização estiver concluída.

Etapa 3: verificar a resolução e a conectividade do DNS

Depois que a capacidade se tornar ativa com o acesso privado configurado, verifique se o nome do host do endpoint do Argo CD é resolvido para endereços IP privados.

Execute o seguinte comando em nslookup qualquer rede:

nslookup your-argocd-endpoint.eks-capabilities.region-code.amazonaws.com

A resposta deve mostrar endereços IP privados (por exemplo, endereços em intervalos RFC 1918, como 10.x.x.x ou 172.16.x.x).

Se o endpoint não resolver para IPs privados, verifique se:

  • O status da capacidade é ACTIVE (a AWS cria registros de DNS depois que a capacidade se torna ativa)

  • O endpoint da VPC está no estado available

  • O ID do endpoint da VPC na configuração da capacidade corresponde ao endpoint que você criou

nota

Depois de configurar o acesso privado, o nome do host do endpoint do Argo CD é resolvido para endereços IP privados. Para se conectar, você deve ter conectividade de rede com esses IPs privados por meio de sua VPC, de uma conexão VPN ou do AWS Direct Connect.

Desabilitar o acesso privado

Para desabilitar o acesso privado e restaurar o acesso ao endpoint público, atualize a capacidade para remover os IDs do endpoint da VPC:

aws eks update-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-argocd \ --configuration '{ "argoCd": { "networkAccess": { "vpceIds": [] } } }'

Considerações

  • Depois de habilitar o acesso privado, o endpoint do Argo CD será acessível apenas de dentro da sua VPC ou de redes conectadas a ela (por exemplo, por meio da VPN ou do AWS Direct Connect).

  • O endpoint da VPC deve permanecer no estado available para que o acesso privado funcione. Se você excluir o endpoint da VPC, perderá o acesso ao endpoint do Argo CD até criar um novo endpoint e atualizar a capacidade.

  • A AWS atualmente não oferece suporte às políticas de endpoint da VPC para o endpoint do serviço eks-capabilities.