Amazon EMR 클러스터 나열 구성 - Amazon SageMaker AI

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

Amazon EMR 클러스터 나열 구성

관리자는 SageMaker Studio 실행 역할에 대한 권한을 구성하여 사용자에게 액세스할 수 있는 Amazon EMR 클러스터 목록을 볼 수 있는 권한을 부여하여 이러한 클러스터에 연결할 수 있도록 할 수 있습니다. 액세스하려는 클러스터는 Studio와 동일한 AWS 계정(단일 계정 선택) 또는 별도의 계정(교차 계정 선택)에 배포할 수 있습니다. 다음 페이지에서는 Studio 또는 Studio Classic에서 Amazon EMR 클러스터를 볼 수 있는 권한을 부여하는 방법을 설명합니다.

중요

프라이빗 공간에서 시작된 JupyterLab 및 Studio Classic 애플리케이션에 대한 Amazon EMR 클러스터만 검색하고 연결할 수 있습니다. Amazon EMR 클러스터가 Studio 환경과 동일한 AWS 리전에 있는지 확인합니다.

데이터 사이언티스트가 Studio 또는 Studio ClassicEMRclusters에서 Amazon을 검색한 다음 Amazon에 연결하도록 하려면 다음 단계를 따르세요.

Amazon EMR 클러스터와 Studio 또는 Studio Classic이 동일한 AWS 계정에 배포된 경우 클러스터에 액세스하는 SageMaker AI 실행 역할에 다음 권한을 연결합니다.

  1. 1단계: 프라이빗 스페이스에서 사용하는 SageMaker AI 실행 역할ARN의를 검색합니다.

    SageMaker AI의 공백 및 실행 역할에 대한 자세한 내용은 섹션을 참조하세요도메인 공간 권한 및 실행 역할 이해.

    SageMaker AI 실행 역할ARN의를 검색하는 방법에 대한 자세한 내용은 섹션을 참조하세요실행 역할을 가져옵니다..

  2. 2단계: Amazon EMR 클러스터에 액세스하는 SageMaker AI 실행 역할에 다음 권한을 연결합니다.

    1. IAM 콘솔로 이동합니다.

    2. 역할을 선택한 다음 검색 필드에서 이름으로 실행 역할을 검색합니다. 역할 이름은 마지막 슬래시(/) 뒤에 있는 ARN의 마지막 부분입니다.

    3. 역할의 링크를 따라갑니다.

    4. 권한 추가를 선택한 후 인라인 정책 만들기를 선택합니다.

    5. JSON 탭에서 Amazon EMR 액세스 및 작업을 허용하는 Amazon EMR 권한을 추가합니다. 정책 문서에 대한 자세한 내용은의 Amazon EMR 정책 나열을 참조하세요참조 정책. 문 목록을 역할의 인라인 정책에 복사하기 전에 region, accountID를 실제 값으로 바꿉니다.

    6. 다음을 선택한 다음 정책 이름을 입력합니다.

    7. 정책 생성을 선택합니다.

참고

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 클러스터 계정에서

다음 단계에 따라 AmazonEMR이 배포된 계정에서 필요한 역할 및 정책을 생성합니다. 이를 신뢰 계정이라고도 합니다.

  1. 1단계: Amazon 클러스터ARN의 서비스 역할 중를 검색합니다. EMR

    클러스터ARN의 서비스 역할 중를 찾는 방법에 대한 자세한 내용은 IAM 서비스 및 리소스에 대한 Amazon EMR 권한에 대한 서비스 역할 구성을 참조하세요 AWS.

  2. 2단계: 다음 구성으로 AssumableRole 라는 사용자 지정 IAM 역할을 생성합니다.

    • 권한: Amazon EMR 리소스에 대한 액세스를 허용하는 데 필요한 권한을 AssumableRole에 부여합니다. 이 역할은 교차 계정 액세스와 관련된 시나리오에서 액세스 역할이라고도 합니다.

    • 신뢰 관계: 액세스가 필요한 Studio 계정에서 실행 역할(교차 계정 다이어그램의 SageMakerExecutionRole)을 수임할 수 있도록 AssumableRole에 대한 신뢰 정책을 구성합니다.

    Studio 또는 Studio Classic은 역할을 수임하여 Amazon에서 필요한 권한에 임시로 액세스할 수 있습니다EMR.

    Amazon EMR AWS 계정AssumableRole에서 새를 생성하는 방법에 대한 자세한 지침은 다음 단계를 따르세요.

    1. IAM 콘솔로 이동합니다.

    2. 왼쪽 탐색 창에서 정책을 선택한 다음 정책 만들기를 선택합니다.

    3. JSON 탭에서 Amazon EMR 액세스 및 작업을 허용하는 Amazon EMR 권한을 추가합니다. 정책 문서에 대한 자세한 내용은의 Amazon EMR 정책 나열을 참조하세요참조 정책. 문 목록을 역할의 인라인 정책에 복사하기 전에 region, accountID를 실제 값으로 바꿉니다.

    4. 다음을 선택한 다음 정책 이름을 입력합니다.

    5. 정책 생성을 선택합니다.

    6. 왼쪽 탐색 창에서 역할을 선택한 후 역할 만들기를 선택합니다.

    7. 역할 만들기 페이지에서 사용자 지정 신뢰 정책을 신뢰할 수 있는 엔터티로 선택합니다.

    8. 사용자 지정 신뢰 정책 섹션에서 다음 JSON 문서를 붙여 넣은 다음 다음을 선택합니다.

      For users of Studio and JupyterLab

      를 Studio 계정 IDstudio-account로 바꾸고를 공간에서 사용하는 실행 역할AmazonSageMaker-ExecutionRole로 바꿉니다 JupyterLab.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio-account:role/service-role/AmazonSageMaker-ExecutionRole" }, "Action": "sts:AssumeRole" } ] }
      For users of Studio Classic

      studio-account를 Studio Classic 계정 ID로 바꿉니다.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio-account:root" }, "Action": "sts:AssumeRole" } ] }
    9. 권한 추가 페이지에서 방금 만든 권한을 추가하고 다음을 선택합니다.

    10. 검토 페이지에서 역할 이름(예: AssumableRole)을 입력하고 선택적으로 설명을 입력합니다.

    11. 역할 세부 정보를 검토하고 [Create role]을 선택합니다.

    AWS 계정에서 역할을 생성하는 방법에 대한 자세한 내용은 IAM 역할 생성(콘솔)을 참조하세요.

