

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Karpenter で HyperPod オートスケーリングの IAM ロールを作成する
<a name="sagemaker-hyperpod-eks-autoscaling-iam"></a>

次のステップでは、SageMaker HyperPod が Karpenter ベースのオートスケーリングを使用して、クラスター内の Kubernetes ノードを管理できるようにする IAM ロールを作成します。このロールは、HyperPod がワークロードの需要に基づいてクラスターノードを自動的に追加および削除するために必要なアクセス許可を提供します。

**IAM コンソールを開きます**

1. にサインイン AWS マネジメントコンソール し、console.aws.amazon.com で IAM コンソールを開きます。

1. ナビゲーションペインで **Roles (ロール) ** を選択してください。

1. [**ロールの作成**] を選択してください。

**信頼ポリシーを設定する**

1. **[信頼されたエンティティのタイプ]** で、**[カスタム信頼ポリシー]** を選択します。

1. **[カスタム信頼ポリシー]** エディタで、デフォルトポリシーを以下に置き換えます。

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

****  

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

------

1. [**次へ**] を選択します。

**許可ポリシーを作成してアタッチする**

SageMaker HyperPod には、 AWS マネージドポリシーで利用できない特定のアクセス許可が必要なため、カスタムポリシーを作成する必要があります。

1. [**Create policy**] (ポリシーの作成) を選択します。新しいブラウザタブが開きます。

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. [**ポリシー名**] に「**SageMakerHyperPodKarpenterPolicy**」と入力します。

1. (オプション) [**Description (説明)**] に、ポリシーの説明を入力します。

1. [**Create policy**] を選択します。

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` の形式です。