Desafio 7: Cross-account Deployments via Access Entries
Configurar o ArgoCD EKS Capability em uma conta AWS (hub) para fazer deploy de aplicações em um cluster EKS em outra conta AWS (spoke), sem usar IRSA nem role chaining.
Em arquiteturas multi-conta, o padrão tradicional para o ArgoCD self-managed acessar clusters em outras contas envolve IRSA, trust policies entre contas, e role assumption chains - configuração complexa e propensa a erros.
O EKS Capabilities simplifica radicalmente isso. Como o ArgoCD roda no control plane da AWS, o acesso cross-account é feito diretamente via EKS Access Entries: você adiciona o ARN da IAM Capability Role da conta hub como principal no cluster da conta spoke. Sem VPC peering, sem Transit Gateway, sem role chaining.
O ArgoCD gerencia a conectividade automaticamente - inclusive para clusters com API endpoint privado.
- Conta A (hub): cluster EKS com ArgoCD Capability habilitado
- Conta B (spoke): cluster EKS alvo do deploy
- Access Entry no cluster spoke autorizando a Capability Role da conta hub
- Cluster spoke registrado no ArgoCD via Secret com o ARN do cluster
- Deploy de uma aplicação no cluster spoke validado via UI
Configure o Access Entry na conta spoke e registre o cluster no ArgoCD da conta hub. Faça o deploy de uma aplicação e valide que ela está rodando no cluster da conta B.
Dica: O Access Entry usa o ARN da Capability Role da conta hub como principal. Para produção, evite AmazonEKSClusterAdminPolicy - crie uma policy customizada com apenas as permissões necessárias para o ArgoCD deployar nos namespaces alvo.
- Configurar Access Entries com ClusterRole customizado por namespace para least-privilege real em produção
- Usar AWS Organizations para automatizar a criação de Access Entries em novos clusters spoke
- Combinar com o desafio de Fleet Management para ver como cross-account funciona em escala