

# CloudFront での共有リソースの使用
<a name="sharing-resources"></a>

Amazon CloudFront は AWS Resource Access Manager (AWS RAM) と統合してリソース共有を可能にします。AWS RAM は、一部の CloudFront リソースを他の AWS アカウントと、または AWS Organizations を通じて共有できるようにします。AWS RAM を使用した リソース共有。これにより、自身が所有する*リソースを共有*できます。リソース共有は、共有するリソースと、それらを共有するコンシューマーを指定します。コンシューマーには以下が含まれます。
+ AWS Organizations の特定の AWS アカウント の組織の内部または外部
+ AWS Organizations の組織内の組織単位
+ AWS Organizations の組織全体

AWS RAM については、「[AWS RAM ユーザーガイド](https://docs.aws.amazon.com/ram/latest/userguide/)」を参照してください。

このトピックでは、所有しているリソースの共有方法と、共有されているリソースの使用方法を説明します。

**Topics**
+ [リソースを共有するための前提条件](#sharing-prereqs)
+ [VPC オリジンの共有](#sharing-share)
+ [共有 VPC を使用する](#using-shared-vpc-origin)
+ [共有 VPC オリジンを特定する](#sharing-identify)
+ [共有 VPC オリジンの共有を解除する](#sharing-unshare)
+ [共有 VPC オリジンの責任とアクセス許可](#sharing-perms)
+ [請求と使用量測定](#sharing-billing)
+ [共有リソースのクォータ](#sharing-quotas)

## リソースを共有するための前提条件
<a name="sharing-prereqs"></a>
+ リソース共有に読み取り専用アクセスを付与するには、AWSRAMDefaultPermissionCloudFront 管理ポリシーが必要です。詳細については、「[AWSRAMDefaultPermissionCloudFront](#aws-ram-default-permission-cloudfront)」を参照してください。
+ VPC オリジンを共有するには、AWS アカウントで所有している必要があります。つまり、自分のアカウントにそのリソースが割り当てられているか、プロビジョニングされている必要があります。自分が共有先になっているリソースを共有することはできません。
+ 自分の組織または AWS Organizations の組織単位とリソースを共有するには、AWS Organizations との共有を有効にする必要があります。詳細については、「*AWS RAM ユーザーガイド*」の「[AWS Organizations で共有を有効化する](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs)」を参照してください。

## VPC オリジンの共有
<a name="sharing-share"></a>

**注記**  
現在、CloudFront は VPC オリジンの共有をサポートしています。まだ作成していない場合は、「[VPC オリジンを使用したアクセス制限](private-content-vpc-origins.md)」を参照してください。

所有している VPC オリジンを他の AWS アカウントと共有する場合、そのリソースを CloudFront ディストリビューションのオリジンとして使用できるようにします。

VPC オリジンを共有するには、リソース共有に追加する必要があります。リソース共有とは、AWS アカウント間で自身のリソースを共有するための AWS RAM リソースです。

リソース共有を次のように指定します。
+ 共有するリソース
+ 共有先のコンシューマー
+ リソースへのアクセス許可を決定するサービスの管理ポリシー

CloudFront コンソールを使用して VPC オリジンを共有する場合、既存のリソース共有に追加します。リソース共有がまだない場合は、CloudFront コンソールから VPC オリジンを共有するときに作成できます。[AWS RAM コンソール](https://console.aws.amazon.com/ram)または AWS CLI を使用して、個別に作成することもできます。

VPC オリジンは、他の AWS アカウントおよび AWS Organizations と共有できます。
+ リソースを AWS 組織と共有する場合、その指定された組織のすべてのコンシューマーは VPC オリジンにアクセスできます。
+ AWS アカウントまたは自分が参加していない組織と共有している場合、コンシューマーはリソース共有を受け入れるための招待を受け取ります。承認されると、VPC オリジンを使用できます。

自身が所有する VPC オリジンは、CloudFront コンソール、AWS RAM コンソール、または AWS CLI を使用して共有できます。

**CloudFront コンソールを使用してリソース共有を作成するには**

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

1. ナビゲーションペインで、**[VPC オリジン]** を選択します。

1. 1 つ以上のリソースを選択し、**[VPC オリジンを共有]** を選択します。

1. **[リソースの共有の作成]** を選択します。

1. **[名前]** に、リソース共有の名前を入力します。

1. **[プリンシパルタイプ]** で、次のオプションから選択します。
   + **AWS アカウント** - 特定の AWS アカウントにアクセス許可を付与します。
   + **組織単位** - 特定の組織単位 (OU) にアクセス許可を付与します。
   + **組織** - 子 OU と AWS アカウントを含む組織全体にアクセス許可を付与します。

   1. **AWS アカウント**を選択した場合は、アカウント ID 番号を入力します。**[新しいアカウントを追加]** を選択すると、最大 5 つの AWS アカウントを追加できます。

   1. **[組織単位]** を選択した場合は、OU 単位の ARN を入力します。入力できる OU は 1 つだけです。

   1. **[組織]** を選択した場合は、組織の ARN を入力します。入力できる組織は 1 つだけです。

1. **[リソースを共有]** を選択します。

   デフォルトでは、CloudFront はリソース共有に [AWSRAMDefaultPermissionCloudFront](#aws-ram-default-permission-cloudfront) AWS 管理ポリシーを適用します。このポリシーは、リソース共有に対する読み取り専用アクションを許可するため、コンシューマーアカウントは共有リソースを更新または削除できません。このポリシーをリソース共有から編集または削除することはできません。
**ヒント**  
リソース共有を作成したら、AWS RAM コンソールから AWS アカウントを追加できます。詳細については、「*AWS RAM ユーザーガイド*」の「[AWS RAM 内のリソース共有を更新します。](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html?icmpid=docs_cf_help_panel)」を参照してください。

**CloudFront コンソールを使用して、自分が所有する VPC オリジンを共有するには**

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

1. ナビゲーションペインで、**[VPC オリジン]** を選択します。

1. リソースを選択し、**[VPC オリジンを共有]** を選択します。

1. **[VPC オリジンを共有]** ページで、この VPC オリジンを追加する既存のリソース共有を選択できます。

1. **[リソースを共有]** を選択します。

   リソースの詳細ページの **[共有先]** で、次の詳細で VPC オリジンが共有されていることを確認できます。
   + リソースの共有名
   + 共有ステータス
   + 最終更新日

リソース共有を作成してコンシューマーアカウントと共有すると、招待を受け入れるまでに 12 時間かかります。詳細については、「**AWS RAM ユーザーガイド」の「[リソース共有への招待の受け入れと拒否](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared-invitations.html)」を参照してください。

**重要**  
コンシューマーアカウントが CloudFront ディストリビューションに VPC オリジンを使用できるようにするには、VPC オリジンの Elastic Load Balancing または Amazon EC2 エンドポイントも使用できるようにする必要があります。

**AWS RAM コンソールを使用して、自分が所有する VPC オリジンを共有するには**  
リソース共有を作成し、追加する CloudFront リソースを選択します。詳細については、「*AWS RAM ユーザーガイド*」の「[リソース共有の作成](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create)」を参照してください。

**AWS CLI を使用して、自分が所有する VPC オリジンを共有するには**  
[create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) コマンドを使用します。

## 共有 VPC を使用する
<a name="using-shared-vpc-origin"></a>

共有 VPC オリジンを使用するには、招待を受け取るアカウントがリソース共有を受け入れる必要があります。これを行うには、米国東部 (バージニア北部) リージョンの AWS Resource Access Manager コンソールに移動し、**[保留中]** のタブで保留中のリクエストを受け入れます。詳細については、「*AWS RAM ユーザーガイド*」の「[リソース共有の受け入れ](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared-invitations.html)」を参照してください。

リソース共有を受け入れると、VPC オリジンを CloudFront ディストリビューションのオリジンとして使用できます。

**共有 VPC オリジンを使用するには**

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

1. ナビゲーションペインの **[ディストリビューション]** で、次のいずれかを実行します。
   + 新しいディストリビューションの場合、**[ディストリビューションを作成]** を選択します。
   + 既存のディストリビューションの場合、ディストリビューション ID を選択します。

1. **[オリジンタイプ]** で、**[VPC オリジン]** を選択し、共有された VPC オリジンを指定します。

1. **[VPC オリジンエンドポイント]** には、Amazon EC2 インスタンスまたは Elastic Load Balancing ロードバランサーのプライベート DNS 名、またはオリジンのドメインを入力します。この値がまだない場合は、VPC オリジンを所有する AWS アカウントから取得する必要があります。このエンドポイントがまだない場合は、VPC オリジンを所有する AWS アカウントから取得する必要があります。

1. 残りのコンソールの手順に従って、ディストリビューションを作成または更新します。

## 共有 VPC オリジンを特定する
<a name="sharing-identify"></a>

所有者とコンシューマーは、CloudFront コンソールまたは AWS CLI を使用して、共有 VPC オリジンを特定できます。

**CloudFront コンソールを使用して、共有 VPC オリジンを特定するには**

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

1. ナビゲーションペインで、**[VPC オリジン]** を選択します。**[所有者 ID]** 列を使用して、リソースが属する AWS アカウントを特定できます。

1. リソースを選択します。

1. リソースの詳細ページの **[共有先]** で、次の詳細で VPC オリジンが共有されていることを確認できます。
   + リソースの共有名
   + 共有ステータス
   + 最終更新日

## 共有 VPC オリジンの共有を解除する
<a name="sharing-unshare"></a>

リソースの共有を解除すると、AWS アカウント (コンシューマーアカウント) はそのリソースを新しいディストリビューションに使用したり、既存のディストリビューションを更新したりできなくなります。

**注記**  
リソースの共有を解除しても、そのリソースをまだ使用している既存のディストリビューションはアクティブのままになり、引き続きトラフィックを処理します。ただし、共有を解除されたリソースがオリジンとして削除されるまで、これらのディストリビューションを編集することはできません。共有を解除する前に、コンシューマーアカウントが共有を解除するリソースの使用を停止していることを確認することをお勧めします。

自己所有の共有 VPC オリジンを共有解除するには、それをリソース共有から削除する必要があります。この操作は、CloudFront コンソール、AWS RAM コンソール、または AWS CLI を使用して行うことができます。

**CloudFront コンソールを使用して、自分が所有する共有 VPC オリジンの共有を解除するには**

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

1. ナビゲーションペインで、**[VPC オリジン]** を選択します。

1. リソースを選択し、**[共有解除]** を選択します。

1. **[リソースの共有解除]** ダイアログボックスで詳細を確認し、**[共有解除]** を選択します。一覧表示されているプリンシパルは、共有リソースにアクセスできなくなります。

**AWS RAM コンソールを使用して、自分が所有する共有 VPC オリジンの共有を解除するには**  
*AWS RAMユーザーガイド*の[リソース共有の更新](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-update)を参照してください。

**AWS CLI を使用して、自分が所有する共有 VPC オリジンの共有を解除するには**  
[disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) コマンドを使用します。

## 共有 VPC オリジンの責任とアクセス許可
<a name="sharing-perms"></a>

### 所有者のアクセス許可
<a name="perms-owner"></a>

リソースを所有するアカウントとして、共有を解除または削除する前に、コンシューマーアカウントがリソースの使用を停止していることを確認します。

### コンシューマーのアクセス許可
<a name="perms-consumer"></a>

コンシューマーアカウントは、共有リソースを CloudFront ディストリビューションのオリジンとして使用できますが、リソースを編集または削除することはできません。デフォルトでは、[AWSRAMDefaultPermissionCloudFront](#aws-ram-default-permission-cloudfront) AWS 管理ポリシーは共有アカウント (リソースを所有するアカウント) のリソース共有に適用されます。

### AWSRAMDefaultPermissionCloudFront
<a name="aws-ram-default-permission-cloudfront"></a>

CloudFront でリソース共有を作成すると、CloudFront は **AWSRAMDefaultPermissionCloudFront** AWS 管理ポリシーを使用してリソース共有に適用します。このポリシーは、リソースの所有者からコンシューマーアカウントに共有できる CloudFront リソースへの読み取り専用のアクセス許可を付与します。

AWS RAM でのアクセス許可の管理の詳細については、「*AWS Resource Access Manager ユーザーガイド*」の「[AWS RAM アクセス許可の管理](https://docs.aws.amazon.com/ram/latest/userguide/security-ram-permissions.html)」を参照してください。

## 請求と使用量測定
<a name="sharing-billing"></a>

VPC オリジンを他の AWS アカウントと共有するのに追加料金はかかりません。共有 VPC オリジンを使用しているディストリビューションのトラフィックの使用コストは、ディストリビューションを所有するコンシューマーアカウントに送られます。

## 共有リソースのクォータ
<a name="sharing-quotas"></a>

CloudFront は、AWS RAM で指定されたのと同じリソース共有クォータを使用します。CloudFront コンソールから、最大 5 つの AWS アカウント、1 つの OU、または 1 つの組織を追加できます。さらに追加するには、AWS RAM コンソールまたは AWS RAM API を使用します。

詳細については、「*AWS RAM ユーザーガイド*」の「[Service quotas for AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/service-quotas.html)」を参照してください。