

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

# Amazon EMR でサービスリンクロールを使用して先書きログを作成する
<a name="using-service-linked-roles-wal"></a>

Amazon EMR は 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)を使用します。サービスにリンクされたロールは、Amazon EMR に直接リンクされた特殊な IAM ロールです。サービスにリンクされたロールは Amazon EMR によって事前定義されており、サービスがユーザーに代わって他の AWS サービスを呼び出すために必要なすべてのアクセス許可が含まれています。

サービスにリンクされたロールは、Amazon EMR サービスロールおよび Amazon EMR の Amazon EC2 インスタンスプロファイルと連動します。サービスロールとインスタンスプロファイルに関する詳細については、「[サービスとリソースへの Amazon EMR アクセス許可の IAM AWS サービスロールを設定する](emr-iam-roles.md)」を参照してください。

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

Amazon EMR のサービスリンクロールは、関連するリソースを削除し、アカウント内のすべての EMR クラスターを終了した後にのみ削除できます。これにより、リソースへのアクセス許可を誤って削除することが防止され、Amazon EMR リソースが保護されます。

## 先行書き込みログ記録 (WAL) のサービスリンクロールのアクセス許可
<a name="using-service-linked-roles-permissions-wal"></a>

Amazon EMR は、サービスリンクロール **AWSServiceRoleForEMRWAL** を使用してクラスターステータスを取得します。

AWSServiceRoleForEMRWAL サービスリンクロールは、次のサービスを信頼してロールを引き受けます。
+ `emrwal.amazonaws.com`

サービスリンクロールの [`EMRDescribeClusterPolicyForEMRWAL`](EMRDescribeClusterPolicyForEMRWAL.md) アクセス許可ポリシーにより、Amazon EMR は、指定されたリソースで次のアクションを完了することができます。
+ アクション: `DescribeCluster`。対象リソース: `*`

IAM エンティティ (この場合 Amazon EMR WAL) がサービスにリンクされたロールを作成、編集、削除できるようにするには、アクセス許可を設定する必要があります。必要に応じて、インスタンスプロファイルのアクセス許可ポリシーに次のステートメントを追加します。

## CreateServiceLinkedRole
<a name="iam-create-wal"></a>

**IAM エンティティが AWSServiceRoleForEMRWAL サービスリンクロールを作成できるようにするには**

サービスにリンクされたロールを作成する必要のある IAM エンティティのアクセス権限ポリシーに、次のステートメントを追加します。

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateServiceLinkedRole",
        "iam:PutRolePolicy"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName": [
                "emrwal.amazonaws.com",
                "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
            ]
        }
    }
}
```

## UpdateRoleDescription
<a name="iam-update-wal"></a>

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

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

```
{
    "Effect": "Allow",
    "Action": [
        "iam:UpdateRoleDescription"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName": [
                "emrwal.amazonaws.com",
                "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
            ]
        }
    }
}
```

## DeleteServiceLinkedRole
<a name="iam-delete-wal"></a>

**IAM エンティティが AWSServiceRoleForEMRWAL サービスリンクロールを削除できるようにするには**

サービスにリンクされたロールを削除する必要のある IAM エンティティのアクセス権限ポリシーに、次のステートメントを追加します。

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/elasticmapreduce.amazonaws.com*/AWSServiceRoleForEMRCleanup*",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName": [
                "emrwal.amazonaws.com",
                "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
            ]
        }
    }
}
```

## Amazon EMR のサービスリンクロールの作成
<a name="create-service-linked-role-wal"></a>

