대화형 엔드포인트 개요 - Amazon EMR

대화형 엔드포인트 개요

대화형 엔드포인트를 통해 Amazon EMR Studio와 같은 대화형 클라이언트에서 Amazon EMR on EKS 클러스터에 연결하여 대화형 워크로드를 실행할 수 있습니다. 대화형 엔드포인트는 대화형 클라이언트에 필요한 원격 커널 수명 주기 관리 기능을 제공하는 Jupyter Enterprise Gateway의 지원을 받습니다. 커널은 Jupyter 기반 Amazon EMR Studio 클라이언트와 상호 작용하여 대화형 워크로드를 실행하는 언어별 프로세스입니다.

대화형 엔드포인트는 다음 커널을 지원합니다.

  • Python 3

  • Kubernetes 기반 PySpark

  • Scala와 함께 사용하는 Apache Spark

참고

대화형 엔드포인트 및 커널에 대해 Amazon EMR on EKS 요금이 적용됩니다. 자세한 내용은 Amazon EMR on EKS 요금 페이지를 참조하세요.

EMR Studio에서 Amazon EMR on EKS에 연결하려면 다음 엔터티가 필요합니다.

  • Amazon EMR on EKS 가상 클러스터 - 가상 클러스터는 Amazon EMR을 등록하는 데 사용하는 Kubernetes 네임스페이스입니다. Amazon EMR은 가상 클러스터를 사용하여 작업을 실행하고 엔드포인트를 호스팅합니다. 동일한 물리적 클러스터로 여러 가상 클러스터를 백업할 수 있습니다. 하지만 각 가상 클러스터는 Amazon EKS 클러스터의 네임스페이스 하나에 매핑됩니다. 가상 클러스터는 청구서에 기여하거나 서비스 외부에서 수명 주기 관리가 필요한 활성 리소스를 생성하지 않습니다.

  • Amazon EMR on EKS 대화형 엔드포인트 - 대화형 엔드포인트는 EMR Studio 사용자가 Workspace를 연결할 수 있는 HTTPS 엔드포인트입니다. EMR Studio에서만 HTTPS 엔드포인트에 액세스할 수 있으며, Amazon EKS 클러스터에 대한 Amazon Virtual Private Cloud(VPC)의 프라이빗 서브넷에서 생성할 수 있습니다.

    Python, PySpark 및 Spark Scala 커널은 Amazon EMR on EKS 작업 실행 역할에 정의된 권한을 사용하여 다른 AWS 서비스를 간접 호출합니다. 대화형 엔드포인트에 연결하는 모든 커널과 사용자는 엔드포인트를 생성할 때 지정한 역할을 활용합니다. 사용자별로 별도의 엔드포인트를 생성하고 사용자마다 다른 AWS Identity and Access Management(IAM) 역할을 보유하는 것이 좋습니다.

  • AWS Application Load Balancer 컨트롤러 - AWS Application Load Balancer 컨트롤러는 Amazon EKS Kubernetes 클러스터의 탄력적 로드 밸런싱을 관리합니다. Kubernetes Ingress 리소스를 생성할 때 컨트롤러는 Application Load Balancer(ALB)를 프로비저닝합니다. ALB는 대화형 엔드포인트와 같은 Kubernetes 서비스를 Amazon EKS 클러스터 외부에서 동일한 Amazon VPC 내에 노출합니다. 대화형 엔드포인트를 생성하면 대화형 클라이언트가 연결할 수 있도록 ALB를 통해 대화형 엔드포인트를 노출하는 Ingress 리소스도 배포됩니다. 각 Amazon EKS 클러스터에 AWS Application Load Balancer 컨트롤러를 하나만 설치하면 됩니다.

다음 다이어그램은 Amazon EMR on EKS의 대화형 엔드포인트 아키텍처를 보여줍니다. Amazon EKS 클러스터는 분석 워크로드 및 대화형 엔드포인트를 실행하도록 컴퓨팅을 구성합니다. Application Load Balancer 컨트롤러는 kube-system 네임스페이스에서 실행되고, 워크로드와 대화형 엔드포인트는 가상 클러스터를 생성할 때 지정한 네임스페이스에서 실행됩니다. 대화형 엔드포인트를 생성하면 Amazon EMR on EKS 컨트롤 플레인에서 Amazon EKS 클러스터에 대화형 엔드포인트 배포를 생성합니다. 또한 Application Load Balancer Ingree의 인스턴스는 AWS 로드 밸런서 컨트롤러에 의해 생성됩니다. Application Load Balancer는 EMR Studio와 같은 클라이언트가 Amazon EMR 클러스터에 연결하고 대화형 워크로드를 실행하기 위한 외부 인터페이스를 제공합니다.

대화형 엔드포인트 아키텍처 다이어그램