이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
AWS PrivateLink를 사용하여 Amazon EKS에 액세스
AWS 프라이빗 링크를 사용하여 VPC와 Amazon Elastic Kubernetes Service 사이에 프라이빗 연결을 생성할 수 있습니다. 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect를 사용하지 않고 VPC에 있는 것처럼 Amazon EKS에 액세스할 수 있습니다. VPC의 인스턴스에서 Amazon EKS에 액세스하는 데 퍼블릭 IP 주소가 필요하지 않습니다.
AWS 프라이빗 링크에서 제공되는 인터페이스 엔드포인트를 생성하여 이 프라이빗 연결을 설정합니다. 인터페이스 엔드포인트에 대해 사용 설정하는 각 서브넷에서 엔드포인트 네트워크 인터페이스를 생성합니다. 이는 Amazon EKS로 향하는 트래픽의 진입점 역할을 하는 요청자 관리형 네트워크 인터페이스입니다.
자세한 내용은 AWS PrivateLink 가이드의 AWS PrivateLink를 통한 AWS 서비스 액세스를 참조하세요.
시작하기 전 준비 사항
시작하기 전에 다음 태스크를 수행했는지 확인합니다.
-
AWS PrivateLink 가이드의 인터페이스 VPC 엔드포인트를 사용하여 AWS 서비스에 액세스 검토
고려 사항
-
지원 및 제한 사항: Amazon EKS 인터페이스 엔드포인트를 사용하면 VPC에서 모든 Amazon EKS API 작업에 안전하게 액세스할 수 있지만 특정 제한 사항이 있습니다. 별도의 프라이빗 엔드포인트가 있으므로 Kubernetes API에 대한 액세스를 지원하지 않으며, 인터페이스 엔드포인트를 통해서만 액세스할 수 있도록 Amazon EKS를 구성할 수 없습니다. 서비스 계정용 IAM 역할(IRSA)에서 사용하는 클러스터 OIDC 검색 및 JWKS 엔드포인트는 자체 서비스 이름 및 액세스 제어 동작이 있는 별도의 인터페이스 엔드포인트에서도 제공됩니다. AWS PrivateLink를 사용하여 클러스터 OIDC 엔드포인트에 액세스 섹션을 참조하세요.
-
요금: Amazon EKS에 인터페이스 엔드포인트를 사용하면 표준 AWS PrivateLink 요금이 발생합니다. 즉, 각 가용 영역에 프로비저닝된 각 엔드포인트에 대한 시간당 요금, 엔드포인트를 통과하는 트래픽에 대한 데이터 처리 요금이 발생합니다. 자세히 알아보려면 AWS PrivateLink 요금
을 참조하세요. -
보안 및 액세스 제어: VPC 엔드포인트 정책을 사용하여 인터페이스 엔드포인트를 통해 Amazon EKS에 대한 액세스를 제어하고, 보안 그룹을 엔드포인트 네트워크 인터페이스와 연결하여 트래픽을 관리하고, VPC 흐름 로그를 사용하여 인터페이스 엔드포인트와 주고받는 IP 트래픽을 캡처 및 모니터링하고, Amazon CloudWatch 또는 Amazon S3에 로그를 게시하는 등의 추가 구성으로 보안을 강화하고 액세스를 제어하는 것이 좋습니다. 자세한 내용은 Control access to VPC endpoints using endpoint policies와 VPC 흐름 로그를 사용하여 IP 트래픽 로깅을 참조하세요.
-
연결 옵션: 인터페이스 엔드포인트는 온프레미스 액세스(AWS Direct Connect 또는 AWS Site-to-Site VPN을 사용하여 인터페이스 엔드포인트가 있는 VPC에 온프레미스 데이터 센터 연결) 또는 VPC 간 연결(AWS Transit Gateway 또는 VPC 피어링을 사용하여 인터페이스 엔드포인트가 있는 VPC에 다른 VPC 연결 및 AWS 네트워크 내에 트래픽 유지)을 사용하여 유연한 연결 옵션을 제공합니다.
-
IP 버전 지원: 2024년 8월 이전에 생성된 엔드포인트는 eks.region.amazonaws.com을 사용하여 IPv4만 지원합니다. 2024년 8월 이후에 생성된 새 엔드포인트는 이중 스택 IPv4 및 IPv6(예: eks.region.amazonaws.com, eks.region.api.aws)를 지원합니다.
-
리전별 가용성: 아시아 태평양(말레이시아)(ap-southeast-5), 아시아 태평양(태국)(ap-southeast-7), 멕시코(중부)(mx-central-1) 및 아시아 태평양(타이페이)(ap-east-2) 리전에서는 EKS API용 AWS PrivateLink를 사용할 수 없습니다. AWS eks-auth(EKS Pod Identity)에 대한 PrivateLink 지원은 아시아 태평양(말레이시아)(ap-southeast-5) 리전에서 사용할 수 있습니다. AWS 클러스터 OIDC 엔드포인트(
com.amazonaws.region-code.oidc-eks)용 PrivateLink는 대부분의 AWS 리전에서 사용할 수 있습니다.
Amazon EKS용 인터페이스 엔드포인트 생성
Amazon VPC 콘솔 또는 AWS 명령줄 인터페이스(AWS CLI)를 사용하여 Amazon EKS의 인터페이스 엔드포인트를 생성할 수 있습니다. 자세한 정보는 AWS 프라이빗 링크 가이드의 VPC 엔드포인트 생성을 참조하세요.
다음과 같은 서비스 이름을 사용하여 Amazon EKS의 인터페이스 엔드포인트를 생성합니다.
EKS API
-
com.amazonaws.region-code.eks
-
com.amazonaws.region-code.eks-fips(FIPS 준수 엔드포인트용)
EKS 인증 API(EKS Pod Identity)
-
com.amazonaws.region-code.eks-auth
EKS 클러스터 OIDC 엔드포인트(IRSA 검색/JWKS)
-
com.amazonaws.region-code.oidc-eks
이 엔드포인트에는 EKS API 엔드포인트와 다른 액세스 제어 동작이 있습니다. 자세한 내용은 AWS PrivateLink를 사용하여 클러스터 OIDC 엔드포인트에 액세스 섹션을 참조하세요.
Amazon EKS 인터페이스 엔드포인트를 위한 프라이빗 DNS 기능
Amazon EKS와 기타 AWS 서비스의 인터페이스 엔드포인트에 대해 기본적으로 활성화된 프라이빗 DNS 기능은 기본 리전 DNS 이름을 사용하여 안전한 프라이빗 API 요청을 용이하게 합니다. 이 기능을 사용하면 API 직접 호출이 프라이빗 AWS 네트워크를 통해 인터페이스 엔드포인트로 라우팅되어 보안과 성능이 향상됩니다.
Amazon EKS 또는 기타 AWS 서비스에 대한 인터페이스 엔드포인트를 생성하면 프라이빗 DNS 기능이 자동으로 활성화됩니다. 활성화하려면 특정 속성을 설정하여 VPC를 올바르게 구성해야 합니다.
-
enableDnsHostnames: VPC 내의 인스턴스가 DNS 호스트 이름을 가질 수 있도록 허용합니다.
-
enableDnsSupport: VPC 전체에서 DNS 확인을 활성화합니다.
이러한 설정을 확인하거나 수정하는 단계별 지침은 VPC에 대한 DNS 속성 보기 및 업데이트를 참조하세요.
DNS 이름 및 IP 주소 유형
프라이빗 DNS 기능을 활성화하면 특정 DNS 이름을 사용하여 Amazon EKS에 연결할 수 있으며, 이러한 옵션은 시간이 지남에 따라 발전합니다.
-
eks.region.amazonaws.com: 2024년 8월 전에는 IPv4 주소로만 확인되는 기존 DNS 이름입니다. 이중 스택으로 업데이트된 기존 엔드포인트의 경우 이 이름은 IPv4 주소와 IPv6 주소 모두로 확인됩니다.
-
eks.region.api.aws: 2024년 8월 이후에 생성된 새 엔드포인트에 사용할 수 있는 이 이중 스택 DNS 이름은 IPv4 주소와 IPv6 주소 모두로 확인됩니다.
2024년 8월 이후에는 새 인터페이스 엔드포인트에 2개의 DNS 이름이 제공되며, 이중 스택 IP 주소 유형을 선택할 수 있습니다. 기존 엔드포인트의 경우 이중 스택으로 업데이트하면 IPv4와 IPv6를 모두 지원하도록 eks.region.amazonaws.com이 수정됩니다.
프라이빗 DNS 기능 사용
구성이 완료되면 프라이빗 DNS 기능을 워크플로에 통합하여 다음과 같은 기능을 제공할 수 있습니다.
-
API 요청: Amazon EKS에 API 요청을 하려면 엔드포인트 설정에 따라
eks.region.amazonaws.com또는eks.region.api.aws와 같은 기본 리전 DNS 이름을 사용합니다. -
애플리케이션 호환성: EKS API를 직접적으로 호출하는 기존 애플리케이션은 이 기능을 활용하기 위해 변경할 필요가 없습니다.
-
AWS CLI와 이중 스택: AWS CLI와 함께 이중 스택 엔드포인트를 사용하려면 AWS SDK 및 도구 참조 가이드의 이중 스택 및 FIPS 엔드포인트 구성을 참조하세요.
-
자동 라우팅: Amazon EKS 기본 서비스 엔드포인트에 대한 모든 직접 호출은 자동으로 인터페이스 엔드포인트를 통해 전달되어 안전한 프라이빗 연결이 보장됩니다.
AWS PrivateLink를 사용하여 클러스터 OIDC 엔드포인트에 액세스
각 Amazon EKS 클러스터는 OIDC 발급자 URL에 퍼블릭 OpenID Connect(OIDC) 검색 문서와 JSON 웹 키 세트(JWKS)를 게시합니다. 서비스 계정용 IAM 역할(IRSA)은 이 엔드포인트를 사용하여 클러스터의 퍼블릭 서명 키를 게시합니다. IRSA를 설정하거나 토큰을 검증하는 도구는 이 엔드포인트에서 직접 키를 검색합니다.
AWS PrivateLink를 사용하여 인터넷 송신 없이 VPC에서 비공개로 이 OIDC 엔드포인트에 연결할 수 있습니다. 이는 클러스터의 IAM OIDC ID 제공업체(eksctl, Terraform 또는 AWS CLI)를 생성하거나 VPC 내부에서 자체 토큰 검사기를 실행하는 등 VPC 내 도구가 OIDC 엔드포인트에 도달해야 하는 프라이빗 VPC 또는 송신이 없는 VPC에 유용합니다. 이전에는 이 엔드포인트에 도달하기 위해 인터넷 액세스 또는 DNS 해결 방법이 필요했습니다(GitHub의 containers-roadmap#2038
다음 서비스 이름을 사용하여 클러스터 OIDC 엔드포인트에 대한 인터페이스 엔드포인트를 생성합니다.
-
com.amazonaws.region-code.oidc-eks
고려 사항
-
이 엔드포인트는 VPC 엔드포인트 정책을 지원하지 않습니다. OIDC 검색 및 JWKS 문서는 익명으로 제공됩니다. 이는 OpenID Connect 사양에 필요하며 IRSA 작동 방식입니다. 검사기는 자격 증명을 제시하지 않고 퍼블릭 키를 가져옵니다. 요청에 IAM 위탁자 또는 작업이 없으므로 VPC 엔드포인트 정책에는 평가할 사항이 없습니다. 이 엔드포인트는 기본 전체 액세스 정책만 허용합니다. 엔드포인트 네트워크 인터페이스에 대한 보안 그룹과 서브넷 라우팅을 사용하여 엔드포인트에 연결할 수 있는 사용자를 제어합니다.
-
프라이빗 연결은 권한 부여 경계가 아닙니다. AWS PrivateLink를 통해 OIDC 엔드포인트에 도달하면 이 트래픽이 AWS 네트워크에 유지됩니다. 그 자체로는 IAM 역할을 수임할 수 있는 사용자를 제어하지 않습니다. 제공되는 데이터는 퍼블릭 키 구성 요소입니다. 수임된 역할의 신뢰 정책은 OIDC 엔드포인트에 도달하는 데 사용되는 네트워크 경로가 아닌 IRSA 권한 부여를 적용합니다. 이 적용은 워크로드가
sts:AssumeRoleWithWebIdentity를 직접적으로 호출할 때 이루어집니다. 역할의 신뢰 정책에서aud및sub조건으로 역할을 수임할 수 있는 워크로드를 제어합니다. Kubernetes 서비스 계정에 IAM 역할 할당을 참조하세요. -
AWS STS는 자체 경로에서 토큰을 검증합니다. 이 엔드포인트는 AWS STS가 IRSA 토큰을 검증하는 방법에 영향을 주지 않습니다. 워크로드가
AssumeRoleWithWebIdentity를 직접적으로 호출하면 STS는 VPC 또는 이 엔드포인트가 아닌 AWS 내에서 클러스터의 JWKS를 가져옵니다. 이 엔드포인트를 생성하거나 VPC에서 OIDC DNS를 재정의해도 토큰 검증은 변경되지 않습니다. 또한 워크로드의AssumeRoleWithWebIdentity직접 호출을 비공개로 유지하려면 AWS STS 인터페이스 엔드포인트를 생성하고 리전 STS 엔드포인트를 별도로 구성합니다. 서비스 계정에 대한 AWS Security Token Service 엔드포인트 구성을 참조하세요. -
요금: 표준 AWS PrivateLink 요금이 적용됩니다. AWS PrivateLink 요금
을 참조하세요.
프라이빗 DNS 및 듀얼 스택 이름
각 클러스터에는 클러스터의 IP 패밀리에 따라 결정되는 OIDC 발급자 호스트 이름이 하나 있습니다. 기본값인 IPv4 클러스터는 oidc.eks.region-code.amazonaws.com을 사용합니다. IPv6 클러스터는 IPv4 및 IPv6 주소 모두로 확인되는 듀얼 스택 호스트 이름 oidc-eks.region-code.api.aws를 사용합니다. AWS 중국 리전에서 듀얼 스택 호스트 이름은 oidc-eks---region-code---api.amazonwebservices.com.rproxy.goskope.com.cn입니다.
인터페이스 엔드포인트는 두 호스트 이름을 모두 등록합니다. 프라이빗 DNS를 활성화하면(기본값) 각 호스트 이름이 인터페이스 엔드포인트로 확인됩니다. 따라서 클러스터의 발급자 URL은 클러스터가 oidc.eks.region-code.amazonaws.com 호스트 이름을 사용하는지 아니면 듀얼 스택 호스트 이름을 사용하는지 관계없이 엔드포인트로 확인됩니다. 토큰의 발급자 URL을 따라 검색 문서 및 JWKS를 가져오는 클라이언트는 두 경우 모두 비공개로 엔드포인트에 도달합니다.