Amazon EMR 클러스터 목록 구성 - 아마존 SageMaker

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

Amazon EMR 클러스터 목록 구성

관리자는 사용자가 액세스 권한이 있는 Amazon EMR 클러스터 목록을 보고 해당 클러스터에 연결할 수 있도록 Studio를 구성할 수 있습니다. 클러스터는 Studio와 동일한 AWS 계정 (단일 계정 탭 선택) 또는 별도의 계정 (교차 계정 탭 선택) 에 배포할 수 있습니다.

참고

Studio는 현재 Studio가 배포된 계정과 다른 AWS 계정에서 생성된 Amazon EMR 클러스터에 액세스하는 것을 지원하지 않습니다. 계정 간 액세스는 Studio Classic에서만 사용할 수 있습니다.

Single account

Amazon EMR 클러스터와 Studio 또는 Studio Classic이 동일한 AWS 계정에 배포된 경우 클러스터에 액세스하는 SageMaker 실행 역할에 다음 권한을 추가하십시오.

참고

어떤 실행 역할을 고려해야 할까요?

Studio UI는 해당 UI를 실행한 사용자 프로필과 관련된 실행 역할에 따라 권한을 결정합니다. UI는 실행 시 이러한 권한을 설정합니다. 하지만 시작하는 스페이스 JupyterLab 또는 Studio Classic 애플리케이션에는 별도의 권한이 있을 수 있습니다.

