CloudFront での共有リソースの使用 - Amazon CloudFront

CloudFront での共有リソースの使用

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 ユーザーガイド」を参照してください。

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

リソースを共有するための前提条件

  • リソース共有に読み取り専用アクセスを付与するには、AWSRAMDefaultPermissionCloudFront 管理ポリシーが必要です。詳細については、「AWSRAMDefaultPermissionCloudFront」を参照してください。

  • VPC オリジンを共有するには、AWS アカウントで所有している必要があります。つまり、自分のアカウントにそのリソースが割り当てられているか、プロビジョニングされている必要があります。自分が共有先になっているリソースを共有することはできません。

  • 自分の組織または AWS Organizations の組織単位とリソースを共有するには、AWS Organizations との共有を有効にする必要があります。詳細については、「AWS RAM ユーザーガイド」の「AWS Organizations で共有を有効化する」を参照してください。

VPC オリジンの共有

注記

現在、CloudFront は VPC オリジンの共有をサポートしています。まだ作成していない場合は、「VPC オリジンを使用したアクセス制限」を参照してください。

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

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

リソース共有を次のように指定します。

  • 共有するリソース

  • 共有先のコンシューマー

  • リソースへのアクセス許可を決定するサービスの管理ポリシー

CloudFront コンソールを使用して VPC オリジンを共有する場合、既存のリソース共有に追加します。リソース共有がまだない場合は、CloudFront コンソールから VPC オリジンを共有するときに作成できます。AWS 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) を開きます。

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

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

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

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

  6. [プリンシパルタイプ] で、次のオプションから選択します。

    • AWS アカウント - 特定の AWS アカウントにアクセス許可を付与します。

    • 組織単位 - 特定の組織単位 (OU) にアクセス許可を付与します。

    • 組織 - 子 OU と AWS アカウントを含む組織全体にアクセス許可を付与します。

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

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

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

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

    デフォルトでは、CloudFront はリソース共有に AWSRAMDefaultPermissionCloudFront AWS 管理ポリシーを適用します。このポリシーは、リソース共有に対する読み取り専用アクションを許可するため、コンシューマーアカウントは共有リソースを更新または削除できません。このポリシーをリソース共有から編集または削除することはできません。

    ヒント

    リソース共有を作成したら、AWS RAM コンソールから AWS アカウントを追加できます。詳細については、「AWS RAM ユーザーガイド」の「AWS RAM 内のリソース共有を更新します。」を参照してください。

CloudFront コンソールを使用して、自分が所有する VPC オリジンを共有するには
  1. CloudFront コンソール (https://console.aws.amazon.com/cloudfront/v4/home) を開きます。

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

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

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

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

    リソースの詳細ページの [共有先] で、次の詳細で VPC オリジンが共有されていることを確認できます。

    • リソースの共有名

    • 共有ステータス

    • 最終更新日

リソース共有を作成してコンシューマーアカウントと共有すると、招待を受け入れるまでに 12 時間かかります。詳細については、「AWS RAM ユーザーガイド」の「リソース共有への招待の受け入れと拒否」を参照してください。

重要

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

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

リソース共有を作成し、追加する CloudFront リソースを選択します。詳細については、「AWS RAM ユーザーガイド」の「リソース共有の作成」を参照してください。

AWS CLI を使用して、自分が所有する VPC オリジンを共有するには

create-resource-share コマンドを使用します。

共有 VPC を使用する

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

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

共有 VPC オリジンを使用するには
  1. CloudFront コンソール (https://console.aws.amazon.com/cloudfront/v4/home) を開きます。

  2. ナビゲーションペインの [ディストリビューション] で、次のいずれかを実行します。

    • 新しいディストリビューションの場合、[ディストリビューションを作成] を選択します。

    • 既存のディストリビューションの場合、ディストリビューション ID を選択します。

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

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

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

共有 VPC オリジンを特定する

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

CloudFront コンソールを使用して、共有 VPC オリジンを特定するには
  1. CloudFront コンソール (https://console.aws.amazon.com/cloudfront/v4/home) を開きます。

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

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

  4. リソースの詳細ページの [共有先] で、次の詳細で VPC オリジンが共有されていることを確認できます。

    • リソースの共有名

    • 共有ステータス

    • 最終更新日

共有 VPC オリジンの共有を解除する

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

注記

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

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

CloudFront コンソールを使用して、自分が所有する共有 VPC オリジンの共有を解除するには
  1. CloudFront コンソール (https://console.aws.amazon.com/cloudfront/v4/home) を開きます。

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

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

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

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

AWS RAMユーザーガイドリソース共有の更新を参照してください。

AWS CLI を使用して、自分が所有する共有 VPC オリジンの共有を解除するには

disassociate-resource-share コマンドを使用します。

共有 VPC オリジンの責任とアクセス許可

所有者のアクセス許可

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

コンシューマーのアクセス許可

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

AWSRAMDefaultPermissionCloudFront

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

AWS RAM でのアクセス許可の管理の詳細については、「AWS Resource Access Manager ユーザーガイド」の「AWS RAM アクセス許可の管理」を参照してください。

請求と使用量測定

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

共有リソースのクォータ

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

詳細については、「AWS RAM ユーザーガイド」の「Service quotas for AWS RAM」を参照してください。