이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
Argo CD에 대한 프라이빗 엔드포인트 액세스 구성
기본적으로 퍼블릭 인터넷을 통해 Argo CD 엔드포인트에 액세스할 수 있습니다. VPC와 Argo CD 엔드포인트 간의 트래픽이 퍼블릭 인터넷을 통하지 않고 AWS 네트워크 내에 유지되도록 프라이빗 엔드포인트 액세스를 구성할 수 있습니다.
프라이빗 액세스를 활성화하면 AWS는 Argo CD 엔드포인트 호스트 이름이 VPC 엔드포인트와 연결된 프라이빗 IP 주소로 확인되도록 도메인 이름 시스템(DNS)을 업데이트합니다. Argo CD 엔드포인트에 액세스하려면 이러한 프라이빗 IP에 대한 네트워크 연결(VPC, 가상 프라이빗 네트워크(VPN) 연결 또는 AWS Direct Connect를 통해)이 있어야 합니다.
프라이빗 액세스 작동 방식
Argo CD 기능에 대한 프라이빗 액세스를 구성하는 경우:
-
VPC에서
com.amazonaws.region-code.eks-capabilities서비스용 VPC 엔드포인트를 생성합니다. -
Argo CD 기능을 생성하거나 업데이트할 때 VPC 엔드포인트 ID를 제공합니다.
-
AWS는 Argo CD 엔드포인트 호스트 이름이 VPC 엔드포인트와 연결된 프라이빗 IP 주소로 확인되도록 DNS 레코드를 구성합니다.
-
Argo CD 엔드포인트에 대한 모든 트래픽은 VPC 엔드포인트를 통해 비공개로 흐릅니다.
사전 조건
-
활성 Argo CD 기능이 포함된 Amazon Elastic Kubernetes Service(Amazon EKS) 클러스터(Argo CD 기능 생성 참조)
-
서브넷, 보안 그룹, 인터페이스 VPC 엔드포인트를 포함한 Amazon VPC 개념에 대한 지식
-
프라이빗 액세스가 필요한 가용 영역에 서브넷이 있는 VPC
-
AWS Command Line Interface(AWS CLI) 버전
2.12.3이상
1단계: eks-capabilities용 VPC 엔드포인트 생성
com.amazonaws.region-code.eks-capabilities 서비스용 인터페이스 VPC 엔드포인트를 생성합니다.
중요
VPC 엔드포인트에 연결된 보안 그룹이 인바운드 HTTPS(포트 443) 트래픽을 허용하는지 확인합니다. 트래픽 소스에는 사용자 또는 애플리케이션이 Argo CD 엔드포인트에 액세스하는 네트워크가 모두 포함되어야 합니다.
2단계: Argo CD 기능에 대한 프라이빗 액세스 구성
VPC 엔드포인트를 사용할 수 있게 되면 이를 사용하도록 Argo CD 기능을 구성합니다. 새 기능을 생성할 때 또는 기존 기능을 업데이트하여 프라이빗 액세스를 구성할 수 있습니다.
프라이빗 액세스를 허용하는 새 기능 생성
create-capability 명령에 networkAccess를 포함합니다. region-code, my-cluster 및 기타 자리 표시자를 해당 값으로 바꿉니다.
aws eks create-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-argocd \ --type ARGOCD \ --role-arnarn: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"] } } }'
기존 기능을 업데이트하여 프라이빗 액세스 활성화
region-code, my-cluster, my-argocd 및 VPC 엔드포인트 ID를 해당 값으로 바꿉니다.
aws eks update-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-argocd\ --configuration '{ "argoCd": { "networkAccess": { "vpceIds": ["vpce-0123456789abcdef0"] } } }'
기능 업데이트가 완료될 때까지 기다립니다.
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-argocd\ --query 'capability.status' \ --output text
업데이트가 완료되면 상태가 ACTIVE로 돌아옵니다.
3단계: DNS 확인 및 연결 확인
프라이빗 액세스가 구성된 상태에서 기능이 활성화되면 Argo CD 엔드포인트 호스트 이름이 프라이빗 IP 주소로 확인되는지 확인합니다.
모든 네트워크에서 다음 nslookup 명령을 실행합니다.
nslookupyour-argocd-endpoint.eks-capabilities.region-code.amazonaws.com
응답에 프라이빗 IP 주소(예: 10.x.x.x 또는 172.16.x.x와 같은 RFC 1918 범위의 주소)가 표시되어야 합니다.
엔드포인트가 프라이빗 IP로 확인되지 않는 경우 다음을 확인합니다.
-
기능 상태가
ACTIVE임(AWS 기능이 활성화되면 DNS 레코드를 생성) -
VPC 엔드포인트가
available상태임 -
기능 구성의 VPC 엔드포인트 ID가 생성한 엔드포인트와 일치함
참고
프라이빗 액세스를 구성하면 Argo CD 엔드포인트 호스트 이름이 프라이빗 IP 주소로 확인됩니다. 연결하려면 VPC, VPN 연결 또는 AWS Direct Connect를 통해 프라이빗 IP에 대한 네트워크 연결이 있어야 합니다.
프라이빗 액세스 비활성화
프라이빗 액세스를 비활성화하고 퍼블릭 엔드포인트 액세스를 복원하려면 VPC 엔드포인트 ID를 제거하도록 기능을 업데이트합니다.
aws eks update-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-argocd\ --configuration '{ "argoCd": { "networkAccess": { "vpceIds": [] } } }'
고려 사항
-
프라이빗 액세스를 활성화한 후에는 VPC 또는 연결된 네트워크 내에서만 Argo CD 엔드포인트에 연결할 수 있습니다(예: VPN 또는 AWS Direct Connect를 통해).
-
프라이빗 액세스가 작동하려면 VPC 엔드포인트가
available상태를 유지해야 합니다. VPC 엔드포인트를 삭제하면 새 엔드포인트를 생성하고 기능을 업데이트할 때까지 Argo CD 엔드포인트에 액세스할 수 없습니다. -
AWS는 현재
eks-capabilities서비스 엔드포인트에 대한 VPC 엔드포인트 정책을 지원하지 않습니다.