애플리케이션 (예: Studio UI, JupyterLab Studio Classic) 에서 Amazon EMR 템플릿 및 클러스터에 일관되게 액세스하려면 도메인, 사용자 프로필 또는 스페이스 수준에서 모든 역할에 동일한 권한 하위 집합을 부여하십시오. 권한은 Amazon EMR 클러스터를 검색하고 프로비저닝할 수 있어야 합니다.

  1. 도메인, 사용자 프로필 또는 스페이스의 실행 역할을 찾으십시오. 실행 역할을 검색하는 방법에 대한 자세한 내용은 을 참조하십시오실행 역할 가져오기.

  2. https://console.aws.amazon.com/sagemaker/에서 IAM 콘솔을 엽니다.

  3. 역할을 선택한 다음 검색 필드에 역할 이름을 입력하여 생성한 역할을 검색합니다.

  4. 링크를 따라 내 역할로 이동하세요.

  5. 권한 추가를 선택한 다음 인라인 정책 생성을 선택합니다.

  6. JSON 탭에서 다음 JSON 정책을 권한과 함께 추가합니다.

    • AllowSagemakerProjectManagement를 생성할 수 있습니다. 스튜디오 또는 스튜디오 클래식에서는 를 통해 액세스 권한이 AWS Service Catalog 부여됩니다.

    • AllowClusterDetailsDiscoveryAllowClusterDiscovery를 통해 Amazon EMR 클러스터를 검색하고 연결할 수 있습니다.

    • AllowPresignedUrl을 통해 미리 서명된 URL을 생성하여 Spark UI에 액세스합니다.

    제공된 JSON에 정의된 IAM 정책은 이러한 권한을 부여합니다. 설명 목록을 역할의 인라인 정책에 복사하기 전에 스튜디오 지역 및 스튜디오 AWS 계정을 실제 지역 및 계정 ID 값으로 바꾸십시오.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:CreatePersistentAppUI", "elasticmapreduce:DescribePersistentAppUI", "elasticmapreduce:GetPersistentAppUIPresignedURL", "elasticmapreduce:GetOnClusterAppUIPresignedURL" ], "Resource": [ "arn:aws:elasticmapreduce:studio-region:studio-account:cluster/*" ] }, { "Sid": "AllowClusterDetailsDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstances", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:DescribeSecurityConfiguration" ], "Resource": [ "arn:aws:elasticmapreduce:studio-region:studio-account:cluster/*" ] }, { "Sid": "AllowClusterDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:ListClusters" ], "Resource": "*" }, { "Sid": "AllowSagemakerProjectManagement", "Effect": "Allow", "Action": [ "sagemaker:CreateProject", "sagemaker:DeleteProject" ], "Resource": "arn:aws:sagemaker:studio-region:studio-account:project/*" } ] }
  7. 정책 이름을 지정하고 정책 생성을 선택합니다.

Cross account

Amazon EMR 클러스터와 스튜디오 또는 스튜디오 클래식을 별도의 AWS 계정에 배포하는 경우 두 계정 모두에 권한을 구성합니다.

아마존 EMR 계정에서

Amazon EMR이 배포된 계정 (신뢰 계정이라고도 함) 에서 다음 ASSUMABLE-ROLE 구성으로 이름이 지정된 사용자 지정 IAM 역할을 생성합니다.

  • 권한: Amazon EMR 리소스 액세스를 허용하는 ASSUMABLE-ROLE 데 필요한 권한을 부여합니다.

  • 신뢰 관계: 액세스가 필요한 Studio 계정의 역할을 ASSUMABLE-ROLE 수임할 수 있도록 신뢰 정책을 구성합니다.

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

  • 역할에 대한 새 정책을 생성하십시오.

    1. https://console.aws.amazon.com/sagemaker/에서 IAM 콘솔을 엽니다.

    2. 왼쪽 메뉴에서 정책을 선택한 다음 정책 생성을 선택합니다.

    3. JSON 탭에서 권한과 함께 다음 JSON 정책을 추가합니다.

      • AllowClusterDetailsDiscoveryAllowClusterDiscovery를 통해 Amazon EMR 클러스터를 검색하고 연결합니다.

      • AllowPresignedUrl을 통해 미리 서명된 URL을 생성하여 Spark UI에 액세스합니다.

      JSON을 정책에 복사하기 전에 emr-region 및 emr-account를 실제 지역 및 AWS 계정 ID 값으로 바꾸십시오.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:CreatePersistentAppUI", "elasticmapreduce:DescribePersistentAppUI", "elasticmapreduce:GetPersistentAppUIPresignedURL", "elasticmapreduce:GetOnClusterAppUIPresignedURL" ], "Resource": [ "arn:aws:elasticmapreduce:emr-region:emr-account:cluster/*" ] }, { "Sid": "AllowClusterDetailsDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstances", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:DescribeSecurityConfiguration" ], "Resource": [ "arn:aws:elasticmapreduce:emr-region:emr-account:cluster/*" ] }, { "Sid": "AllowClusterDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:ListClusters" ], "Resource": "*" } ] }
    4. 정책 이름을 지정하고 정책 생성을 선택합니다.

  • 이라는 ASSUMABLE-ROLE 사용자 지정 IAM 역할을 만든 다음 새 정책을 역할에 연결합니다.

    1. IAM 콘솔의 왼쪽 메뉴에서 역할을 선택한 다음 역할 생성을 선택합니다.

    2. 신뢰할 수 있는 엔티티 유형에서AWS 계정을 선택한 후 다음을 선택합니다.

    3. 방금 생성한 권한을 선택하고 다음을 선택합니다.

    4. 역할 ASSUMABLE-ROLE 이름을 지정한 다음 1단계: 신뢰할 수 있는 엔티티 선택 오른쪽에 있는 편집 버튼을 선택합니다.

    5. 신뢰할 수 있는 엔티티 유형의 경우 사용자 지정 신뢰 정책을 선택한 후 다음 신뢰 관계를 붙여넣습니다. 이렇게 하면 Studio가 배포된 계정 (신뢰할 수 있는 계정) 에 이 역할을 수임할 권한이 부여됩니다.

      스튜디오 계정을 실제 AWS 계정 ID로 대체하십시오. 다음을 선택합니다.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio-account:root" }, "Action": "sts:AssumeRole" } ] }
    6. 방금 생성한 권한을 다시 찾아 선택한 후 다음을 선택합니다.

    7. 붙여넣은 최신 JSON으로 신뢰 정책을 업데이트해야 합니다. 역할 생성을 선택합니다.

스튜디오 계정에서

Studio 또는 Studio Classic이 배포된 계정 (신뢰할 수 있는 계정이라고도 함) 에서 다음 인라인 정책으로 클러스터에 액세스하는 SageMaker 실행 역할을 업데이트하십시오.

정책은 다른 계정의 리소스를 검색할 때 계정 간 역할 가정을 허용해야 합니다.

참고

어떤 실행 역할을 고려해야 할까요?

Studio UI는 해당 UI를 실행한 사용자 프로필과 관련된 실행 역할에 따라 권한을 결정합니다. UI는 실행 시 이러한 권한을 설정합니다. 하지만 시작하는 스페이스 JupyterLab 또는 Studio Classic 애플리케이션에는 별도의 권한이 있을 수 있습니다.

애플리케이션 (예: Studio UI, JupyterLab Studio Classic) 에서 Amazon EMR 템플릿 및 클러스터에 일관되게 액세스하려면 도메인, 사용자 프로필 또는 스페이스 수준에서 모든 역할에 동일한 권한 하위 집합을 부여하십시오. 권한은 Amazon EMR 클러스터를 검색하고 프로비저닝할 수 있어야 합니다.

  1. 도메인, 사용자 프로필 또는 스페이스의 실행 역할을 찾으십시오. 실행 역할을 검색하는 방법에 대한 자세한 내용은 을 참조하십시오실행 역할 가져오기.

  2. https://console.aws.amazon.com/sagemaker/에서 IAM 콘솔을 엽니다.

  3. 역할을 선택한 다음 검색 필드에 역할 이름을 입력하여 생성한 역할을 검색합니다.

  4. 링크를 따라 내 역할로 이동하세요.

  5. 실행 역할 세부 정보 페이지에서 권한 추가를 선택한 다음 인라인 정책 생성을 선택합니다.

  6. JSON 탭에서 다음 JSON 정책을 추가합니다. JSON을 정책에 복사하기 전에 emr-account를 실제 Amazon EMR 계정 ID 값으로 바꾸십시오.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::emr-account:role/ASSUMABLE-ROLE" ] }] }
  7. [다음] 을 선택한 후 정책 이름을 입력합니다.

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

  9. Studio와 동일한 계정에 배포된 Amazon EMR 클러스터를 나열할 수 있도록 하려면 의 단일 계정 탭에 정의된 대로 Studio 실행 역할에 인라인 정책을 추가합니다. Amazon EMR 클러스터 목록 구성

Jupyter 서버 시작 시 역할 ARN 전달

마지막으로 Studio 실행 역할에 의 ARN을 제공하는 방법에 대해 계정 간 액세스를 위한 추가 구성 알아보려면 ASSUMABLE-ROLE 을 참조하십시오. ARN은 시작 시 Jupyter 서버에서 로드됩니다. Studio에서 사용하는 실행 역할은 신뢰 계정에서 Amazon EMR 클러스터를 검색하기 위한 교차 계정 역할을 가정합니다.

Studio 또는 Studio Classic 노트북에서 Amazon EMR 클러스터를 검색하고 연결하는 방법에 대해 알아보려면 방문하십시오스튜디오 또는 스튜디오 클래식의 Amazon EMR 클러스터 목록.