AWS Glue 대화형 세션으로 시작하기 - 아마존 SageMaker

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

AWS Glue 대화형 세션으로 시작하기

이 가이드에서는 SageMaker Studio Classic에서 AWS Glue 대화형 세션을 시작하고 Jupyter magics를 사용하여 환경을 관리하는 방법을 알아봅니다.

스튜디오 클래식의 AWS Glue 인터랙티브 세션에 대한 권한 SageMaker

이 섹션에서는 Studio Classic에서 AWS Glue 대화형 세션을 실행하는 데 필요한 정책을 나열하고 이러한 정책을 설정하는 방법을 설명합니다. 특히 다음과 같은 방법을 자세히 설명합니다.

  • AwsGlueSessionUserRestrictedServiceRole관리형 정책을 SageMaker 실행 역할에 연결하십시오.

  • SageMaker 실행 역할에 대한 인라인 사용자 지정 정책을 생성하세요.

  • SageMaker 실행 역할의 신뢰 관계를 수정하세요.

AwsGlueSessionUserRestrictedServiceRole 관리형 정책을 실행 역할에 연결하려면
  1. IAM 콘솔(IAM console)을 엽니다.

  2. 왼쪽 패널에서 역할을 선택합니다.

  3. 스튜디오 클래식 실행 역할을 찾아보세요. 역할 요약 페이지에 액세스하려면 역할 이름을 선택합니다.

  4. 권한 탭의 권한 추가 드롭다운 메뉴에서 정책 연결을 선택합니다.

  5. AwsGlueSessionUserRestrictedServiceRole 관리형 정책 옆의 확인란을 선택합니다.

  6. 정책 연결을 선택합니다.

    요약 페이지에는 새로 추가된 관리형 정책이 표시됩니다.

실행 역할에 대한 인라인 사용자 지정 정책을 생성하려면
  1. 권한 추가 드롭다운 메뉴에서 인라인 정책 생성을 선택합니다.

  2. JSON 탭을 선택합니다.

  3. 다음 정책을 복사하여 붙여 넣습니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "unique_statement_id", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "sts:GetCallerIdentity" ], "Resource": "*" } ] }
  4. 정책 검토를 선택합니다.

  5. 이름을 입력한 다음 정책 생성을 선택합니다.

    요약 페이지에는 새로 추가된 사용자 지정 정책이 표시됩니다.

실행 역할에 대한 신뢰 관계를 수정하려면
  1. 신뢰 관계 탭을 선택합니다.

  2. 신뢰 정책 편집을 선택합니다.

  3. 다음 정책을 복사하여 붙여 넣습니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com", "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  4. 정책 업데이트를 선택합니다.

다른 AWS 리소스에 액세스해야 하는 경우 역할과 정책을 추가할 수 있습니다. 포함할 수 있는 추가 역할 및 정책에 대한 설명은 AWS Glue 설명서에서 IAM을 사용한 대화형 세션을 참조하십시오.

태그 전파

태그는 일반적으로 비용을 추적 및 할당하고, 세션에 대한 액세스를 제어하고, 리소스를 격리하는 등의 작업에 사용됩니다. 태그 지정을 사용하여 AWS 리소스에 메타데이터를 추가하는 방법에 대해 알아보거나 일반적인 사용 사례에 대한 자세한 내용은 추가 정보 섹션을 참조하세요.

Studio Classic UI에서 만든 새 AWS Glue 대화형 세션에 AWS 태그를 자동으로 전파하도록 활성화할 수 있습니다. SageMaker Studio Classic에서 AWS Glue 대화형 세션을 생성하면 사용자 프로필 또는 공유 공간에 첨부된 모든 사용자 정의 태그가 새 AWS Glue 대화형 세션으로 전달됩니다. 또한 SageMaker Studio Classic은 두 개의 AWS생성된 내부 태그 (sagemaker:user-profile-arnsagemaker:domain-arn) 또는 (sagemaker:shared-space-arnsagemaker:domain-arn)) 를 Studio Classic UI에서 만든 새 AWS Glue 대화형 세션에 자동으로 추가합니다. 이러한 태그를 사용하여 개별 도메인, 사용자 프로필 또는 스페이스의 비용을 집계할 수 있습니다.

