

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

# Karpenter를 사용한 HyperPod 오토 스케일링을 위한 IAM 역할 생성
<a name="sagemaker-hyperpod-eks-autoscaling-iam"></a>

다음 단계에서는 SageMaker HyperPod가 Karpenter 기반 오토 스케일링을 통해 클러스터의 Kubernetes 노드를 관리할 수 있도록 허용하는 IAM 역할을 생성합니다. 이 역할은 HyperPod가 워크로드 수요에 따라 클러스터 노드를 자동으로 추가 및 제거하는 데 필요한 권한을 제공합니다.

**IAM 콘솔 열기**

1. 에 로그인 AWS Management Console 하고 console.aws.amazon.com IAM 콘솔을 엽니다.

1. 탐색 창에서 **Roles**를 선택합니다.

1. **역할 생성(Create role)**을 선택합니다.

**신뢰 정책 구성**

1. **신뢰할 수 있는 엔터티 유형(Trusted entity type)**에서 **사용자 지정 정책(Custom trust policy)**을 선택합니다.

1. **사용자 지정 신뢰 정책** 편집기에서 기본 정책을 다음으로 바꿉니다.

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

****  

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

------

1. **다음**을 선택합니다.

**권한 정책 생성 및 연결**

SageMaker HyperPod에는 AWS 관리형 정책에서 사용할 수 없는 특정 권한이 필요하므로 사용자 지정 정책을 생성해야 합니다.

1. **정책 생성**을 선택합니다. 그러면 새 브라우저 탭이 열립니다.

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

1. 기본 정책을 다음으로 바꿉니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:BatchAddClusterNodes",
                   "sagemaker:BatchDeleteClusterNodes"
               ],
               "Resource": "arn:aws:sagemaker:*:*:cluster/*",
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceAccount": "${aws:PrincipalAccount}"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:CreateGrant",
                   "kms:DescribeKey"
               ],
               "Resource": "arn:aws:kms:*:*:key/*",
               "Condition": {
                   "StringLike": {
                       "kms:ViaService": "sagemaker.*.amazonaws.com"
                   },
                   "Bool": {
                       "kms:GrantIsForAWSResource": "true"
                   },
                   "ForAllValues:StringEquals": {
                       "kms:GrantOperations": [
                           "CreateGrant",
                           "Decrypt",
                           "DescribeKey",
                           "GenerateDataKeyWithoutPlaintext",
                           "ReEncryptTo",
                           "ReEncryptFrom",
                           "RetireGrant"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. **다음**을 선택합니다.

1. **정책 이름(Policy name)**에 **SageMakerHyperPodKarpenterPolicy**을 입력합니다.

1. (선택 사항) **설명**에 정책에 대한 설명을 입력합니다.

1. **정책 생성**을 선택합니다.

1. 역할 생성 탭으로 돌아가서 정책 목록을 새로 고칩니다.

1. 방금 생성한 **SageMakerHyperPodKarpenterPolicy**를 검색하여 선택합니다.

1. **다음**을 선택합니다.

**역할 이름 지정 및 생성**

1. **역할 이름**에 `SageMakerHyperPodKarpenterRole`을 입력합니다.

1. (선택 사항) **설명**에 역할에 대한 설명을 입력합니다.

1. **1단계: 신뢰할 수 있는 엔터티 선택** 섹션에서 신뢰 정책에 올바른 서비스 위탁자가 표시되는지 확인합니다.

1. **2단계: 권한 추가** 섹션에서 `SageMakerHyperPodKarpenterPolicy`가 연결되어 있는지 확인합니다.

1. **역할 생성**을 선택합니다.

**역할 ARN 기록**

역할이 성공적으로 생성된 후 다음을 수행하세요.

1. **역할** 목록에서 이름이 `SageMakerHyperPodKarpenterRole`인 역할을 선택합니다.

1. **요약** 섹션에서 **역할 ARN**을 복사합니다. HyperPod 클러스터를 생성할 때 이 ARN이 필요합니다.

역할 ARN은 `arn:aws:iam::ACCOUNT-ID:role/SageMakerHyperPodKarpenterRole` 형식을 따릅니다.