

# マルチテナントディストリビューションの仕組みを理解する
<a name="distribution-config-options"></a>

複数のディストリビューションテナント間で再利用できる設定を使用して、CloudFront マルチテナントディストリビューションを作成できます。マルチテナントディストリビューションを使用して、コンテンツオリジンタイプに基づいて CloudFront にディストリビューション設定を構成させることができます。事前設定された設定内容の詳細については、「[事前設定されたディストリビューション設定リファレンス](template-preconfigured-origin-settings.md)」を参照してください。

標準ディストリビューションの代わりにマルチテナントディストリビューションを使用する利点は、次のとおりです。
+ 運用上の負担を軽減します。
+ エンドユーザーにコンテンツを配信する複数のウェブアプリケーションの CloudFront ディストリビューションを管理するための、ウェブ管理者とソフトウェアプロバイダー向けの再利用可能な設定。
+ 他の AWS のサービスとの統合を強化して、証明書の自動管理、統合セキュリティコントロール、および手間のかからない大規模な設定コントロールを実現しました。
+ 実装全体で一貫したリソースパターンを維持します。共有する必要がある設定を定義し、上書きする設定のカスタマイズを指定します。
+ ディストリビューションテナントレベルで特定のニーズを満たすように、オリジンおよびセキュリティの設定をカスタマイズできます。
+ ディストリビューションテナントを異なる階層に整理します。例えば、Origin Shield を必要とするディストリビューションテナントと必要としないテナントがある場合、ディストリビューションテナントを異なるマルチテナントディストリビューションにグループ化できます。
+ 複数のドメイン間で共通の DNS 設定を共有します。

標準ディストリビューションとは異なり、マルチテナントディストリビューションには CloudFront ルーティングエンドポイントがないため、直接アクセスすることはできません。したがって、接続グループおよび 1 つ以上のディストリビューションテナントと組み合わせて使用する必要があります。標準ディストリビューションには独自の CloudFront エンドポイントがあり、エンドユーザーが直接アクセスできますが、他のディストリビューションのテンプレートとして使用することはできません。

