

# CloudFront のサービスリンクロールを使用する
<a name="using-service-linked-roles"></a>

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

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

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

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

## CloudFront VPC オリジン用のサービスリンクロールのアクセス許可
<a name="slr-permissions"></a>

CloudFront VPC オリジンは、**AWSServiceRoleForCloudFrontVPCOrigin** という名前のサービスリンクロールを使用します。このロールは、CloudFront がユーザーに代わって EC2 Elastic Network Interface とセキュリティグループを管理することを許可します。

AWSServiceRoleForCloudFrontVPCOrigin サービスリンクロールは、以下のサービスを信頼してロールを引き受けます。
+ `vpcorigin.cloudfront.amazonaws.com`

AWSCloudFrontVPCOriginServiceRolePolicy という名前のロールアクセス許可ポリシーは、指定したリソースに対して以下のアクションを実行することを CloudFront VPC オリジンに許可します。
+ アクション: `ec2:CreateNetworkInterface`。対象リソース: `arn:aws:ec2:*:*:network-interface/*`
+ アクション: `ec2:CreateNetworkInterface`。対象リソース: `arn:aws:ec2:*:*:subnet/*`、`arn:aws:ec2:*:*:security-group/*`
+ アクション: `ec2:CreateSecurityGroup`。対象リソース: `arn:aws:ec2:*:*:security-group/*`
+ アクション: `ec2:CreateSecurityGroup`。対象リソース: `arn:aws:ec2:*:*:vpc/*`
+ アクション: `ec2:ModifyNetworkInterfaceAttribute`、`ec2:DeleteNetworkInterface`、`ec2:DeleteSecurityGroup`、`ec2:AssignIpv6Addresses`、`ec2:UnassignIpv6Addresses`。対象リソース: `supported AWS resources that have the aws:ResourceTag/aws.cloudfront.vpcorigin tag enabled`
+ アクション: `ec2:DescribeNetworkInterfaces`、`ec2:DescribeSecurityGroups`、`ec2:DescribeInstances`、`ec2:DescribeInternetGateways`、`ec2:DescribeSubnets`、`ec2:DescribeRegions`、`ec2:DescribeAddresses`。対象リソース: `all AWS resources that the actions support`
+ アクション: `ec2:CreateTags`。対象リソース: `arn:aws:ec2:*:*:security-group/*`、`arn:aws:ec2:*:*:network-interface/*`
+ アクション: `elasticloadbalancing:DescribeLoadBalancers`、`elasticloadbalancing:DescribeListeners`、`elasticloadbalancing:DescribeTargetGroups`。対象リソース: `all AWS resources that the actions support`

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

## CloudFront VPC オリジンのサービスリンクロールを作成する
<a name="create-slr"></a>

サービスリンクロールを手動で作成する必要はありません。VPC オリジンを AWS マネジメントコンソール、AWS CLI、または AWS API で作成すると、CloudFront VPC オリジンがサービスリンクロールを自動的に作成します。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は同じ方法でアカウントにロールを再作成できます。VPC オリジンを作成すると、CloudFront VPC オリジンがサービスリンクロールを自動的に再作成します。

## CloudFront VPC オリジンのサービスリンクロールを編集する
<a name="edit-slr"></a>

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

## CloudFront VPC オリジンのサービスリンクロールを削除する
<a name="delete-slr"></a>

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

**注記**  
リソースを削除する際に、CloudFront サービスでロールを使用中である場合、削除は失敗することがあります。失敗した場合は数分待ってから操作を再試行してください。

**AWSServiceRoleForCloudFrontVPCOrigin で使用している CloudFront VPC オリジンリソースを削除するには**
+ アカウントの VPC オリジンリソースを削除します。
  + CloudFront がアカウントからのリソースの削除を完了するまでに時間がかかる場合があります。サービスリンクロールをすぐに削除できない場合は、しばらく待ってから再度試してください。

**IAM を使用してサービスリンクロールを手動で削除するには**

IAM コンソール、AWS CLI、または AWS API を使用して、AWSServiceRoleForCloudFrontVPCOrigin サービスリンクロールを削除します。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)」を参照してください。

## CloudFront VPC オリジンのサービスリンクロールでサポートされているリージョン
<a name="slr-regions"></a>

CloudFront VPC オリジンは、サービスが利用可能なすべてのリージョンでサービスリンクロールの使用をサポートしているわけではありません。以下のリージョンでは、AWSServiceRoleForCloudFrontVPCOrigin ロールを使用できます。


| リージョン名 | リージョン識別子 | CloudFront でのサポート | 
| --- | --- | --- | 
| 米国東部 (バージニア北部) | us-east-1 | はい | 
| 米国東部 (オハイオ) | us-east-2 | はい | 
| 米国西部 (北カリフォルニア) | us-west-1 (AZ usw1-az2 を除く） | はい | 
| 米国西部 (オレゴン)  | us-west-2 | はい | 
| アフリカ (ケープタウン) | af-south-1 | はい | 
| アジアパシフィック (香港) | ap-east-1 | はい | 
| アジアパシフィック (ジャカルタ) | ap-southeast-3 | はい | 
| アジアパシフィック (メルボルン) | ap-southeast-4 | はい | 
| アジアパシフィック (ムンバイ) | ap-south-1 | はい | 
| アジアパシフィック (ハイデラバード) | ap-south-2 | はい | 
| アジアパシフィック (大阪) | ap-northeast-3 | はい | 
| アジアパシフィック (ソウル) | ap-northeast-2 | はい | 
| アジアパシフィック (シンガポール) | ap-southeast-1 | はい | 
| アジアパシフィック (シドニー) | ap-southeast-2 | はい | 
| アジアパシフィック (東京) | ap-northeast-1 (AZ apne1-az3 を除く） | はい | 
| カナダ (中部) | ca-central-1 (AZ cac1-az3 を除く） | はい | 
| カナダ西部 (カルガリー) | ca-west-1 | はい | 
| 欧州 (フランクフルト) | eu-central-1 | はい | 
| 欧州 (アイルランド) | eu-west-1 | はい | 
| 欧州 (ロンドン) | eu-west-2 | はい | 
| 欧州 (ミラノ) | eu-south-1 | はい | 
| 欧州 (パリ) | eu-west-3 | はい | 
| 欧州 (スペイン) | eu-south-2 | はい | 
| 欧州 (ストックホルム) | eu-north-1 | はい | 
| 欧州 (チューリッヒ) | eu-central-2 | はい | 
| イスラエル (テルアビブ) | il-central-1 | はい | 
| 中東 (バーレーン) | me-south-1 | はい | 
| 中東 (アラブ首長国連邦) | me-central-1 | はい | 
| 南米 (サンパウロ) | sa-east-1 | はい | 