本記事は
AWSアワード受賞者祭り
3日目の記事です。
✨🏆
2日目②
▶▶ 本記事 ▶▶
4日目
🏆✨
こんにちは。梅原です。
この度、2025 Japan All AWS Certifications Engineersに選出いただきました。
今年に入ってから駆け込みで5個取得した甲斐がありました。

さて、本ブログはネットコムの全AWS受賞者によるAWSアワード受賞者祭り3日目の記事です。
タイトルにもある通り、最近発表されたAmazon CloudFront SaaS Managerの機能について紹介します。
Amazon CloudFront SaaS Manager とは
そもそもCloudFrontとは、AWSが提供するCDN(コンテンツデリバリーネットワーク)サービスです。世界中に存在しているエッジロケーションを利用して、コンテンツを配信することができます。
そんなCloudFrontで新しいディストリビューションの形態である、Amazon CloudFront SaaS Manager (マルチテナント)が発表されました。CloudFront SaaS Managerは一言で表現すると、
複数ドメイン(テナント)を管理するのに適したディストリビューション
です。
従来のディストリビューションで複数ドメインを利用する場合は、管理の煩雑化や設定値の統制が困難でした。CloudFront SaaS Managerを利用することで、設定の統制を行いつつ、ドメイン毎にディストリビューションを割り当てることができます。
コンソールではSaaS Managerが「Multi-tenant」、従来のディストリビューションが「Standard」と呼ばれています。

Amazon CloudFront SaaS Manager の仕組み
CloudFront SaaS Managerの詳細な説明をポイントに分けて説明します。
CloudFront SaaS Managerを利用すると、以下のような構成となります。

ポイント1
まず1つ目のポイントは、画像上部の「Multi-tenant Distribution1」です。 このマルチテナントディストリビューションを親として、ベースとなるオリジンやキャッシュビヘイビア、利用する証明書、WAFなどの設定を行います。

ポイント2
次に、画像中部の「Distribution Tenant 1 ~ 4」です。これらは子となる各ドメイン用ディストリビューションテナントです。
「Multi-tenant Distribution1」と親子関係になっているので、マルチテナントディストリビューションで設定したオリジンやキャッシュビヘイビアの設定を継承する動きとなります。
上書き可能な設定項目もあり、各テナントで独自の設定もすることもできます。
また、各ディストリビューションテナントでキャッシュも独立しているので、特定ドメインに対するキャッシュだけを削除したいといったことも可能です。

ポイント3
最後は、画像下部の「Connection Group1, 2」です。マルチテナントディストリビューションに含まれる各ディストリビューションテナントで利用するCloudFrontエンドポイントは1つに統一されています。 各テナントでCloudFrontエンドポイントを分ける場合は、紐づけるConnection Groupを変更することで可能です。
コンソールはデフォルトではConnection Groupは表示されていないので、設定から有効化してあげる必要があります。
上記をまとめると、図中の各リソースはそれぞれ以下のような役割を担います。
Multi-tenant Distribution
複数テナントで共通の設定管理を行うためのリソース
Distribution Tenant
各ドメイン毎で実際に利用するディストリビューション
Connection Group
ディストリビューションのエンドポイントとDistribution Tenantを紐付けするリソース
メリット
では、複数ドメインの管理をCloudFront SaaS Managerを利用することで、どのような点でメリットがあるのでしょうか? 以下2つが大きなメリットです。
運用負担軽減
従来の単一ディストリビューションで複数ドメインを管理する場合は、個々のドメイン毎のカスタマイズは難しく、全体で1つの設定にせざるを得ませんでした。 ドメインの数だけディストリビューションを建てるとしても、各設定の統制や管理が煩雑化してしまいます。
そんな複数ドメイン管理を簡単にしたのが、このCloudFront SaaS Managerです。
親となるマルチテナントディストリビューションの設定を継承させているので、設定値を集約することができ、運用や管理の負担を軽減させることができます。
※SaaS ManagerのSaaSは、ドメインが複数に分かれているサービスと理解しています。
各テナントでのカスタマイズ
各テナントで設定値を上書きすることができると伝えましたが、他にも変数を利用してオリジンパスやオリジンを動的に変更することができます。
親のマルチテナントディストリビューションにパラメータを設定することができます。

上画像のようにマルチテナントディストリビューションにパラメータを設定し、

各テナントでその変数に値を入れ、オリジンパスやオリジンを動的に変更することができます。
この機能を利用すると、以下のように、各テナント毎に動的にオリジンをわけるといったことができます。

注意点
このCloudFront SaaS Managerの機能を利用する上で注意点があります。
CloudFront SaaS ManagerにはサポートされてないCloudFrontの機能があります。継続的デプロイやTTL設定は利用できません。
現状では、WAFのセキュリティ設定やSSL証明書のみ上書きが可能です。 各ドメイン独自でオリジンやキャッシュビヘイビアを設定することはできません。
CloudFront SaaS Managerでクオータができているので、こちらも注意ポイントです。
最後に
ここまで読んでいただきありがとうございました。
CloudFront SaaS Managerは複数ドメインをCloudFront上で配信することが大前提なので、ユースケースとして合致する際は大きな利点があります。 導入の際にはワークロードがユースケースと合致するか見極める必要があります。
また、最近発表された機能ということもあり、今後さらに拡張されていくと思われます。本ブログは2025年7月現在の情報を基にしているので、最新情報は適宜ドキュメントなどを参照してください。