マルチテナントディストリビューションの仕組みを理解する - Amazon CloudFront

マルチテナントディストリビューションの仕組みを理解する

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

標準ディストリビューションの代わりにマルチテナントディストリビューションを使用する利点は、次のとおりです。

  • 運用上の負担を軽減します。

  • エンドユーザーにコンテンツを配信する複数のウェブアプリケーションの CloudFront ディストリビューションを管理するための、ウェブ管理者とソフトウェアプロバイダー向けの再利用可能な設定。

  • 他の AWS のサービスとの統合を強化して、証明書の自動管理、統合セキュリティコントロール、および手間のかからない大規模な設定コントロールを実現しました。

  • 実装全体で一貫したリソースパターンを維持します。共有する必要がある設定を定義し、上書きする設定のカスタマイズを指定します。

  • ディストリビューションテナントレベルで特定のニーズを満たすように、オリジンおよびセキュリティの設定をカスタマイズできます。

  • ディストリビューションテナントを異なる階層に整理します。例えば、Origin Shield を必要とするディストリビューションテナントと必要としないテナントがある場合、ディストリビューションテナントを異なるマルチテナントディストリビューションにグループ化できます。

  • 複数のドメイン間で共通の DNS 設定を共有します。

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

マルチテナントディストリビューションクォータの詳細については、「マルチテナントディストリビューションのクォータ」を参照してください。

仕組み

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

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

概要
  1. 開始するには、まずマルチテナントディストリビューションを作成します。CloudFront は、コンテンツオリジンタイプに基づいてディストリビューション設定を構成します。VPC オリジンを除くすべてのオリジンの設定をカスタマイズできます。VPC オリジン設定は、VPC オリジンリソース自体でカスタマイズされます。カスタマイズできるマルチテナントディストリビューション設定の詳細については、「CloudFront マルチテナントディストリビューションリファレンス」を参照してください。

    • マルチテナントディストリビューションに使用する TLS 証明書は、ディストリビューションテナントに継承できます。マルチテナントディストリビューション自体はルーティングできないため、ドメイン名は関連付けられません。

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

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

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

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

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

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

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

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

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

マルチテナントディストリビューションがディストリビューションテナントと連携する方法。

マルチテナントディストリビューションの作成手順の詳細については、「コンソールに CloudFront ディストリビューションを作成する」を参照してください。

用語

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

マルチテナントディストリビューション

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

標準ディストリビューション

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

ディストリビューションテナント

ディストリビューションテナントは、マルチテナントディストリビューション設定を継承します。最大 5 つの個々のドメインまたはサブドメインをサポートします。一部の設定は、ディストリビューションテナントレベルでカスタマイズできます。ディストリビューションテナントには有効な TLS 証明書が必要です。これは、ディストリビューションテナントドメインまたはサブドメインを対象とする限り、マルチテナントディストリビューションから継承できます。

ディストリビューションテナントは、接続グループに関連付ける必要があります。CloudFront は、ディストリビューションテナントを作成するときに接続グループを作成し、その接続グループに任意のディストリビューションテナントを自動的に割り当てます。

マルチテナンシー

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

接続グループ

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

パラメータ

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

ディストリビューションテナントでオプションパラメータの値を指定しない場合、マルチテナントディストリビューションのデフォルト値が値として使用されます。

CloudFront ルーティングエンドポイント

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

カスタマイズ

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

サポートされていない 機能

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

メモ
  • 現在、AWS Firewall Manager ポリシーは標準ディストリビューションにのみ適用されます。Firewall Manager は、今後のリリースでマルチテナントディストリビューションのサポートを追加します。

  • 標準ディストリビューションとは異なり、ディストリビューションテナントレベルでドメイン名 (エイリアス) を指定します。詳細については、「CloudFront ディストリビューションテナントの証明書をリクエストする」および「CreateDistributionTenant API オペレーション」を参照してください。

以下の設定は、マルチテナントディストリビューションまたはディストリビューションテナントでは設定できません。代わりに、接続グループに必要な値を設定します。接続グループに関連付けられているすべてのディストリビューションテナントは、これらの設定を使用します。詳細については、「カスタム接続グループを作成する (オプション)」を参照してください。