

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

# AWS Parallel Computing Service の IAM インスタンスプロファイル
<a name="security-instance-profiles"></a>

EC2 インスタンスで実行されるアプリケーションは、実行する AWS API リクエストに AWS 認証情報を含める必要があります。EC2 インスタンスの一時的な認証情報を管理するには、IAM ロールを使用することをお勧めします。これを行うインスタンスプロファイルを定義し、インスタンスにアタッチできます。詳細については、[Amazon EC2 の IAM ロール](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)」を参照してください。 **

**注記**  
を使用して Amazon EC2 の IAM ロール AWS マネジメントコンソール を作成すると、コンソールによってインスタンスプロファイルが自動的に作成され、IAM ロールと同じ名前が付けられます。 AWS CLI、 AWS API アクション、または AWS SDK を使用して IAM ロールを作成する場合は、別のアクションとしてインスタンスプロファイルを作成します。詳細については、*「Amazon Elastic Compute Cloud ユーザーガイド*」の[「インスタンスプロファイル](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#ec2-instance-profile)」を参照してください。

コンピューティングノードグループを作成するときは、インスタンスプロファイルの Amazon リソースネーム (ARN) を指定する必要があります。コンピューティングノードグループの一部またはすべてに異なるインスタンスプロファイルを選択できます。

## 要件
<a name="security-instance-profiles_requirements"></a>

### インスタンスプロファイルの IAM ロール
<a name="security-instance-profiles_requirements_role"></a>

インスタンスプロファイルに関連付けられた IAM ロールは、パス`/aws-pcs/`に が含まれているか、名前が で始まる必要があります`AWSPCS`。

**IAM ロール ARNs の例**
+  `arn:aws:iam::*:role/AWSPCS-example-role-1` 
+  `arn:aws:iam::*:role/aws-pcs/example-role-2` 

### アクセス許可
<a name="security-instance-profiles_requirements_permissions"></a>

 PCS のインスタンスプロファイルに関連付けられた IAM AWS ロールには、次のポリシーが含まれている必要があります。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "pcs:RegisterComputeNodeGroupInstance"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

## 追加ポリシー
<a name="security-instance-profiles_additional-policies"></a>

インスタンスプロファイルに管理ポリシーを追加することを検討してください。例えば、次のようになります。
+  [AmazonS3ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonS3ReadOnlyAccess.html) は、すべての S3 バケットへの読み取り専用アクセスを提供します。
+ [AmazonSSMManagedInstanceCore](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html) は、Amazon マネジメントコンソールから直接リモートアクセスするなど、AWS Systems Manager のサービスコア機能を有効にします。
+ [CloudWatchAgentServerPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchAgentServerPolicy.html) には、サーバーで AmazonCloudWatchAgent を使用するために必要なアクセス許可が含まれています。

特定のユースケースをサポートする独自の IAM ポリシーを含めることもできます。

# PCS AWS のインスタンスプロファイルを作成する
<a name="security-instance-profiles_create"></a>

------
#### [ AWS PCS console ]

コンピューティングノードグループを作成するときに**基本プロファイルを作成する**を選択し、必要最小限のポリシーで PCS AWS に作成させます。

------
#### [ Amazon EC2 console ]

インスタンスプロファイルは、Amazon EC2 コンソールから直接作成できます。詳細については、「 *AWS Identity and Access Management ユーザーガイド*」の[「インスタンスプロファイル](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)の使用」を参照してください。

**重要**  
IAM ロール名`AWSPCS`には、必ず必要なプレフィックスを使用してください。

------
#### [ AWS CLI ]

**AWS CLI を使用した基本的なインスタンスプロファイルの設定**
**注記**  
次の例の *example-role* を IAM ロールの名前に置き換えます。

1. をパス属性として、または で始まる名前`/aws-pcs/`として IAM ロールを作成します`AWSPCS`。

   1. 次のコンテンツをコピーして、 という名前の新しいテキストファイルに貼り付けます`trust_policy.json`。  
****  

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

   1. IAM ロールを作成するには、次のいずれかのコマンドを使用します。

      ```
      aws iam create-role --path /aws-pcs/ --role-name example-role --assume-role-policy-document file://trust_policy.json
      ```

      または

      ```
      aws iam create-role --role-name AWSPCS-example-role --assume-role-policy-document file://trust_policy.json
      ```

1. **アクセス許可をアタッチします。**

   1. 次のコンテンツをコピーして、 という名前の新しいテキストファイルに貼り付けます`policy_document.json`。  
****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Action": [
                      "pcs:RegisterComputeNodeGroupInstance"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
      ```

   1. ポリシードキュメントをロールにアタッチします。このコマンドは、ポリシーをインラインポリシーとしてアタッチします。

      ```
      aws iam put-role-policy \  
          --role-name example-role \  
          --policy-name pcsRegisterInstancePolicy \  
          --policy-document file://policy_document.json
      ```

1. **インスタンスプロファイルを作成します。*example-profile* をインスタンスプロファイルの名前に置き換えます。**

   ```
   aws iam create-instance-profile --instance-profile-name example-profile
   ```

1. **IAM ロールをインスタンスプロファイルに関連付けます。**

   ```
   aws iam add-role-to-instance-profile \  
      --instance-profile-name example-profile \  
      --role-name example-role
   ```

------

# PCS AWS で使用されるインスタンスプロファイルを検索する
<a name="security-instance-profiles_find"></a>

1.  AWS PCS の IAM ロールの正確な名前がわからない場合は、次の AWS CLI コマンドを使用して、PCS 名要件を満たす IAM AWS ロールを一覧表示します。

   ```
   aws iam list-roles --query "Roles[?starts_with(RoleName, 'AWSPCS') || contains(Path, '/aws-pcs/')].[RoleName]" --output text
   ```

1. 次の AWS CLI コマンドを使用して、特定の IAM ロールに関連付けられたインスタンスプロファイルを一覧表示します。*role-name* を、PCS 名要件を満たす IAM AWS ロールの名前に置き換えます。

   ```
   aws iam list-instance-profiles-for-role --role-name role-name
   ```