기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Service Catalog에서 Amazon EMR CloudFormation 템플릿 구성
이 주제에서는 관리자가 Amazon EMR뿐만 아니라 AWS CloudFormation의 , 포트폴리오 및 제품에 AWS Service Catalog 익숙하다고 가정합니다.
Studio에서 Amazon EMR 클러스터 만들기를 단순화하기 위해 관리자는 Amazon EMR CloudFormation 템플릿을 AWS Service Catalog 포트폴리오의 제품으로 등록할 수 있습니다. 데이터 과학자가 템플릿을 사용할 수 있도록 하려면 포트폴리오를 Studio 또는 Studio Classic에 사용되는 SageMaker AI 실행 역할과 연결해야 합니다. 마지막으로 사용자가 템플릿을 검색하고 클러스터를 프로비저닝하고 Studio 또는 Studio Classic에서 Amazon EMR 클러스터에 연결할 수 있도록 하려면 관리자가 적절한 액세스 권한을 설정해야 합니다.
Amazon EMR AWS CloudFormation 템플릿을 사용하면 최종 사용자가 다양한 클러스터 측면을 사용자 지정할 수 있습니다. 예를 들어 관리자는 사용자가 클러스터를 만들 때 선택할 수 있는 승인된 인스턴스 유형 목록을 정의할 수 있습니다.
다음 지침에서는 엔드투엔드 CloudFormation 스택
참고
GitHub 리포지토리 aws-samples/sagemaker-studio-emr
sagemaker-studio-emr/cloudformation/emr_servicecatalog_templates
Amazon EMR 클러스터에 연결하는 데 사용할 수 있는 인증 방법에 대한 자세한 내용은 SageMaker Studio 또는 Studio Classic에서 Amazon EMR 클러스터에 연결 섹션을 참조하세요.
데이터 과학자가 Studio 또는 Studio Classic에서 Amazon EMR CloudFormation 템플릿을 검색하고 클러스터를 프로비저닝하도록 하려면 다음 단계를 따르세요.
0단계: 네트워킹 확인 및 CloudFormation 스택 준비
시작하기 전에:
-
Amazon EMR 클러스터에 대한 네트워크 액세스 구성의 네트워킹 및 보안 요구 사항을 검토했는지 확인합니다.
-
선택한 인증 방법을 지원하는 기존 엔드투엔드 CloudFormation 스택이 있어야 합니다. aws-samples/sagemaker-studio-emr
GitHub 리포지토리에서 CloudFormation 템플릿의 예를 확인할 수 있습니다. 다음 단계에서는 Studio 또는 Studio Classic 내에서 Amazon EMR 템플릿을 사용할 수 있도록 하는 엔드투엔드 스택의 특정 구성을 강조합니다.
1단계: Service Catalog 포트폴리오를 SageMaker AI와 연결
Service Catalog 포트폴리오에서 포트폴리오 ID를 클러스터에 액세스하는 SageMaker AI 실행 역할과 연결합니다.
이렇게 하려면 스택에 다음 섹션(여기서는 YAML 형식)을 추가합니다. 이렇게 하면 SageMaker AI 실행 역할이 Amazon EMR 템플릿과 같은 제품이 포함된 지정된 Service Catalog 포트폴리오에 액세스할 수 있습니다. 이를 통해 SageMaker AI가 수임한 역할이 해당 제품을 시작할 수 있습니다.
SageMakerExecutionRole.Arn
및 SageMakerStudioEMRProductPortfolio.ID
를 실제 값으로 바꿉니다.
SageMakerStudioEMRProductPortfolioPrincipalAssociation: Type: AWS::ServiceCatalog::PortfolioPrincipalAssociation Properties: PrincipalARN:
SageMakerExecutionRole.Arn
PortfolioId:SageMakerStudioEMRProductPortfolio.ID
PrincipalType: IAM
필요한 IAM 권한 세트에 대한 자세한 내용은 권한 섹션을 참조하세요.
2단계: Service Catalog 제품의 Amazon EMR 템플릿 참조
포트폴리오의 Service Catalog 제품에서 Amazon EMR 템플릿 리소스를 참조하고 Studio 또는 Studio Classic에서 가시성을 확보합니다.
그러려면 Service Catalog 제품 정의에서 Amazon EMR 템플릿 리소스를 참조한 후, 다음 태그 키 "sagemaker:studio-visibility:emr"
세트를 "true"
값(YAML 형식 예시 참조)에 추가합니다.
Service Catalog 제품 정의에서 클러스터의 AWS CloudFormation 템플릿은 URL을 통해 참조됩니다. True로 설정된 추가 태그는 Studio 또는 Studio Classic에서 Amazon EMR 템플릿의 가시성을 보장합니다.
참고
예에 제공된 URL에서 참조하는 Amazon EMR 템플릿은 시작할 때 인증 요구 사항을 적용하지 않습니다. 이 옵션은 데모 및 학습을 위한 것입니다. 프로덕션 환경에서는 권장되지 않습니다.
SMStudioEMRNoAuthProduct: Type: AWS::ServiceCatalog::CloudFormationProduct Properties: Owner: AWS Name: SageMaker Studio Domain No Auth EMR ProvisioningArtifactParameters: - Name: SageMaker Studio Domain No Auth EMR Description: Provisions a SageMaker domain and No Auth EMR Cluster Info: LoadTemplateFromURL:
Link to your CloudFormation template. For example, https://aws-blogs-artifacts-public.s3.amazonaws.com/artifacts/astra-m4-sagemaker/end-to-end/CFN-EMR-NoStudioNoAuthTemplate-v3.yaml
Tags: - Key: "sagemaker:studio-visibility:emr" Value: "true"
3단계: Amazon EMR CloudFormation 템플릿 파라미터화
Service Catalog 제품 내에서 Amazon EMR 클러스터를 정의하는 데 사용되는 CloudFormation 템플릿을 사용하면 관리자가 구성 가능한 파라미터를 지정할 수 있습니다. 관리자는 템플릿의 Parameters
섹션 내에서 이러한 파라미터의 Default
값과 AllowedValues
범위를 정의할 수 있습니다. 클러스터 시작 프로세스 중에 데이터 과학자는 사용자 지정 입력을 제공하거나 사전 정의된 옵션 중에서 선택하여 Amazon EMR 클러스터의 특정 측면을 사용자 지정할 수 있습니다.
다음 예는 Amazon EMR 템플릿을 생성할 때 관리자가 설정할 수 있는 추가 입력 파라미터를 보여줍니다.
"Parameters": { "EmrClusterName": { "Type": "String", "Description": "EMR cluster Name." }, "MasterInstanceType": { "Type": "String", "Description": "Instance type of the EMR master node.", "Default": "m5.xlarge", "AllowedValues": [ "m5.xlarge", "m5.2xlarge", "m5.4xlarge" ] }, "CoreInstanceType": { "Type": "String", "Description": "Instance type of the EMR core nodes.", "Default": "m5.xlarge", "AllowedValues": [ "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge" ] }, "CoreInstanceCount": { "Type": "String", "Description": "Number of core instances in the EMR cluster.", "Default": "2", "AllowedValues": [ "2", "5", "10" ] }, "EmrReleaseVersion": { "Type": "String", "Description": "The release version of EMR to launch.", "Default": "emr-5.33.1", "AllowedValues": [ "emr-5.33.1", "emr-6.4.0" ] } }
관리자가 Studio 내에서 Amazon EMR CloudFormation 템플릿을 사용할 수 있게 한 후 데이터 과학자는 이를 사용하여 Amazon EMR 클러스터를 자체 프로비저닝할 수 있습니다. 템플릿에 정의된 Parameters
섹션은 Studio 또는 Studio Classic 내에서 클러스터를 만드는 양식의 입력 필드로 변환됩니다. 각 파라미터에 대해 데이터 과학자는 입력 상자에 사용자 지정 값을 입력하거나 드롭다운 메뉴에 나열된 사전 정의된 옵션(템플릿에 지정된 AllowedValues
에 해당함) 중에서 선택할 수 있습니다.
다음 그림은 Studio 또는 Studio Classic에서 Amazon EMR 클러스터를 만들기 위해 CloudFormation Amazon EMR 템플릿에서 조합된 동적 양식을 보여줍니다.

