인터페이스 VPC 엔드포인트를 사용하여 Amazon EMR에 연결 - Amazon EMR

인터페이스 VPC 엔드포인트를 사용하여 Amazon EMR에 연결

인터넷을 통해 연결하는 대신 Virtual Private Cloud(VPC)의 인터페이스 VPC 엔드포인트(AWS PrivateLink)를 통해 Amazon EMR에 직접 연결할 수 있습니다. 인터페이스 VPC 엔드포인트를 사용하는 경우 VPC와 Amazon EMR 사이의 통신은 모두 AWS 네트워크에서 수행됩니다. 각 VPC 엔드포인트는 하나 이상의 탄력적 네트워크 인터페이스(ENI) 및 VPC 서브넷의 프라이빗 IP 주소로 표현됩니다.

인터페이스 VPC 엔드포인트는 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결 없이 VPC를 Amazon EMR에 직접 연결합니다. VPC에 있는 인스턴스는 퍼블릭 IP 주소가 없어도 Amazon EMR API와 통신할 수 있습니다.

VPC를 통해 Amazon EMR을 사용하려면 VPC 내부에 있는 인스턴스에서 연결하거나 Amazon Virtual Private Network(VPN) 또는 AWS Direct Connect를 사용하여 프라이빗 네트워크를 VPC에 연결해야 합니다. Amazon VPN에 대한 내용은 Amazon Virtual Private Cloud 사용 설명서VPN 연결을 참조하세요. AWS Direct Connect에 대한 자세한 내용은 AWS Direct Connect 사용 설명서연결 생성을 참조하세요.

AWS 콘솔 또는 AWS Command Line Interface(AWS CLI) 명령을 사용하여 Amazon EMR에 연결할 인터페이스 VPC 엔드포인트를 생성할 수 있습니다. 자세한 내용은 인터페이스 엔드포인트 생성을 참조하세요.

인터페이스 VPC 엔드포인트를 생성한 후 엔드포인트에 대해 프라이빗 DNS 호스트 이름을 활성화하는 경우 기본 Amazon EMR 엔드포인트는 VPC 엔드포인트로 확인됩니다. Amazon EMR에 대한 기본 서비스 이름 엔드포인트의 형식은 다음과 같습니다.

elasticmapreduce.Region.amazonaws.com

프라이빗 DNS 호스트 이름을 활성화하지 않은 경우, Amazon VPC는 다음 형식으로 사용할 수 있는 DNS 엔드포인트를 제공합니다.

VPC_Endpoint_ID.elasticmapreduce.Region.vpce.amazonaws.com

자세한 내용은 Amazon VPC 사용 설명서에서 인터페이스 VPC 종단점(AWS PrivateLink)을 참조하세요.

Amazon EMR은 VPC 내부에 있는 모든 API 작업에 대한 직접 호출을 지원합니다.

VPC 엔드포인트 정책을 VPC 엔드포인트에 연결하여 IAM 보안 주체에 대한 액세스를 제어할 수 있습니다. 보안 그룹을 VPC 엔드포인트와 연결하여 IP 주소 범위와 같은 네트워크 트래픽의 소스와 대상을 기반으로 인바운드 및 아웃바운드 액세스를 제어할 수도 있습니다. 자세한 내용은 VPC 엔드포인트를 사용하여 서비스에 대한 액세스 제어를 참조하세요.

Amazon EMR에 대한 Amazon VPC 엔드포인트 정책을 생성하여 다음을 지정할 수 있습니다.

  • 작업을 수행할 수 있거나 수행할 수 없는 보안 주체

  • 수행할 수 있는 작업

  • 작업을 수행할 수 있는 리소스

자세한 내용은 Amazon VPC 사용 설명서VPC 엔드포인트를 통해 서비스에 대한 액세스 제어를 참조하세요.

예 - 지정된 AWS 계정의 모든 액세스를 거부하는 VPC 엔드포인트 정책

다음 VPC 엔드포인트 정책은 AWS 계정 123456789012가 엔드포인트를 사용하는 리소스에 대한 모든 액세스를 거부합니다.

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "*", "Effect": "Deny", "Resource": "*", "Principal": { "AWS": [ "123456789012" ] } } ] }
예 - 지정된 IAM 보안 주체(사용자)에 대해서만 VPC 액세스를 허용하는 VPC 엔드포인트 정책

다음 VPC 엔드포인트 정책은 AWS 계정 123456789012lijuan 사용자에게만 전체 액세스 권한을 허용합니다. 다른 모든 IAM 보안 주체는 엔드포인트를 사용하는 액세스가 거부됩니다.

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": { "AWS": [ "arn:aws:iam::123456789012:user/lijuan" ] } }] }
예 - 읽기 전용 EMR 작업을 허용하는 VPC 엔드포인트 정책

다음 VPC 엔드포인트 정책은 AWS 계정 123456789012에서만 지정된 Amazon EMR 작업을 수행하도록 허용합니다.

지정된 작업은 Amazon EMR에 대한 읽기 전용 액세스 권한을 제공합니다. VPC의 다른 모든 작업은 지정된 계정에 대해 거부됩니다. 다른 모든 계정의 액세스는 거부됩니다. Amazon EMR 작업 목록을 보려면 Amazon EMR에 대한 작업, 리소스 및 조건 키를 참조하세요.

{ "Statement": [ { "Action": [ "elasticmapreduce:DescribeSecurityConfiguration", "elasticmapreduce:GetBlockPublicAccessConfiguration", "elasticmapreduce:ListBootstrapActions", "elasticmapreduce:ViewEventsFromAllClustersInConsole", "elasticmapreduce:ListSteps", "elasticmapreduce:ListInstanceFleets", "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:DescribeStep", "elasticmapreduce:ListInstances", "elasticmapreduce:ListSecurityConfigurations", "elasticmapreduce:DescribeEditor", "elasticmapreduce:ListClusters", "elasticmapreduce:ListEditors" ], "Effect": "Allow", "Resource": "*", "Principal": { "AWS": [ "123456789012" ] } } ] }
예 - 지정된 클러스터에 대한 액세스를 거부하는 VPC 엔드포인트 정책

다음 VPC 엔드포인트 정책은 모든 계정과 보안 주체에 대한 전체 액세스를 허용하지만 클러스터 ID가 j-A1B2CD34EF5G인 Amazon EMR 클러스터에서 수행된 작업에 대해 AWS 계정 123456789012의 액세스는 거부합니다. 클러스터에 대한 리소스 수준 권한을 지원하지 않는 다른 Amazon EMR 작업은 여전히 허용됩니다. Amazon EMR 작업 및 해당 리소스 유형에 대한 목록은 Amazon EMR에 대한 작업, 리소스 및 조건 키를 참조하세요.

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "*", "Effect": "Deny", "Resource": "arn:aws:elasticmapreduce:us-west-2:123456789012:cluster/j-A1B2CD34EF5G", "Principal": { "AWS": [ "123456789012" ] } } ] }