태그 전파 활성화

새 AWS Glue 대화형 세션에 태그를 자동으로 전파하려면 세션과 관련된 SageMaker 실행 역할 및 IAM 역할에 다음 권한을 설정하십시오. AWS Glue

참고

기본적으로 AWS Glue 대화형 세션과 관련된 역할은 SageMaker 실행 역할과 동일합니다. %iam_rolemagic 명령을 사용하여 AWS Glue 대화형 세션에 다른 실행 역할을 지정할 수 있습니다. AWS Glue 대화형 세션을 구성하는 데 사용할 수 있는 Jupyter magic 명령에 대한 자세한 내용은 을 참조하십시오. 스튜디오 클래식에서 AWS Glue 인터랙티브 세션을 구성하세요. SageMaker

  • SageMaker 실행 역할: 새 인라인 정책을 생성하고 다음 JSON 파일을 붙여넣습니다. 정책은 실행 역할에 사용자 프로필, 공유 공간 DescribeUserProfileDescribeSpace, 도메인에 설정된 태그 (DescribeDomain) 를 설명 (,,ListTag) 하고 나열할 수 있는 권한을 부여합니다. SageMaker

    { "Effect": "Allow", "Action": [ "sagemaker:ListTags" ], "Resource": [ "arn:aws:sagemaker:*:*:user-profile/*", "arn:aws:sagemaker:*:*:space/*" ] }, { "Effect": "Allow", "Action": [ "sagemaker:DescribeUserProfile" ], "Resource": [ "arn:aws:sagemaker:*:*:user-profile/*" ] }, { "Effect": "Allow", "Action": [ "sagemaker:DescribeSpace" ], "Resource": [ "arn:aws:sagemaker:*:*:space/*" ] } { "Effect": "Allow", "Action": [ "sagemaker:DescribeDomain" ], "Resource": [ "arn:aws:sagemaker:*:*:domain/*" ] }
  • AWS Glue 세션의 IAM 역할에서: 새 인라인 정책을 생성하고 다음 JSON 파일을 붙여넣습니다. 정책은 세션에 태그(TagResource)를 첨부하거나 태그 목록(GetTags)을 검색할 수 있는 권한을 역할에 부여합니다.

    { "Effect": "Allow", "Action": [ "glue:TagResource", "glue:GetTags" ], "Resource": [ "arn:aws:glue:*:*:session/*" ] }
참고
  • 이러한 권한을 적용하는 동안 오류가 발생해도 AWS Glue 대화형 세션을 생성할 수 있는 것은 아닙니다. SageMaker Studio Classic CloudWatch로그에서 실패 원인에 대한 세부 정보를 찾을 수 있습니다.

  • 태그 값의 업데이트를 전파하려면 AWS Glue 대화형 세션의 커널을 다시 시작해야 합니다.

다음 사항을 명심해야 합니다.

  • 일단 세션에 태그가 첨부되면 전파를 통해 제거할 수 없습니다.

    AWS CLI, AWS Glue API 또는 https://console.aws.amazon.com/sagemaker/ 을 통해 AWS Glue 대화형 세션에서 직접 태그를 제거할 수 있습니다. 예를 들어 를 사용하면 다음과 같이 세션의 ARN과 제거하려는 태그 키를 제공하여 태그를 제거할 수 있습니다. AWS CLI

    aws glue untag-resource \ --resource-arn arn:aws:glue:region:account-id:session:session-name \ --tags-to-remove tag-key1,tag-key2
  • SageMaker Studio Classic은 두 개의 AWS생성된 내부 태그 (sagemaker:user-profile-arnsagemaker:domain-arn) 또는 (sagemaker:shared-space-arnsagemaker:domain-arn)) 를 Studio Classic UI에서 만든 새 AWS Glue 대화형 세션에 추가합니다. 이러한 태그는 모든 AWS 리소스에 설정된 태그 50개 한도에 포함됩니다. 둘 다 sagemaker:user-profile-arn 속해 있는 도메인 ID를 sagemaker:shared-space-arn 포함합니다.

  • 또는 로 aws: 시작하는 태그 키 또는 대문자와 소문자의 조합을 키 접두사로 사용하는 태그는 전파되지 않으며 사용할 수 있도록 예약되어 있습니다. AWS: AWS