マルチテナントディストリビューションクォータの詳細については、「[マルチテナントディストリビューションのクォータ](cloudfront-limits.md#limits-template)」を参照してください。

**Topics**
+ [仕組み](#how-template-distribution-works)
+ [用語](#template-distributions-concepts)
+ [サポートされていない機能](#unsupported-saas)
+ [ディストリビューションテナントのカスタマイズ](tenant-customization.md)
+ [CloudFront ディストリビューションテナントの証明書をリクエストする](managed-cloudfront-certificates.md)
+ [カスタム接続グループを作成する (オプション)](custom-connection-group.md)
+ [マルチテナントディストリビューションに移行する](template-migrate-distribution.md)

## 仕組み
<a name="how-template-distribution-works"></a>

*標準ディストリビューション*では、オリジン設定、キャッシュ動作、セキュリティ設定など、ウェブサイトまたはアプリケーションで有効にするすべての設定がディストリビューションに含まれます。別のウェブサイトを作成し、同じ設定の多くを使用する場合、毎回新しいディストリビューションを作成する必要があります。

CloudFront マルチテナントディストリビューションは、初期マルチテナントディストリビューションを作成できる点で異なります。新しいウェブサイトごとに、ソースディストリビューションの定義された値を自動的に継承するディストリビューションテナントを作成します。次に、ディストリビューションテナントの特定の設定をカスタマイズします。

**概要**

1. 開始するには、まずマルチテナントディストリビューションを作成します。CloudFront は、コンテンツオリジンタイプに基づいてディストリビューション設定を構成します。VPC オリジンを除くすべてのオリジンの設定をカスタマイズできます。VPC オリジン設定は、VPC オリジンリソース自体でカスタマイズされます。カスタマイズできるマルチテナントディストリビューション設定の詳細については、「[事前設定されたディストリビューション設定リファレンス](template-preconfigured-origin-settings.md)」を参照してください。
   + マルチテナントディストリビューションに使用する TLS 証明書は、ディストリビューションテナントに継承できます。マルチテナントディストリビューション自体はルーティングできないため、ドメイン名は関連付けられません。

1. デフォルトでは、CloudFront は接続グループを作成します。接続グループは、コンテンツに対するビューワーリクエストが CloudFront に接続する方法を制御します。接続グループの一部のルーティング設定をカスタマイズできます。

   これは、独自の接続グループを手動で作成することで変更できます。詳細については、「[カスタム接続グループを作成する (オプション)](custom-connection-group.md)」を参照してください。

1. 次に、1 つ以上のディストリビューションテナントを作成します。ディストリビューションテナントは、ビューワーがコンテンツにアクセスするための「玄関」です。各ディストリビューションテナントはマルチテナントディストリビューションを参照し、CloudFront が作成した接続グループに自動的に関連付けられます。ディストリビューションテナントは、個々のドメインまたはサブドメインをサポートします。

1. その後、バニティドメインやオリジンパスなど、一部のディストリビューションテナント設定をカスタマイズできます。詳細については、「[ディストリビューションテナントのカスタマイズ](tenant-customization.md)」を参照してください。

1. 最後に、DNS ホストの DNS レコードを更新して、トラフィックをディストリビューションテナントにルーティングする必要があります。これを行うには、接続グループから CloudFront エンドポイント値を取得し、CloudFront エンドポイントを指す CNAME レコードを作成します。

**Example 例**  
次の図は、マルチテナントディストリビューション、ディストリビューションテナント、および接続グループが連携して、複数のドメインのビューワーにコンテンツを配信する方法を示しています。  

1. マルチテナントディストリビューションは、各ディストリビューションテナントの継承された設定を定義します。マルチテナントディストリビューションをテンプレートとして使用します。

1. マルチテナントディストリビューションから作成された各ディストリビューションテナントには、独自のドメインがあります。

1. ディストリビューションテナントは、マルチテナントディストリビューションの作成時に CloudFront が作成した接続グループに自動的に追加されます。接続グループは、ビューワーリクエストを CloudFront ネットワークに接続する方法を制御します。

![マルチテナントディストリビューションがディストリビューションテナントと連携する方法。](http://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/images/template_distribution.png)


マルチテナントディストリビューションの作成手順の詳細については、「[コンソールに CloudFront ディストリビューションを作成する](distribution-web-creating-console.md#create-console-distribution)」を参照してください。

## 用語
<a name="template-distributions-concepts"></a>

以下の概念では、マルチテナントディストリビューションのコンポーネントについて説明します。

**マルチテナントディストリビューション**  
キャッシュ動作、セキュリティ保護、オリジンなど、すべてのディストリビューションテナントのすべての共有構成設定を指定するブループリント、マルチテナントディストリビューション。マルチテナントディストリビューションは、トラフィックを直接処理することはできません。接続グループおよびディストリビューションテナントと組み合わせて使用する必要があります。

**標準ディストリビューション**  
マルチテナント機能を持たないディストリビューション。これらのディストリビューションは、単一のウェブサイトまたはアプリケーションをサポートするのに最適です。

**ディストリビューションテナント**  
ディストリビューションテナントは、マルチテナントディストリビューション設定を継承します。一部の設定は、ディストリビューションテナントレベルでカスタマイズできます。ディストリビューションテナントには有効な TLS 証明書が必要です。これは、ディストリビューションテナントドメインまたはサブドメインを対象とする限り、マルチテナントディストリビューションから継承できます。  
ディストリビューションテナントは、接続グループに関連付ける必要があります。CloudFront は、ディストリビューションテナントを作成するときに接続グループを作成し、その接続グループに任意のディストリビューションテナントを自動的に割り当てます。

**マルチテナンシー**  
マルチテナントディストリビューションを使用して、設定とインフラストラクチャを共有しながら、複数のドメイン間でコンテンツを提供できます。このアプローチにより、さまざまなドメイン (テナントと呼ばれる) が、独自のカスタマイズを維持しながら、マルチテナントディストリビューションから共通の設定を共有できます。

**接続グループ**  
ビューワーにコンテンツを提供する CloudFront ルーティングエンドポイントを提供します。各ディストリビューションテナントを接続グループに関連付けて、ディストリビューションテナントドメインまたはサブドメイン用に作成した CNAME レコードに対応する CloudFront ルーティングエンドポイントを取得する必要があります。接続グループは、複数のディストリビューションテナント間で共有できます。接続グループは、IPv6 やエニーキャスト IP リスト設定など、ディストリビューションテナントのルーティング設定を管理します。

**パラメータ**  
オリジンパスやドメイン名など、プレースホルダー値のキーと値のペアのリスト。マルチテナントディストリビューションでパラメータを定義し、それらのパラメータの値をディストリビューションテナントレベルで指定できます。ディストリビューションテナントにパラメータ値を入力する必要があるかどうかを選択します。  
ディストリビューションテナントでオプションパラメータの値を指定しない場合、マルチテナントディストリビューションのデフォルト値が値として使用されます。

**CloudFront ルーティングエンドポイント**  
`d123.cloudfront.net` などの接続グループの正規 DNS。ディストリビューションテナントドメインまたはサブドメインの CNAME レコードで使用されます。

**カスタマイズ**  
ディストリビューションテナントをカスタマイズして、マルチテナントディストリビューションとは*異なる*設定を使用できます。ディストリビューションテナントごとに、異なる AWS WAF ウェブアクセスコントロールリスト (ACL)、TLS 証明書、地理的制限を指定できます。

## サポートされていない機能
<a name="unsupported-saas"></a>

次の機能は、マルチテナントディストリビューションでは使用できません。標準ディストリビューションと同じ設定を使用して、新しいマルチテナントディストリビューションを作成する場合は、一部の設定は使用できないことに注意してください。

**注意事項**  
現在、AWS Firewall Manager ポリシーは標準ディストリビューションにのみ適用されます。Firewall Manager は、今後のリリースでマルチテナントディストリビューションのサポートを追加します。
標準ディストリビューションとは異なり、*ディストリビューションテナント*レベルでドメイン名 (エイリアス) を指定します。詳細については、「[CloudFront ディストリビューションテナントの証明書をリクエストする](managed-cloudfront-certificates.md)」および「[CreateDistributionTenant](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistributionTenant.html) API オペレーション」を参照してください。
+ [継続的デプロイ](continuous-deployment.md)
+ [オリジンアクセスアイデンティティ (OAI)](private-content-restricting-access-to-s3.md#private-content-restricting-access-to-s3-oai) – 代わりに[オリジンアクセスコントロール (OAC)](private-content-restricting-access-to-origin.md) を使用します。
+ [専用 IP カスタム SSL サポート](DownloadDistValuesGeneral.md#DownloadDistValuesClientsSupported) – `sni-only` メソッドのみがサポートされています。
+ [AWS WAF Classic (V1) ウェブ ACL](DownloadDistValuesGeneral.md#DownloadDistValuesWAFWebACL) – AWS WAF V2 ウェブ ACL のみがサポートされています。
+ [標準ログ記録 (レガシー)](standard-logging-legacy-s3.md)
+ [最小 TTL](DownloadDistValuesCacheBehavior.md#DownloadDistValuesMinTTL)
+ [デフォルト TTL](DownloadDistValuesCacheBehavior.md#DownloadDistValuesDefaultTTL)
+ [最大 TTL](DownloadDistValuesCacheBehavior.md#DownloadDistValuesMaxTTL)
+ [ForwardedValues](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ForwardedValues.html)
+ [PriceClass](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_DistributionConfig.html)
+ [信頼された署名者](DownloadDistValuesCacheBehavior.md#DownloadDistValuesTrustedSigners)
+ [スムーズストリーミング](DownloadDistValuesCacheBehavior.md#DownloadDistValuesSmoothStreaming)
+ [AWS Identity and Access Management (IAM) サーバー証明書](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)
+ [専用 IP アドレス](cnames-https-dedicated-ip-or-sni.md#cnames-https-dedicated-ip)
+ [最小プロトコルバージョン SSLv3](DownloadDistValuesGeneral.md#DownloadDistValues-security-policy)

以下の設定は、マルチテナントディストリビューションまたはディストリビューションテナントでは設定できません。代わりに、接続グループに必要な値を設定します。接続グループに関連付けられているすべてのディストリビューションテナントは、これらの設定を使用します。詳細については、「[カスタム接続グループを作成する (オプション)](custom-connection-group.md)」を参照してください。
+ [IPv6 を有効にする (ビューワーリクエスト)](DownloadDistValuesGeneral.md#DownloadDistValuesEnableIPv6)
+ [エニーキャスト静的 IP リスト](request-static-ips.md)