

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

# AWS Glue 대화형 세션 시작하기
<a name="getting-started-glue-sm"></a>

이 가이드에서는 SageMaker AI Studio Classic에서 AWS Glue 대화형 세션을 시작하고 Jupyter 매직으로 환경을 관리하는 방법을 알아봅니다.

## Studio 또는 Studio Classic의 AWS Glue 대화형 세션에 대한 권한
<a name="glue-sm-iam"></a>

이 섹션에서는 Studio 또는 Studio Classic에서 AWS Glue 대화형 세션을 실행하는 데 필요한 정책을 나열하고 설정하는 방법을 설명합니다. 특히 다음과 같은 방법을 자세히 설명합니다.
+ `AwsGlueSessionUserRestrictedServiceRole` 관리형 정책을 SageMaker AI 실행 역할에 연결합니다.
+ SageMaker AI 실행 역할에 대한 인라인 사용자 지정 정책을 생성하세요.
+ SageMaker AI 실행 역할에 대한 신뢰 관계를 수정합니다.

**`AwsGlueSessionUserRestrictedServiceRole` 관리형 정책을 실행 역할에 연결하려면**

1. [IAM 콘솔](https://console.aws.amazon.com/iam/)을 엽니다.

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

1. 사용자 프로필에서 사용하는 Studio Classic 실행 역할을 찾습니다. 사용자 프로필을 보는 방법에 대한 자세한 내용은 [도메인의 사용자 프로필 보기](domain-user-profile-view.md) 섹션을 참조하세요.

1. 역할 요약 페이지에 액세스하려면 역할 이름을 선택합니다.

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

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

1. **정책 연결**을 선택합니다.

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

   

**실행 역할에 대한 인라인 사용자 지정 정책을 생성하려면**

1. **권한 추가** 드롭다운 메뉴에서 **인라인 정책 생성**을 선택합니다.

1. **JSON** 탭을 선택합니다.

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

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "uniqueStatementId",
   
               "Effect": "Allow",
               "Action": [
   	     "iam:GetRole",
                   "iam:PassRole",
                   "sts:GetCallerIdentity"
               ],
               "Resource": "arn:aws:iam::*:role/GlueServiceRole*"
           }
       ]
   }
   ```

------

1. **정책 검토**를 선택합니다.

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

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

   

**실행 역할에 대한 신뢰 관계를 수정하려면**

1. **신뢰 관계** 탭을 선택합니다.

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

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

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Principal": {
               "Service": [
                   "glue.amazonaws.com",
                   "sagemaker.amazonaws.com"
               ]
           },
           "Action": "sts:AssumeRole"
       }
   ]
   }
   ```

------

1. **정책 업데이트**를 선택합니다.