추가 정보

자세한 내용은 다음 리소스를 참조할 수도 있습니다.

SageMaker스튜디오 클래식에서 AWS Glue 대화형 세션을 시작하세요.

역할, 정책 및 SageMaker 도메인을 생성한 후 SageMaker Studio Classic에서 AWS Glue 대화형 세션을 시작할 수 있습니다.

SageMaker 스튜디오 AWS Glue 클래식에서 실행하려면
  1. SageMaker 도메인을 생성하세요. 새 도메인을 만드는 방법에 대한 지침은 을 참조하십시오아마존 SageMaker 도메인 개요.

  2. https://console.aws.amazon.com/sagemaker/ 에서 SageMaker 콘솔에 로그인합니다.

  3. 왼쪽 패널에서 제어판을 선택합니다.

  4. 사용자 이름 옆에 있는 앱 실행 드롭다운 메뉴에서 Studio를 선택합니다.

  5. Jupyter 보기에서 파일, 새로 만들기, 노트북을 차례로 선택합니다.

  6. 이미지 드롭다운 메뉴에서 SparkAnalytics 1.0 또는 SparkAnalytics2.0을 선택합니다. 커널 드롭다운 메뉴에서 Glue Spark 또는 Glue Python [PySpark 및 Ray] 를 선택합니다. 선택을 선택하세요.

  7. (선택 사항) Jupyter 매직을 사용하여 환경을 사용자 지정합니다. Jupyter 매직에 대한 자세한 내용은 스튜디오 클래식에서 AWS Glue 인터랙티브 세션을 구성하세요. SageMaker 섹션을 참조하세요.

  8. Spark 데이터 처리 스크립트 작성을 시작하세요.

스튜디오 클래식에서 AWS Glue 인터랙티브 세션을 구성하세요. SageMaker

참고

모든 매직 구성은 커널의 수명 기간 동안 후속 세션으로 전달됩니다. AWS Glue

AWS Glue 대화형 세션에서 Jupyter magics를 사용하여 세션 및 구성 매개변수를 수정할 수 있습니다. Magic은 Jupyter 셀 시작 부분에 % 접두사가 붙은 짧은 명령으로, 환경을 제어하는 데 도움이 되는 빠르고 쉬운 방법을 제공합니다. AWS Glue 대화형 세션에서는 기본적으로 다음과 같은 매직이 설정됩니다.

매직 기본값
%glue_version

3.0

%iam_role

SageMaker도메인에 연결된 실행 역할

%region

해당 리전

매직을 사용하여 환경을 추가로 사용자 지정할 수 있습니다. 예를 들어 작업에 할당된 작업자 수를 기본 5명에서 10명으로 변경하려는 경우 %number_of_workers 10을 지정할 수 있습니다. 기본값인 2880 대신 10분 간의 유휴 시간이 지나면 세션이 중지되도록 구성하려면 %idle_timeout 10을 지정할 수 있습니다.

현재 제공되는 모든 Jupyter AWS Glue 매직은 스튜디오 클래식에서도 사용할 수 있습니다. SageMaker 사용 가능한 AWS Glue 매직 전체 목록을 보려면 Jupyter 및 Studio Classic 노트북의 AWS Glue 대화형 세션 구성을 참조하십시오. AWS Glue