2개의 EKS 클러스터를 Transit Gateway로 연결한 상황에서, 각각의 퍼블릭 및 프라이빗 API 엔드포인트가 있고 ArgoCD가 private endpoint를 제대로 가져오지 못하는 문제가 있습니다. 전문가 분들의 조언이나 가이드 부탁드려요.
멀티 EKS 클러스터를 Transit Gateway를 사용해서 Hub and Spoke 로 네트워크를 연결한 상태에서 Private 통신 구간으로 ArgoCD 인스턴스 대상 클러스터로 연결 하려는 것으로 이해 했습니다. EKS 클러스터의 Public/Private 엔드포인트 활성화 상태에서 private API 엔드포인트로 당연히 인터페이스 방식의 VPC Endpoint(eks) 를 생성하고 생성된 엔드포인트를 사용했거라 생각됩니다.
ArgoCD인스턴스에서 private endpoint가 호출 하지 못하는 문제에 대해 제가 생각하는 체크 포인트는 다음과 같습니다.
1) 계정간 or VPC간 Transit Gateway를 통해 네트워크 확인
- 네트워크 레벨 통신 확인 (TGW 라우팅, Subnet 라우팅, NCAL) 점검
2) 생성된 VPC Endpoint(eks)에서 정책 및 보안 그룹 확인
- VPC 엔드포인트 정책
- ENI 보안 그룹
위에 1), 2) 에서 네트워크 문제가 없다면 ArgoCD와 클러스터간 인증이 정상적으로 수행되지 않는 경우 일 것 같습니다.
ArgoCD 인스턴스에서 멀티 EKS 클러스터를 추가 위해 a) Argocd CLI 를 사용하거나 b) 쿠버네티스 Secrets, Role/RoleBind 오브젝트를 수동 구성 2지가 존재합니다.
네트워크에서 문제 식별이 어렵다면 VPC Flow log, Transit Gateway Flow log를 분석해서 어느 구간에서 통신이 안되는지 추가로 확인해보면 좋을 것 같습니다.
@sepiros62 자세한 안내 감사드립니다!! VPC Flow log , Transit Gateway Flow log 로 네트워크 상태 확인했고,
kubectl로는 접근 되는 걸 보니 네트워크 및 인증 문제는 없는 것 같습니다. 주말 잘 보내세요!
@hhchang0808 님! AgroCD CLI와 함께, Flux CD도 함께 참고하세요. GitOps Toolkit 2025 : Argo CD vs Flux CD, 당신의 선택은?
@sepiros62 조언 답장에 감사합니다. ![]()
[CloudBro AI Bot Response]
ArgoCD 컨트롤러가 EKS 퍼블릭 엔드포인트에 접근하지 못하는 주요 원인은 다음과 같습니다.
- 네트워크 접근 제어(Access Control):
EKS 퍼블릭 엔드포인트는 기본적으로 AWS VPC의 보안 그룹(Security Group)과 네트워크 ACL(Network ACL)로 접근이 제한될 수 있습니다. 만약 ArgoCD 컨트롤러가 설치된 환경(예: 별도의 VPC나 외부 클러스터)에서 EKS 엔드포인트로의 인바운드/아웃바운드 트래픽이 허용되지 않으면 접근이 불가능합니다. - IAM 인증 및 권한 문제:
EKS API 서버에 접근하려면 적절한 IAM Role 또는 User 권한이 필요합니다. ArgoCD가 사용하는 ServiceAccount 또는 IAM Role이 eks:DescribeCluster, eks:ListClusters 등 필수 권한을 가지고 있는지 확인해야 합니다. - API 서버 인증서 및 네트워크 정책:
EKS API 엔드포인트는 인증서 기반 HTTPS 통신을 요구하며, 올바른 kubeconfig와 인증 정보가 없으면 연결이 거부됩니다. 또한, 클러스터에 네트워크 정책(Network Policy)이 적용되어 있을 경우, 외부에서의 접근이 원천적으로 차단될 수 있습니다. - 퍼블릭 엔드포인트 설정:
EKS 클러스터 생성 시 퍼블릭 액세스(Public Access) 설정이 비활성화되어 있거나, 특정 IP만 허용하도록 제한되어 있다면 ArgoCD 컨트롤러가 접근 불가할 수 있습니다. AWS 콘솔에서 EKS 클러스터의 API 서버 액세스 설정을 확인하세요.
해결 방법:
- EKS 클러스터의 퍼블릭 엔드포인트가 열려 있는지, 그리고 ArgoCD 컨트롤러가 설치된 위치의 IP가 허용 목록에 포함되어 있는지 확인하세요.
- ArgoCD 컨트롤러의 ServiceAccount에 적절한 AWS IAM Role이 연결되어 있는지 확인하세요.
- kubeconfig 파일이 올바르게 설정되어 있는지, 그리고 인증 정보가 최신인지 점검하세요.
- 네트워크 보안 그룹/방화벽 규칙을 점검하여 필요한 포트(기본적으로 443)가 열려 있는지 확인하세요.
추가적으로, Flux CD와 비교할 때도 비슷한 네트워크 및 권한 이슈가 발생할 수 있으니, 두 툴 모두 동일한 클러스터 접근 정책을 적용하는 것이 좋습니다.
혹시 추가적으로 로그나 에러 메시지가 있다면 공유해주시면 더 구체적으로 도와드릴 수 있습니다!
내부적으로 Flux CD도 한번 검토해보겠습니다. 정보 감사합니다.