AWSServiceRoleForEMRWAL ロールを手動で作成する必要はありません。Amazon EMR は、EMRWAL CLI または で WAL ワークスペースを作成すると、このサービスにリンクされたロールを自動的に作成します。または AWS CloudFormation、Amazon EMR WAL のワークスペースを設定し、サービスにリンクされたロールがまだ存在しない場合、HBase はサービスにリンクされたロールを作成します。サービスにリンクされたロールを作成するためのアクセス許可が必要です。この機能を (ユーザー、グループ、ロールなどの) IAM エンティティのアクセス許可ポリシーに追加するステートメントの例については、前のセクション「[先行書き込みログ記録 (WAL) のサービスリンクロールのアクセス許可](#using-service-linked-roles-permissions-wal)」を参照してください。

## Amazon EMR のサービスリンクロールの編集
<a name="edit-service-linked-role-wal"></a>

Amazon EMR は、AWSServiceRoleForEMRWAL サービスリンクロールの編集を許可しません。サービスリンクロールを作成すると、多くのエンティティによってサービスリンクロールが参照される可能性があるため、サービスリンクロール名を変更することはできません。ただし、IAM を使用したサービスリンクロール記述の編集はできます。

### サービスにリンクされたロールの説明の編集 (IAM コンソール)
<a name="edit-service-linked-role-iam-console"></a>

サービスにリンクされたロールの説明は、IAM コンソールを使用して編集できます。

**サービスにリンクされたロールの説明を編集するには (コンソール)**

1. IAM コンソールのナビゲーションペインで [**ロール**] を選択します。

1. 変更するロールの名前を選択します。

1. **[Role description]** (ロールの説明) の右にある **[Edit]** (編集) を選択します。

1. ボックスに新しい説明を入力し、**[Save changes]** (変更の保存) を選択します。

### サービスにリンクされたロールの説明の編集 (IAM CLI)
<a name="edit-service-linked-role-iam-cli"></a>

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

**サービスにリンクされたロールの説明を変更するには (CLI)**

1. (オプション) ロールの現在の説明を表示するには、次のコマンドを使用します。

   ```
   $ aws iam get-role --role-name role-name
   ```

   CLI コマンドでは、ARN ではなくロール名を使用してロールを参照します。例えば、ロールの ARN が `arn:aws:iam::123456789012:role/myrole` である場合、そのロールを **myrole** と参照します。

1. サービスにリンクされたロールの説明を更新するには、次のいずれかのコマンドを使用します。

   ```
   $ aws iam update-role-description --role-name role-name --description description
   ```

### サービスにリンクされたロールの説明の編集 (IAM API)
<a name="edit-service-linked-role-iam-api"></a>

サービスにリンクされたロールの説明は、IAM API を使用して編集できます。

**サービスにリンクされたロールの説明を変更するには (API)**

1. (オプション) ロールの現在の説明を表示するには、次のコマンドを使用します。

   IAM API: [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 

1. ロールの説明を更新するには、次のコマンドを使用します。

   IAM API: [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)

## Amazon EMR のサービスリンクロールの削除
<a name="delete-service-linked-role-wal"></a>

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

**注記**  
AWSServiceRoleForEMRWAL ロールを削除しても、先行書き込みログ記録オペレーションは影響を受けませんが、Amazon EMR は EMR クラスターが終了すると作成したログを自動的に削除しません。したがって、サービスリンクロールを削除する場合は、Amazon EMR WAL ログを手動で削除する必要があります。

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

IAM を使用してサービスにリンクされたロールを削除するには、まずそのロールにアクティブなセッションがないことを確認し、そのロールで使用されているリソースをすべて削除する必要があります。

**サービスにリンクされたロールにアクティブなセッションがあるかどうかを、IAM コンソールで確認するには**

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

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

1. 選択したロールの [**概要**] ページで [**アクセスアドバイザー**] を選択します。

1. [**アクセスアドバイザー**] タブで、サービスにリンクされたロールの最新のアクティビティを確認します。
**注記**  
Amazon EMR が AWSServiceRoleForEMRWAL サービスリンクロールを使用しているかどうか不明な場合は、サービスリンクロールを削除してみてください。サービスでロールが使用されている場合、削除は失敗し、サービスリンクロールが使用されているリージョンが表示されます。サービスリンクロールが使用されている場合は、サービスリンクロールを削除する前にセッションが終了するのを待つ必要があります。サービスにリンクされたロールのセッションを取り消すことはできません。

**AWSServiceRoleForEMRWAL が使用している Amazon EMR リソースを削除するには**
+ アカウントのすべてのクラスターを終了します。詳細については、「[開始中、実行中、待機中の状態にある Amazon EMR クラスターを終了する](UsingEMR_TerminateJobFlow.md)」を参照してください。

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

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

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

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

1. ナビゲーションペインで **Roles (ロール) ** を選択してください。AWSServiceRoleForEMRWAL の横のチェックボックス (名前や行自体ではなく) を選択します。

1. ページ上部にある **ロールのアクション** で **ロールの削除** を選択します。

1. 確認ダイアログボックスで、サービスの最終アクセス時間データを確認します。このデータには、選択した各ロールが最後に AWS サービスにアクセスした日時が表示されます。これは、そのロールが現在アクティブであるかどうかを確認するのに役立ちます。続行するには、[**はい、削除します**] を選択します。

1. IAM コンソール通知を見て、サービスにリンクされたロールの削除の進行状況をモニタリングします。IAM サービスにリンクされたロールの削除は非同期であるため、削除するロールを送信すると、削除タスクは成功または失敗する可能性があります。タスクが失敗した場合は、通知から **詳細を表示**または **リソースを表示**を選択して、削除が失敗した理由を知ることができます。そのロールで使用中のリソースがサービスにあるために削除に失敗した場合、この失敗の理由にはリソースのリストも含まれます。

### サービスにリンクされたロールの削除 (IAM 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](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-linked-role.html) --role-name AWSServiceRoleForEMRWAL
   ```

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

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-linked-role-deletion-status.html) --deletion-task-id deletion-task-id
   ```

   削除タスクのステータスは、`NOT_STARTED`、`IN_PROGRESS`、`SUCCEEDED`、または `FAILED` となります｡ 削除が失敗した場合は、失敗した理由がコールによって返され、トラブルシューティングが可能になります。

### サービスにリンクされたロールの削除 (IAM 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) を呼び出します。リクエストで、AWSServiceRoleForEMRWAL のロール名を指定します。

   削除タスクのステータスを確認するには、レスポンスから `DeletionTaskId` を取得する必要があります。

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

   削除タスクのステータスは、`NOT_STARTED`、`IN_PROGRESS`、`SUCCEEDED`、または `FAILED` となります｡ 削除が失敗した場合は、失敗した理由がコールによって返され、トラブルシューティングが可能になります。

## AWSServiceRoleForEMRWAL がサポートされているリージョン
<a name="emr-slr-regions-wal"></a>

Amazon EMR は、次のリージョンで AWSServiceRoleForEMRWAL サービスリンクロールの使用をサポートしています。


****  

| リージョン名 | リージョン識別子 | Amazon EMR でのサポート | 
| --- | --- | --- | 
| 米国東部 (バージニア北部) | us-east-1 | はい | 
| 米国東部 (オハイオ) | us-east-2 | はい | 
| 米国西部 (北カリフォルニア) | us-west-1 | はい | 
| 米国西部 (オレゴン)  | us-west-2 | はい | 
| アジアパシフィック (ムンバイ) | ap-south-1 | はい | 
| アジアパシフィック (シンガポール) | ap-southeast-1 | はい | 
| アジアパシフィック (シドニー) | ap-southeast-2 | はい | 
| アジアパシフィック (東京) | ap-northeast-1 | はい | 
| 欧州 (フランクフルト) | eu-central-1 | はい | 
| 欧州 (アイルランド) | eu-west-1 | はい | 