다른 AWS 리소스에 액세스해야 하는 경우 역할과 정책을 추가할 수 있습니다. 포함할 수 있는 추가 역할 및 정책에 대한 설명은 AWS Glue 설명서의 [IAM을 사용한 대화형 세션을](https://docs.aws.amazon.com/glue/latest/dg/glue-is-security.html) 참조하세요.

## 태그 전파
<a name="glue-sm-tag-propagation"></a>

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

Studio 또는 Studio Classic UI 내에서 생성된 새 AWS Glue 대화형 세션에 AWS 태그를 자동으로 전파할 수 있습니다. Studio 또는 Studio Classic에서 대화형 세션을 생성하면 AWS Glue 사용자 프로필 또는 공유 스페이스에 연결된 모든 [사용자 정의 태그](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html)가 새 AWS Glue 대화형 세션으로 전달됩니다. 또한 Studio 및 Studio Classic은 AWS UI에서 생성된 새 AWS Glue 대화형 세션에 두 개의 생성된 내부 태그((`sagemaker:user-profile-arn` 및 `sagemaker:domain-arn`) 또는 (`sagemaker:shared-space-arn` 및 `sagemaker:domain-arn`))를 자동으로 추가합니다. 이러한 태그를 사용하여 개별 도메인, 사용자 프로필 또는 공간의 비용을 집계할 수 있습니다.

### 태그 전파 활성화
<a name="enable-propagation"></a>

새 AWS Glue 대화형 세션에 태그를 자동으로 전파하려면 SageMaker AI 실행 역할과 AWS Glue 세션과 연결된 IAM 역할에 대해 다음 권한을 설정합니다.

**참고**  
기본적으로 AWS Glue 대화형 세션과 연결된 역할은 SageMaker AI 실행 역할과 동일합니다. `%iam_role` 매직 명령을 사용하여 AWS Glue 대화형 세션에 대해 다른 실행 역할을 지정할 수 있습니다. AWS Glue 대화형 세션을 구성하는 데 사용할 수 있는 Jupyter 매직 명령에 대한 자세한 내용은 [Studio 또는 Studio Classic에서 AWS Glue 대화형 세션 구성](#glue-sm-magics) 섹션을 참조하세요.
+ *SageMaker AI 실행 역할에서*: 새 인라인 정책을 생성하고 다음 JSON 파일을 붙여넣습니다. 정책은 실행 역할에 사용자 프로필, 공유 스페이스 및 SageMaker AI 도메인에 설정된 태그를 설명(`DescribeUserProfile`, `DescribeSpace`, `DescribeDomain`)하고 나열(`ListTag`)할 수 있는 권한을 부여합니다.

  ```
  {
      "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 대화형 세션이 생성되지는 않습니다. Studio 또는 Studio Classic [CloudWatch](https://docs.aws.amazon.com//sagemaker/latest/dg/monitoring-cloudwatch.html) 로그에서 실패 원인에 대한 세부 정보를 찾을 수 있습니다.
태그 값의 업데이트를 전파하려면 AWS Glue 대화형 세션의 커널을 다시 시작해야 합니다.

다음 사항을 명심해야 합니다.
+ 일단 세션에 태그가 첨부되면 전파를 통해 제거할 수 없습니다.

  , AWS CLI AWS Glue API 또는 [https://console.aws.amazon.com/sagemaker/](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
  ```
+ Studio 및 Studio Classic은 AWS UI에서 생성된 새 AWS Glue 대화형 세션에 두 개의 생성된 내부 태그((`sagemaker:user-profile-arn` 및 `sagemaker:domain-arn`) 또는 (`sagemaker:shared-space-arn` 및 `sagemaker:domain-arn`))를 추가합니다. 이러한 태그는 모든 AWS 리소스에 설정된 50개 태그 제한에 포함됩니다. `sagemaker:user-profile-arn` 및 `sagemaker:shared-space-arn` 둘 다 속해 있는 도메인 ID를 포함합니다.
+ `aws:`, `AWS:`또는 대문자와 소문자를 접두사로 조합하여 시작하는 태그 키는 전파되지 않으며 AWS 사용하도록 예약됩니다.

### 추가 정보
<a name="more-information"></a>

자세한 내용은 다음 리소스를 참조할 수도 있습니다.
+ 태그 지정을 사용하여 AWS 리소스에 메타데이터를 추가하는 방법에 대한 자세한 내용은 [리소스 태그 지정을 AWS](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)참조하세요.
+ 태그를 사용한 비용 추적에 대한 자세한 내용은 Studio 또는 Studio Classic 관리 모범 사례의 [Cost analysis](https://docs.aws.amazon.com/whitepapers/latest/sagemaker-studio-admin-best-practices/cost-attribution.html)를 참조하세요.
+ 태그 키를 AWS Glue 기반으로에 대한 액세스를 제어하는 방법에 대한 자세한 내용은 [ABAC with AWS Glue](glue/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-tags)를 참조하세요.

## Studio 또는 Studio Classic에서 AWS Glue 대화형 세션 시작
<a name="glue-sm-launch"></a>

역할, 정책 및 SageMaker AI 도메인을 만든 후 Studio 또는 Studio Classic에서 AWS Glue 대화형 세션을 시작할 수 있습니다.

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔에 로그인합니다.

1. 왼쪽 탐색 창에서 **Studio**를 선택합니다.

1. Studio 랜딩 페이지에서 Studio를 시작할 도메인 및 사용자 프로필을 선택합니다.

1. **Studio 열기**를 선택하고 JupyterLab 또는 Studio Classic 애플리케이션을 시작합니다.

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

1. Studio Classic 사용자의 경우 **이미지** 드롭다운 메뉴에서 **SparkAnalytics 1.0** 또는 **SparkAnalytics 2.0**을 선택합니다. **커널** 드롭다운 메뉴에서 **Glue Spark** 또는 **Glue Python [PySpark 및 Ray]**을 선택합니다. **선택**을 선택하세요.

   Studio 사용자의 경우 **Glue Spark** 또는 **Glue Python [PySpark and Ray]** 커널을 선택합니다.

1. (선택 사항) Jupyter 매직을 사용하여 환경을 사용자 지정합니다. Jupyter 매직에 대한 자세한 내용은 [Studio 또는 Studio Classic에서 AWS Glue 대화형 세션 구성](#glue-sm-magics) 섹션을 참조하세요.

1. Spark 데이터 처리 스크립트 작성을 시작하세요. 다음 [노트북](https://github.com/aws/amazon-sagemaker-examples/blob/main/use-cases/pyspark_etl_and_training/pyspark-etl-training.ipynb)은 AWS Glue 대화형 세션, 탐색 데이터 분석, 데이터 사전 처리, 마지막으로 SageMaker AI를 사용하여 처리된 데이터에 대한 모델 훈련을 사용하는 대규모 데이터 세트의 ETL에 대한 end-to-end 워크플로를 보여줍니다.

## Studio 또는 Studio Classic에서 AWS Glue 대화형 세션 구성
<a name="glue-sm-magics"></a>

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

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


| 매직 | 기본값  | 
| --- | --- | 
| %glue\$1version |  3.0  | 
| %iam\$1role |  *SageMaker AI 도메인에 연결된 실행 역할*  | 
| %region |  해당 리전  | 

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

현재에서 사용할 수 있는 모든 Jupyter 매직 AWS Glue 은 Studio 또는 Studio Classic에서도 사용할 수 있습니다. 사용 가능한 AWS Glue 매직의 전체 목록은 [Jupyter 및 AWS Glue Studio 노트북에 대한 대화형 세션 구성을 AWS Glue 참조하세요](https://docs.aws.amazon.com/glue/latest/dg/interactive-sessions-magics.html).