Amazon EMR on EKS에서 대화형 엔드포인트를 생성하기 위한 필수 조건 - Amazon EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon EMR on EKS에서 대화형 엔드포인트를 생성하기 위한 필수 조건

이 섹션에서는 EMR Studio에서 Amazon EMR on EKS 클러스터에 연결하고 대화형 워크로드를 실행하는 데 사용할 수 있는 대화형 엔드포인트를 설정하기 위한 필수 조건을 설명합니다.

AWS CLI

AWS CLI의 최신 버전으로 업데이트 또는 설치의 단계를 수행하여 AWS Command Line Interface의 최신 버전(AWS CLI)을 설치합니다.

eksctl 설치

kubectl 설치의 단계를 수행하여 eksctl의 최신 버전을 설치합니다. Amazon EKS 클러스터에 Kubernetes 버전 1.22 이상을 사용하는 경우 0.117.0 이상의 eksctl 버전을 사용합니다.

Amazon EKS 클러스터

Amazon EKS 클러스터를 생성합니다. 클러스터를 Amazon EMR on EKS에서 가상 클러스터로 등록합니다. 다음은 이 클러스터에 대한 요구 사항 및 고려 사항입니다.

  • 클러스터는 EMR Studio와 동일한 Amazon Virtual Private Cloud(VPC)에 있습니다.

  • 대화형 엔드포인트를 활성화하고, Git 기반 리포지토리를 연결하며, Application Load Balancer를 프라이빗 모드에서 시작하려면 클러스터에 하나 이상의 프라이빗 서브넷이 있어야 합니다.

  • 가상 클러스터를 등록하는 데 사용하는 EMR Studio와 Amazon EKS 클러스터 사이에 하나 이상의 공통된 프라이빗 서브넷이 있어야 합니다. 이를 통해 대화형 엔드포인트가 Studio Workspace에 옵션으로 나타나고 Studio에서 Application Load Balancer로의 연결이 활성화됩니다.

    Studio와 Amazon EKS 클러스터를 연결하기 위해 선택할 수 있는 두 가지 방법이 있습니다.

    • Amazon EKS 클러스터를 생성하고 EMR Studio에 속한 서브넷에 연결합니다.

    • 또는 EMR Studio를 생성하고 Amazon EKS 클러스터의 프라이빗 서브넷을 지정할 수도 있습니다.

  • Amazon EMR on EKS 대화형 엔드포인트에 대해 Amazon EKS에서 최적화된 Arm Amazon Linux AMI는 지원되지 않습니다.

  • 대화형 엔드포인트는 최대 1.30의 Kubernetes 버전을 사용하는 Amazon EKS 클러스터에서 작동합니다.

  • Amazon EKS 관리형 노드 그룹만 지원됩니다.

Amazon EMR on EKS에 대한 클러스터 액세스 권한 부여

Amazon EMR on EKS에 대한 클러스터 액세스 권한 부여의 단계를 사용하여 Amazon EMR on EKS에 클러스터의 특정 네임스페이스에 대한 액세스 권한을 부여합니다.

Amazon EMR on EKS에서 IRSA 활성화

Amazon EKS 클러스터에서 서비스 계정에 대한 IAM 역할(IRSA)을 활성화하려면 서비스 계정에 대한 IAM 역할(IRSA) 활성화의 단계를 따릅니다.

IAM 작업 실행 역할 생성

Amazon EMR on EKS 대화형 엔드포인트에서 워크로드를 실행하려면 IAM 역할을 생성해야 합니다. 이 설명서에서는 이 IAM 역할을 작업 실행 역할이라고 합니다. 이 IAM 역할은 대화형 엔드포인트 컨테이너와 EMR Studio에서 작업을 제출할 때 생성되는 실제 실행 컨테이너 모두에 할당됩니다. Amazon EMR on EKS 클러스터에 대해 작업 실행 역할의 Amazon 리소스 이름(ARN)이 필요합니다. 이를 위해서는 두 단계가 필요합니다.

Amazon EMR on EKS에 대한 액세스 권한 부여

대화형 엔드포인트 생성을 요청하는 IAM 엔터티(사용자 또는 역할)에는 다음과 같은 Amazon EC2 및 emr-containers 권한도 있어야 합니다. Amazon EMR on EKS에 대한 액세스 권한 부여에 설명된 단계에 따라 Amazon EMR on EKS에서 대화형 엔드포인트의 로드 밸런서로 인바운드 트래픽을 제한하는 보안 그룹을 생성, 관리 및 삭제할 수 있는 권한을 부여합니다.

다음 emr-containers 권한을 통해 기본적인 대화형 엔드포인트 작업을 수행할 수 있습니다.

"ec2:CreateSecurityGroup", "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress" "emr-containers:CreateManagedEndpoint", "emr-containers:ListManagedEndpoints", "emr-containers:DescribeManagedEndpoint", "emr-containers:DeleteManagedEndpoint"

Amazon EMR에 Amazon EKS 클러스터 등록

가상 클러스터를 설정하고 작업을 실행하려는 Amazon EKS 클러스터의 네임스페이스에 매핑합니다. AWS Fargate 전용 클러스터의 경우 Amazon EMR on EKS 가상 클러스터와 Fargate 프로파일 모두에 동일한 네임스페이스를 사용합니다.

Amazon EMR on EKS 가상 클러스터를 설정하는 방법에 대한 자세한 내용은 Amazon EMR에 Amazon EKS 클러스터 등록 섹션을 참조하세요.

Amazon EKS 클러스터에 AWS 로드 밸런서 컨트롤러 배포

Amazon EKS 클러스터에는 AWS Application Load Balancer가 필요합니다. Amazon EKS 클러스터당 하나의 Application Load Balancer 컨트롤러만 설정하면 됩니다. AWS Application Load Balancer 컨트롤러 설정에 대한 자세한 내용은 Amazon EKS 사용 설명서에서 AWS 로드 밸런서 컨트롤러 추가 기능 설치를 참조하세요.