Studio 계정에서

Studio가 배포된 계정에서 신뢰할 수 있는 계정이라고도 하며 클러스터에 액세스하는 SageMaker AI 실행 역할을 신뢰할 수 있는 계정의 리소스에 액세스하는 데 필요한 권한으로 업데이트합니다.

  1. 1단계: 프라이빗 스페이스에서 사용하는 SageMaker AI 실행 역할ARN의를 검색합니다.

    SageMaker AI의 공백 및 실행 역할에 대한 자세한 내용은 섹션을 참조하세요도메인 공간 권한 및 실행 역할 이해.

    SageMaker AI 실행 역할ARN의를 검색하는 방법에 대한 자세한 내용은 섹션을 참조하세요실행 역할을 가져옵니다..

  2. 2단계: Amazon EMR 클러스터에 액세스하는 SageMaker AI 실행 역할에 다음 권한을 연결합니다.

    1. IAM 콘솔로 이동합니다.

    2. 역할을 선택한 다음 검색 필드에서 이름으로 실행 역할을 검색합니다. 역할 이름은 마지막 슬래시(/) 뒤에 있는 ARN의 마지막 부분입니다.

    3. 역할의 링크를 따라갑니다.

    4. 권한 추가를 선택한 후 인라인 정책 만들기를 선택합니다.

    5. JSON 탭에서 도메인, 사용자 프로필 및 공백을 업데이트할 수 있는 권한을 역할에 부여하는 인라인 정책을 추가합니다. 정책 문서에 대한 자세한 내용은 참조 정책도메인, 사용자 프로필 및 공간 업데이트 작업 정책을 참조하세요. 문 목록을 역할의 인라인 정책에 복사하기 전에 region, accountID를 실제 값으로 바꿉니다.

    6. 다음을 선택한 다음 정책 이름을 입력합니다.

    7. 정책 생성을 선택합니다.

    8. 인라인 정책 만들기 단계를 반복하여 AssumableRole을 수임한 다음 역할의 액세스 정책에서 허용하는 작업을 수행할 수 있는 권한을 실행 역할에 부여하는 다른 정책을 추가합니다. emr-account를 Amazon EMR 계정 IDAssumableRole로 바꾸고를 Amazon EMR 계정에서 생성된 가정 가능한 역할의 이름으로 바꿉니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::emr-account:role/AssumableRole" ] }] }
    9. (선택 사항) Studio와 동일한 계정에 배포된 Amazon EMR 클러스터를 나열하도록 허용하려면의 Amazon 정책 나열에 정의된 대로 Studio 실행 역할에 인라인 EMR 정책을 추가합니다참조 정책.

  3. 3단계: 가정 가능한 역할(들)(액세스 역할)을 도메인 또는 사용자 프로필과 연결합니다. JupyterLab Studio의 사용자는 SageMaker AI 콘솔 또는 제공된 스크립트를 사용할 수 있습니다.

    사용 사례에 해당하는 탭을 선택합니다.

    Associate your assumable roles in JupyterLab using the SageMaker AI console

    SageMaker AI 콘솔을 사용하여 사용자 프로필 또는 도메인과 가정 가능한 역할을 연결하려면:

    1. 에서 SageMaker AI 콘솔로 이동합니다https://console.aws.amazon.com/sagemaker/.

    2. 왼쪽 탐색 창에서 도메인을 선택한 다음 업데이트된 권한이 있는 SageMaker AI 실행 역할을 사용하여 도메인을 선택합니다.

      • 도메인에 수임 가능한 역할(들)(액세스 역할)을 추가하려면 도메인 세부 정보 페이지의 앱 구성 탭에서 JupyterLab 섹션으로 이동합니다.

      • 사용자 프로필에 수임 가능한 역할(들)(액세스 역할)을 추가하려면: 도메인 세부 정보 페이지에서 사용자 프로필 탭을 선택하고 업데이트된 권한이 있는 SageMaker AI 실행 역할을 사용하여 사용자 프로필을 선택합니다. 앱 구성 탭에서 JupyterLab 섹션으로 이동합니다.

    3. 편집을 선택하고 수임 가능한 역할(액세스 역할)ARNs의를 추가합니다.

    4. 제출을 선택합니다.

    Associate your assumable roles in JupyterLab using a Python script

    권한을 업데이트한 SageMaker AI 실행 역할을 사용하여 공간에서 시작된 JupyterLab 애플리케이션에서 터미널에서 다음 명령을 실행합니다. domainID, user-profile-name, emr-accountIDAssumableRole (RBAC런타임 역할EMRServiceRole 경우)를 적절한 값으로 바꿉니다. 이 코드 조각은 SageMaker AI 도메인 내의 특정 사용자 프로필( 사용client.update_userprofile) 또는 도메인 설정( 사용client.update_domain)에 대한 사용자 프로필 설정을 업데이트합니다. 특히 JupyterLab 애플리케이션이 Amazon EMR 계정 내에서 Amazon EMR 클러스터를 실행하기 위해 특정 IAM 역할(AssumableRole)을 수임할 수 있습니다.

    import botocore.session import json sess = botocore.session.get_session() client = sess.create_client('sagemaker') client.update_userprofile( DomainId="domainID", UserProfileName="user-profile-name", DefaultUserSettings={ 'JupyterLabAppSettings': { 'EmrSettings': { 'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"], 'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServiceRole", "arn:aws:iam::emr-accountID:role/AnotherServiceRole"] } } }) resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name") resp['CreationTime'] = str(resp['CreationTime']) resp['LastModifiedTime'] = str(resp['LastModifiedTime']) print(json.dumps(resp, indent=2))
    For users of Studio Classic

    Studio Classic 실행 역할에 ARN의 AssumableRole를 제공합니다. 는 시작 시 Jupyter 서버에 의해 로드ARN됩니다. Studio에서 사용하는 실행 역할은 해당 교차 계정 역할을 수임하여 신뢰 계정의 Amazon EMR 클러스터를 검색하고 연결합니다.

    수명 주기 구성(LCC) 스크립트를 사용하여이 정보를 지정할 수 있습니다. 도메인 또는 특정 사용자 프로필LCC에를 연결할 수 있습니다. 사용하는 LCC 스크립트는 JupyterServer 구성이어야 합니다. LCC 스크립트를 생성하는 방법에 대한 자세한 내용은 Studio Classic에서 수명 주기 구성 사용을 참조하세요.

    다음은 예제 LCC 스크립트입니다. 스크립트를 수정하려면 AssumableRoleemr-account를 각각 실제 값으로 바꿉니다. 교차 계정의 수는 5개로 제한됩니다.

    # This script creates the file that informs Studio Classic that the role "arn:aws:iam::emr-account:role/AssumableRole" in remote account "emr-account" must be assumed to list and describe Amazon EMR clusters in the remote account. #!/bin/bash set -eux FILE_DIRECTORY="/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE" FILE_NAME="emr-discovery-iam-role-arns-DO_NOT_DELETE.json" FILE="$FILE_DIRECTORY/$FILE_NAME" mkdir -p $FILE_DIRECTORY cat > "$FILE" <<- "EOF" { emr-cross-account1: "arn:aws:iam::emr-cross-account1:role/AssumableRole", emr-cross-account2: "arn:aws:iam::emr-cross-account2:role/AssumableRole" } EOF

    가 LCC 실행되고 파일이 작성되면 서버는 파일을 읽고 교차 계정를 /home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE/emr-discovery-iam-role-arns-DO_NOT_DELETE.json 저장합니다ARN.

Studio 또는 Studio Classic 노트북에서 Amazon EMR 클러스터를 검색하고 연결하는 방법에 대한 Studio 또는 Studio Classic의 Amazon EMR 클러스터 나열 자세한 내용은 섹션을 참조하세요.