Amazon EMR 템플릿을 사용하여 Studio 또는 Studio Classic에서 클러스터를 시작하는 방법을 알아보려면 Studio 또는 Studio Classic에서 Amazon EMR 클러스터 시작하기 섹션을 방문하세요.
4단계: Studio에서 Amazon EMR 클러스터 나열 및 시작을 활성화하는 권한 설정
마지막으로, Studio 또는 Studio Classic에서 실행 중인 기존 Amazon EMR 클러스터를 나열하고 새 클러스터를 자체 프로비저닝할 수 있도록 필요한 IAM 권한을 연결합니다.
이러한 권한을 추가해야 하는 역할은 Studio 또는 Studio Classic과 Amazon EMR이 동일한 계정(단일 계정 선택)에 배포되었는지 아니면 다른 계정(교차 계정 선택)에 배포되었는지에 따라 다릅니다.
중요
프라이빗 공간에서 시작된 JupyterLab 및 Studio Classic 애플리케이션용 Amazon EMR 클러스터만 검색하고 연결할 수 있습니다. Amazon EMR 클러스터가 Studio 환경과 동일한 AWS 리전에 있는지 확인합니다.
Amazon EMR 클러스터와 Studio 또는 Studio Classic이 동일한 AWS 계정에 배포된 경우 클러스터에 액세스하는 SageMaker AI 실행 역할에 다음 권한을 연결합니다.
-
1단계: 프라이빗 스페이스에서 사용하는 SageMaker AI 실행 역할의 ARN을 검색합니다.
SageMaker AI의 스페이스 및 실행 역할에 대한 자세한 내용은 섹션을 참조하세요도메인 공간 권한 및 실행 역할 이해.
SageMaker AI 실행 역할의 ARN을 검색하는 방법에 대한 자세한 내용은 섹션을 참조하세요실행 역할을 가져옵니다..
-
2단계: Amazon EMR 클러스터에 액세스하는 SageMaker AI 실행 역할에 다음 권한을 연결합니다.
-
IAM 콘솔
로 이동합니다. -
역할을 선택한 다음 검색 필드에서 이름으로 실행 역할을 검색합니다. 역할 이름은 마지막 슬래시(/) 뒤에 있는 ARN의 마지막 부분입니다.
-
역할의 링크를 따라갑니다.
-
권한 추가를 선택한 후 인라인 정책 만들기를 선택합니다.
-
JSON 탭에서 Amazon EMR 액세스 및 작업을 허용하는 Amazon EMR 권한을 추가합니다. 정책 문서에 대한 자세한 내용은 참조 정책의 Amazon EMR 정책 나열을 참조하세요. 문 목록을 역할의 인라인 정책에 복사하기 전에
region
,accountID
를 실제 값으로 바꿉니다. -
다음을 선택한 다음 정책 이름을 입력합니다.
-
정책 생성을 선택합니다.
-
인라인 정책 만들기 단계를 반복하여 AWS CloudFormation 템플릿을 사용하여 새 Amazon EMR 클러스터를 프로비저닝할 수 있는 권한을 실행 역할에 부여하는 다른 정책을 추가합니다. 정책 문서에 대한 자세한 내용은 참조 정책의 Amazon EMR 클러스터 정책 만들기를 참조하세요. 문 목록을 역할의 인라인 정책에 복사하기 전에
region
,accountID
를 실제 값으로 바꿉니다.
-
참고
Amazon EMR 클러스터에 대한 역할 기반 액세스 제어(RBAC) 연결 사용자도 Amazon EMR 클러스터와 Studio가 동일한 계정에 있을 때 런타임 역할 인증을 구성합니다. 섹션을 참조해야 합니다.
시작하기 전에 프라이빗 스페이스에서 사용하는 SageMaker AI 실행 역할의 ARN을 검색합니다.
SageMaker AI의 스페이스 및 실행 역할에 대한 자세한 내용은 섹션을 참조하세요도메인 공간 권한 및 실행 역할 이해.
SageMaker AI 실행 역할의 ARN을 검색하는 방법에 대한 자세한 내용은 섹션을 참조하세요실행 역할을 가져옵니다..
Amazon EMR 클러스터와 Studio 또는 Studio Classic이 별도의 AWS 계정에 배포된 경우 두 계정에 대한 권한을 구성합니다.
참고
Amazon EMR 클러스터에 대한 역할 기반 액세스 제어(RBAC) 연결 사용자도 클러스터와 Studio가 서로 다른 계정에 있는 경우 런타임 역할 인증 구성 섹션을 참조해야 합니다.
Amazon EMR 클러스터 계정에서
다음 단계에 따라 Amazon EMR이 배포된 계정(신뢰하는 계정이라고도 함)에서 필요한 역할 및 정책을 만듭니다.
-
1단계: Amazon EMR 클러스터 서비스 역할의 ARN을 검색합니다.
클러스터 서비스 역할의 ARN을 찾는 방법에 대한 자세한 내용은 AWS 서비스 및 리소스의 Amazon EMR 권한에 대한 AWS 서비스 역할 구성을 참조하세요.
-
2단계: 다음 구성으로
AssumableRole
이라는 사용자 지정 IAM 역할을 만듭니다.-
권한: Amazon EMR 리소스에 대한 액세스를 허용하는 데 필요한 권한을
AssumableRole
에 부여합니다. 이 역할은 교차 계정 액세스와 관련된 시나리오에서 액세스 역할이라고도 합니다. -
신뢰 관계: 액세스가 필요한 Studio 계정에서 실행 역할(교차 계정 다이어그램의
SageMakerExecutionRole
)을 수임할 수 있도록AssumableRole
에 대한 신뢰 정책을 구성합니다.
Studio 또는 Studio Classic은 역할을 수임하여 Amazon EMR에서 필요한 권한에 임시로 액세스할 수 있습니다.
Amazon EMR AWS 계정
AssumableRole
에서 새를 생성하는 방법에 대한 자세한 지침은 다음 단계를 따르세요.-
IAM 콘솔
로 이동합니다. -
왼쪽 탐색 창에서 정책을 선택한 다음 정책 만들기를 선택합니다.
-
JSON 탭에서 Amazon EMR 액세스 및 작업을 허용하는 Amazon EMR 권한을 추가합니다. 정책 문서에 대한 자세한 내용은 참조 정책의 Amazon EMR 정책 나열을 참조하세요. 문 목록을 역할의 인라인 정책에 복사하기 전에
region
,accountID
를 실제 값으로 바꿉니다. -
다음을 선택한 다음 정책 이름을 입력합니다.
-
정책 생성을 선택합니다.
-
왼쪽 탐색 창에서 역할을 선택한 후 역할 만들기를 선택합니다.
-
역할 만들기 페이지에서 사용자 지정 신뢰 정책을 신뢰할 수 있는 엔터티로 선택합니다.
-
사용자 지정 신뢰 정책 섹션의 다음 JSON 문서에 붙여 넣은 다음 다음을 선택합니다.
-
권한 추가 페이지에서 방금 만든 권한을 추가하고 다음을 선택합니다.
-
검토 페이지에서 역할 이름(예:
AssumableRole
)을 입력하고 선택적으로 설명을 입력합니다. -
역할 세부 정보를 검토하고 [Create role]을 선택합니다.
AWS 계정에서 역할 만들기에 대한 자세한 내용은 IAM 역할 만들기(콘솔)를 참조하세요.
-
Studio 계정에서
Studio가 배포된 계정에서 신뢰할 수 있는 계정이라고도 하며, 클러스터에 액세스하는 SageMaker AI 실행 역할을 신뢰할 수 있는 계정의 리소스에 액세스하는 데 필요한 권한으로 업데이트합니다.
-
1단계: 프라이빗 스페이스에서 사용하는 SageMaker AI 실행 역할의 ARN을 검색합니다.
SageMaker AI의 스페이스 및 실행 역할에 대한 자세한 내용은 섹션을 참조하세요도메인 공간 권한 및 실행 역할 이해.
SageMaker AI 실행 역할의 ARN을 검색하는 방법에 대한 자세한 내용은 섹션을 참조하세요실행 역할을 가져옵니다..
-
2단계: Amazon EMR 클러스터에 액세스하는 SageMaker AI 실행 역할에 다음 권한을 연결합니다.
-
IAM 콘솔
로 이동합니다. -
역할을 선택한 다음 검색 필드에서 이름으로 실행 역할을 검색합니다. 역할 이름은 마지막 슬래시(/) 뒤에 있는 ARN의 마지막 부분입니다.
-
역할의 링크를 따라갑니다.
-
권한 추가를 선택한 후 인라인 정책 만들기를 선택합니다.
-
JSON 탭에서 도메인, 사용자 프로필 및 공간을 업데이트할 수 있는 역할 권한을 부여하는 인라인 정책을 추가합니다. 정책 문서에 대한 자세한 내용은 참조 정책의 도메인, 사용자 프로필 및 공간 업데이트 작업 정책을 참조하세요. 문 목록을 역할의 인라인 정책에 복사하기 전에
region
,accountID
를 실제 값으로 바꿉니다. -
다음을 선택한 다음 정책 이름을 입력합니다.
-
정책 생성을 선택합니다.
-
인라인 정책 만들기 단계를 반복하여
AssumableRole
을 수임한 다음 역할의 액세스 정책에서 허용하는 작업을 수행할 수 있는 권한을 실행 역할에 부여하는 다른 정책을 추가합니다.emr-account
를 Amazon EMR 계정 ID로 바꾸고,AssumableRole
을 Amazon EMR 계정에서 만든 수임 가능한 역할의 이름으로 바꿉니다.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::
emr-account
:role/AssumableRole
" ] }] } -
인라인 정책 만들기 단계를 반복하여 AWS CloudFormation 템플릿을 사용하여 새 Amazon EMR 클러스터를 프로비저닝할 수 있는 권한을 실행 역할에 부여하는 다른 정책을 추가합니다. 정책 문서에 대한 자세한 내용은 참조 정책의 Amazon EMR 클러스터 정책 만들기를 참조하세요. 문 목록을 역할의 인라인 정책에 복사하기 전에
region
,accountID
를 실제 값으로 바꿉니다. -
(선택 사항) Studio와 동일한 계정에 배포된 Amazon EMR 클러스터를 나열하도록 허용하려면 참조 정책의 Amazon EMR 정책 나열에 정의된 대로 Studio 실행 역할에 인라인 정책을 추가합니다.
-
-
3단계: 수임 가능한 역할(액세스 역할)을 도메인 또는 사용자 프로필과 연결합니다. Studio의 JupyterLab 사용자는 SageMaker AI 콘솔 또는 제공된 스크립트를 사용할 수 있습니다.
사용 사례에 해당하는 탭을 선택합니다.