

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

# での ロールの使用 AWS Batch
<a name="using-service-linked-roles-batch-general"></a>

AWS Batch は AWS Identity and Access Management (IAM) [サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用します。サービスにリンクされたロールは、直接リンクされた一意のタイプの IAM ロールです AWS Batch。サービスにリンクされたロールは によって事前定義 AWS Batch されており、サービスがユーザーに代わって他の AWS サービスを呼び出すために必要なすべてのアクセス許可が含まれています。

サービスにリンクされたロールを使用すると、必要なアクセス許可を手動で追加する必要がなくなるため、 の設定 AWS Batch が簡単になります。 は、サービスにリンクされたロールのアクセス許可 AWS Batch を定義し、特に定義されている場合を除き、 のみがそのロールを引き受け AWS Batch ることができます。定義される許可は信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。

**注記**  
 AWS Batch コンピューティング環境のサービスロールを指定するには、次のいずれかを実行します。  
サービスロールには空の文字列を使用します。これにより、 はサービスロール AWS Batch を作成できます。
以下の形式でサービスロールを指定します:`arn:aws:iam::{{account_number}}:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch`。
詳細については、「 AWS Batch ユーザーガイド[正しくないロール名または ARN](invalid_compute_environment.md#invalid_service_role_arn)」の「」を参照してください。

**重要**  
サービスにリンクされたロールの自動作成は、`MANAGED`コンピューティング環境にのみ適用されます。`UNMANAGED` コンピューティング環境では、 を明示的に指定する必要があります`serviceRole`。`UNMANAGED` コンピューティング環境のロールを省略すると、`ServiceRole is required`エラーが発生します。

サービスリンクロールを削除するには、最初に関連リソースを削除する必要があります。これにより、 AWS Batch リソースへのアクセス許可が誤って削除されないため、リソースが保護されます。

サービスにリンクされたロールをサポートする他のサービスの詳細については、[AWS 「IAM と連携するサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照し、「サービス**にリンクされたロール**」列で**「はい**」があるサービスを探します。サービスリンクロールに関するドキュメントをサービスで表示するには、リンクで **[はい]** を選択します。

## のサービスにリンクされたロールのアクセス許可 AWS Batch
<a name="service-linked-role-permissions-batch-general"></a>

AWS Batch は、**AWSServiceRoleForBatch** という名前のサービスにリンクされたロールを使用します。 がユーザーに代わって AWS リソースを作成および管理 AWS Batch できるようにします。

サービスにリンクされたロール AWSServiceRoleForBatch は、次のサービスを信頼してロールを引き受けます。
+ `batch.amazonaws.com`

[BatchServiceRolePolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-BatchServiceRolePolicy) という名前のロールアクセス許可ポリシーにより AWS Batch 、 は指定されたリソースに対して次のアクションを実行できます。
+ `autoscaling` – AWS Batch が Amazon EC2 Auto Scaling resources を作成および管理できるようにします。 は、ほとんどのコンピューティング環境の Amazon EC2 Auto Scaling グループ AWS Batch を作成および管理します。
+ `ec2` – AWS Batch が Amazon EC2 インスタンスのライフサイクルを制御し、起動テンプレートとタグを作成および管理できるようにします。 は、一部の EC2 スポットコンピューティング環境の EC2 スポットフリートリクエスト AWS Batch を作成および管理します。
+ `ecs` - AWS Batch ジョブ実行用の Amazon ECS クラスター、タスク定義、タスクの作成と管理を許可します。
+ `eks` - AWS Batch が検証用の Amazon EKS クラスターリソースを記述できるようにします。
+ `iam` - 所有者が提供するロールを検証して Amazon EC2、Amazon EC2 Auto Scaling、Amazon ECS に渡すことを AWS Batch に許可します。
+ `logs` – AWS Batch ジョブのロググループとログストリームの作成と管理を に許可します AWS Batch 。

ユーザー、グループ、またはロールにサービスリンクロールの作成、編集、または削除を許可するには、アクセス許可を設定する必要があります。詳細については*IAM ユーザーガイド* の「[サービスにリンクされた役割のアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)」を参照してください。

## のサービスにリンクされたロールの作成 AWS Batch
<a name="create-service-linked-role-batch-general"></a>

サービスリンクロールを手動で作成する必要はありません。 AWS マネジメントコンソール、、 AWS CLIまたは AWS API でコンピューティング環境を作成すると、 AWS Batch によってサービスにリンクされたロールが作成されます。

**注記**  
このサービスにリンクされたロールの自動作成は、`MANAGED`コンピューティング環境にのみ適用されます。`UNMANAGED` コンピューティング環境では、 を呼び出す`serviceRole`ときに を明示的に指定する必要があります`CreateComputeEnvironment`。

**重要**  
このサービスリンクロールはこのロールでサポートされている機能を使用する別のサービスでアクションが完了した場合にアカウントに表示されます。 AWS Batch サービスにリンクされたロールのサポートを開始した 2021 年 3 月 10 日より前にサービスを使用していた場合、 はアカウントに AWSServiceRoleForBatch ロール AWS Batch を作成しました。詳細については、[「新しいロールが AWS アカウント](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)」を参照してください。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は同じ方法でアカウントにロールを再作成できます。コンピューティング環境を作成すると、 はサービスにリンクされたロールを再度 AWS Batch 作成します。

## のサービスにリンクされたロールの編集 AWS Batch
<a name="edit-service-linked-role-batch-general"></a>

AWS Batch では、AWSServiceRoleForBatch サービスにリンクされたロールを編集することはできません。サービスリンクロールの作成後は、さまざまなエンティティがロールを参照する可能性があるため、ロール名を変更することはできません。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)」を参照してください。

**IAM エンティティが AWSServiceRoleForBatch のサービスにリンクされたロールの説明を編集できるようにするには**

以下のステートメントをアクセス許可ポリシーに追加します。IAM エンティティが サービスにリンクされたロールの説明を編集することを許可します。

```
{
    "Effect": "Allow",
    "Action": [
        "iam:UpdateRoleDescription"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch",
    "Condition": {"StringLike": {"iam:AWSServiceName": "batch.amazonaws.com"}}
}
```

## のサービスにリンクされたロールの削除 AWS Batch
<a name="delete-service-linked-role-batch-general"></a>

サービスリンクロールを必要とする機能やサービスが不要になった場合は、ロールを削除することをお勧めします。そうすることで、使用していないエンティティがアクティブにモニタリングされたり、メンテナンスされたりすることがなくなります。ただし、手動で削除する前に、サービスにリンクされたロールをクリーンアップする必要があります。

**IAM エンティティが AWSServiceRoleForBatch のサービスにリンクされたロールを作成するには**

以下のステートメントをアクセス許可ポリシーに追加します。IAM エンティティが サービスにリンクされたロールを削除することを許可します。

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch",
    "Condition": {"StringLike": {"iam:AWSServiceName": "batch.amazonaws.com"}}
}
```

### サービスリンクロールのクリーンアップ
<a name="service-linked-role-review-before-delete-batch-general"></a>

IAM を使用してサービスにリンクされたロールを削除する前に、まずロールにアクティブなセッションがないことを確認し、1 つのパーティション内のすべての AWS リージョンでロールを使用するすべての AWS Batch コンピューティング環境を削除する必要があります。

**サービスにリンクされたロールがアクティブなセッションを持っているかどうかを確認するには**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. ナビゲーションペインで、**ロール** を選択し、(チェックボックスではなく) AWSServiceRoleForBatch の名前を選択します。

1. **Summary]** (概要) ページで **Access Advisor]** (アクセスアドバイザー) を選択し、サービスにリンクされたロールの最新のアクティビティを確認します。
**注記**  
 AWS Batch が AWSServiceRoleForBatch ロールを使用しているかどうかわからない場合は、ロールを削除できます。サービスでロールが使用されている場合、ロールは削除されません。ロールが使用されているリージョンが表示されます。ロールが使用されている場合は、ロールを削除する前にセッションが終了するのを待つ必要があります。サービスにリンクされたロールのセッションを取り消すことはできません。

**AWSServiceRoleForBatch サービスにリンクされたロールによって使用されている AWS Batch リソースを削除するには**

AWSServiceRoleForBatch ロールを削除する前に、すべての AWS リージョンで AWSServiceRoleForBatch ロールを使用するすべての AWS Batch コンピューティング環境を削除する必要があります。

1. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/) で AWS Batch コンソールを開きます。

1. ナビゲーションバーから、使用するリージョンを選択します。

1. ナビゲーションペインで、**Compute environments]** (コンピューティング環境) を選択します。

1. コンピューティング環境を選択します。

1. **Disable]** (無効化) を選択します。**State]** (状態) が **DISABLED]** (無効) になるまで待ちます。

1. コンピューティング環境を選択します。

1. **Delete]** (削除) を選択します。**Delete compute environment]** (コンピューティング環境の削除) を選択し、削除したいコンピューティング環境を確認します。

1. すべてのリージョンでサービスにリンクされたロールを使用する、すべてのコンピューティング環境について、手順 1 ～ 7 を繰り返します。

### IAM でのサービスにリンクされたロールの削除 (コンソール)
<a name="delete-service-linked-role-iam-console"></a>

IAM コンソールを使用して、サービスにリンクされたロールを削除できます。

**サービスにリンクされたロールを削除するには (コンソール)**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. IAM コンソールのナビゲーションペインで **Roles]** (ロール) を選択します。AWSServiceRoleForBatch の横のチェックボックス (名前または行自体ではなく) を選択します。

1. **Delete role]** (ロールの削除) を選択します。

1. 確認ダイアログボックスで、サービスの最終アクセス時間データを確認します。これは、選択したそれぞれのロールの AWS のサービスへの最終アクセス時間を示します。これは、そのロールが現在アクティブであるかどうかを確認するのに役立ちます。先に進む場合は、**[Yes, Delete]** (はい、削除する) を選択し、削除するサービスにリンクされたロールを送信します。

1. IAM コンソール通知を見て、サービスにリンクされたロールの削除の進行状況をモニタリングします。IAM サービスにリンクされたロールの削除は非同期であるため、削除するロールを送信すると、削除タスクは成功または失敗する可能性があります。
   + タスクが成功した場合は、ロールがリストから削除され、成功の通知がページの上部に表示されます。
   + タスクが失敗した場合は、通知から **View details]** (詳細を表示) または **View Resources]** (リソースを表示) を選択して、削除が失敗した理由を知ることができます。ロールがサービスのリソースを使用しているために削除が失敗したとき、サービスがその情報を返す場合は、通知にはリソースのリストが含まれます。次に[リソースをクリーンアップ](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-review-before-delete)してから、削除リクエストをもう一度送信できます。
**注記**  
サービスが返す情報に応じて、このプロセスを何度も繰り返す必要があります。例えば、サービスにリンクされたロールが 6 つのリソースを使用しており、サービスはそのうち 5 つのリソースに関する情報を返すことがあります。5 つのリソースをクリーンアップして削除するロールを再度送信すると、削除は失敗し、残りの 1 つのリソースが報告されます。サービスはすべてのリソースを返しますが、そのうちいくつかはリソースを報告しない場合もあります。
   + タスクが失敗し、通知にリソースのリストが含まれていない場合、サービスはその情報を返さない可能性があります。サービスのリソースをクリーンアップする方法の詳細については、[IAM と連携するAWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)を参照してください。使用しているサービスをテーブルで見つけ、**はい**リンクを選択すると、そのサービスのサービスにリンクされたロールに関するドキュメントが表示されます。

### IAM でのサービスにリンクされたロールの削除 (AWS CLI)
<a name="delete-service-linked-role-iam-cli"></a>

から IAM コマンドを使用して AWS Command Line Interface 、サービスにリンクされたロールを削除できます。

**サービスにリンクされたロールを削除するには (CLI)**

1. サービスにリンクされているロールは、使用されている、または関連するリソースがある場合は削除できないため、削除リクエストを送信する必要があります。これらの条件が満たされない場合、そのリクエストは拒否される可能性があります。レスポンスから `deletion-task-id` を取得して、削除タスクのステータスを確認する必要があります。サービスにリンクされたロールの削除リクエストを送信するには、次のコマンドを入力します：

   ```
   $ aws iam delete-service-linked-role --role-name AWSServiceRoleForBatch
   ```

1. 削除タスクのステータスを確認するには、次のコマンドを入力します：

   ```
   $ aws iam get-service-linked-role-deletion-status --deletion-task-id {{deletion-task-id}}
   ```

   削除タスクのステータスは、`NOT_STARTED`、`IN_PROGRESS`、`SUCCEEDED`、または `FAILED` となります｡ 削除が失敗した場合は、失敗した理由がコールによって返され、トラブルシューティングが可能になります。ロールがサービスのリソースを使用しているために削除が失敗したとき、サービスがその情報を返す場合は、通知にはリソースのリストが含まれます。次に[リソースをクリーンアップ](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-review-before-delete)してから、削除リクエストをもう一度送信できます。
**注記**  
サービスが返す情報に応じて、このプロセスを何度も繰り返す必要があります。例えば、サービスにリンクされたロールが 6 つのリソースを使用しており、サービスはそのうち 5 つのリソースに関する情報を返すことがあります。5 つのリソースをクリーンアップして削除するロールを再度送信すると、削除は失敗し、残りの 1 つのリソースが報告されます。サービスはすべてのリソースを返す場合もあれば、一部を返す場合もあります。または、リソースが報告されないこともあります。リソースを報告しないサービスのリソースをクリーンアップする方法については、[IAM と連携するAWS サービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)を参照してください。使用しているサービスをテーブルで見つけ、**はい**リンクを選択すると、そのサービスのサービスにリンクされたロールに関するドキュメントが表示されます。

### サービスにリンクされた IAM (AWS API) でのロールの削除
<a name="delete-service-linked-role-iam-api"></a>

IAM API を使用して、サービスにリンクされたロールを削除できます。

**サービスにリンクされたロールを削除するには (API)**

1. サービスにリンクされたロールの削除リクエストを送信するには、[DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html) を呼び出します。リクエストで、AWSServiceRoleForBatch のロール名を指定します。

   サービスにリンクされているロールは、使用されている、または関連するリソースがある場合は削除できないため、削除リクエストを送信する必要があります。これらの条件が満たされない場合、そのリクエストは拒否される可能性があります。レスポンスから `DeletionTaskId` を取得して、削除タスクのステータスを確認する必要があります。

1. 削除タスクのステータスを確認するには、[GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html) を呼び出します。リクエストで `DeletionTaskId` を指定します。

   削除タスクのステータスは、`NOT_STARTED`、`IN_PROGRESS`、`SUCCEEDED`、または `FAILED` となります｡ 削除が失敗した場合は、失敗した理由がコールによって返され、トラブルシューティングが可能になります。ロールがサービスのリソースを使用しているために削除が失敗したとき、サービスがその情報を返す場合は、通知にはリソースのリストが含まれます。次に[リソースをクリーンアップ](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-review-before-delete)してから、削除リクエストをもう一度送信できます。
**注記**  
サービスが返す情報に応じて、このプロセスを何度も繰り返す必要があります。例えば、サービスにリンクされたロールが 6 つのリソースを使用しており、サービスはそのうち 5 つのリソースに関する情報を返すことがあります。5 つのリソースをクリーンアップして削除するロールを再度送信すると、削除は失敗し、残りの 1 つのリソースが報告されます。サービスはすべてのリソースを返しますが、そのうちいくつかはリソースを報告しない場合もあります。リソースを報告しないサービスのリソースをクリーンアップする方法については、[IAM と連携するAWS のサービス サービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)を参照してください。使用しているサービスをテーブルで見つけ、**はい**リンクを選択すると、そのサービスのサービスにリンクされたロールに関するドキュメントが表示されます。

## AWS Batch サービスにリンクされたロールでサポートされているリージョン
<a name="slr-regions-batch-general"></a>

AWS Batch は、サービスが利用可能なすべてのリージョンでサービスにリンクされたロールの使用をサポートします。詳細については、[AWS Batch エンドポイント](https://docs.aws.amazon.com/general/latest/gr/batch.html#batch_region)を参照してください。