인터페이스 VPC 엔드포인트를 사용하여 Amazon Athena에 연결
Virtual Private Cloud(VPC)의 인터페이스 VPC 엔드드포인트(AWS PrivateLink)와 AWS Glue VPC 엔드포인트를 사용하여 VPC의 보안 태세를 개선할 수 있습니다. 인터페이스 VPC 엔드포인트에서는 VPC 내부에서 도달할 수 있는 대상을 제어하는 기능을 제공하여 보안을 개선합니다. 각 VPC 엔드포인트는 하나 이상의 탄력적 네트워크 인터페이스(ENI) 및 VPC 서브넷의 프라이빗 IP 주소로 표현됩니다.
인터페이스 VPC 엔드포인트는 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결 없이 VPC를 Athena에 직접 연결합니다. VPC에 있는 인스턴스는 퍼블릭 IP 주소가 없어도 Athena API와 통신할 수 있습니다.
VPC를 통해 Athena를 사용하려면 VPC 내부에 있는 인스턴스에서 연결하거나 Amazon Virtual Private Network(VPN) 또는 AWS Direct Connect를 사용하여 프라이빗 네트워크를 VPC에 연결해야 합니다. Amazon VPN에 대한 내용은 Amazon Virtual Private Cloud 사용 설명서의 VPN 연결을 참조하세요. AWS Direct Connect에 대한 자세한 내용은 AWS Direct Connect 사용 설명서의 연결 생성을 참조하세요.
Athena는 Amazon VPC와 Athena를 모두 이용할 수 있는 모든 AWS 리전에서 VPC 엔드포인트를 지원합니다.
AWS Management Console 또는 AWS Command Line Interface(AWS CLI) 명령을 사용하여 Athena에 연결할 인터페이스 VPC 엔드포인트를 생성할 수 있습니다. 자세한 내용은 인터페이스 엔드포인트 생성을 참조하세요.
인터페이스 VPC 엔드포인트를 생성한 후 엔드포인트에 대해 프라이빗 DNS 호스트 이름을 활성화하는 경우 기본 Athena 엔드포인트(https://athena.리전
.amazonaws.com)는 VPC 엔드포인트로 귀결됩니다.
프라이빗 DNS 호스트 이름을 활성화하지 않은 경우, Amazon VPC는 다음 형식으로 사용할 수 있는 DNS 엔드포인트를 제공합니다.
VPC_Endpoint_ID
.athena.Region
.vpce.amazonaws.com
자세한 내용은 Amazon VPC 사용 설명서에서 인터페이스 VPC 종단점(AWS PrivateLink)을 참조하십시오.
Athena는 VPC 내부에 있는 모든 API 작업에 대한 호출 수행을 지원합니다.
Athena에 대한 VPC 엔드포인트 정책 생성
Athena에 대한 Amazon VPC 엔드포인트 정책을 생성하여 다음과 같은 제한 사항을 지정할 수 있습니다.
-
보안 주체 - 작업을 수행할 수 있는 보안 주체.
-
작업 - 수행할 수 있는 작업.
-
리소스 - 작업을 수행할 있는 리소스.
-
신뢰할 수 있는 ID만 -
aws:PrincipalOrgId
조건을 사용하여 AWS 조직의 일부인 보안 인증으로만 액세스를 제한합니다. 이렇게 하면 의도하지 않은 보안 주체의 액세스를 방지할 수 있습니다. -
신뢰할 수 있는 리소스만 -
aws:ResourceOrgId
조건을 사용하여 의도하지 않은 리소스에 대한 액세스를 방지합니다. -
신뢰할 수 있는 ID 및 리소스만 - 의도하지 않은 보안 주체 및 리소스에 대한 액세스를 방지할 수 있는 VPC 엔드포인트에 대한 결합된 정책을 생성합니다.
자세한 내용은 Amazon VPC 사용 설명서의 엔드포인트 정책을 사용하여 VPC 엔드포인트에 대한 액세스 제어 및 AWS 백서 Building a data perimeter on AWS의 Appendix 2 – VPC endpoint policy examples를 참조하세요.
예 - VPC 엔드포인트 정책
다음 예제에서는 조직 ID로 조직 리소스에 대한 요청을 허용하고 AWS 서비스 보안 주체의 요청을 허용합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRequestsByOrgsIdentitiesToOrgsResources", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "
my-org-id
", "aws:ResourceOrgID": "my-org-id
" } } }, { "Sid": "AllowRequestsByAWSServicePrincipals", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "*", "Resource": "*", "Condition": { "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }
IAM 정책을 사용할 때마다 IAM 모범 사례를 따라야 합니다. 자세한 내용은 IAM 사용 설명서의 IAM 보안 모범 사례를 참조하세요.
공유 서브넷
공유하는 서브넷의 VPC 엔드포인트는 생성, 설명, 수정 또는 삭제할 수 없습니다. 그러나 공유하는 서브넷의 VPC 엔드포인트를 사용할 수는 있습니다. VPC 공유에 관한 자세한 내용은 Amazon VPC 사용 설명서의 다른 계정과 VPC 공유를 참조하십시오.