[AWS]CloudFrontのマルチテナントディストリビューションとは

どんなことができるのか

AWSドキュメントより

いわゆるクライアントごとに独自ドメインを一つの設定で配信できるという機能。ドメインごとの TLS 証明書を CloudFrontが自動で取得・更新してくれる。配信設定はひな形として共有しつつ、WAF・証明書だけはドメインごとに差し替えられて、階層ごとにひな形を分けられる。

今まで代替ドメイン名は1 ディストリビューションあたり100 件が上限で、超えるとディストリビューションを分けるしかなかったので非常に重宝する。

コスト

テナント数 料金
〜10 無料
11〜200 月 $20 の定額
201〜 1 テナントあたり月 $0.10

安い!

仕組み

オリジン、キャッシュ、WAFらの共通設定ディストリビューションテナントドメイン 1 本。

役割
マルチテナントディストリビューション ひな形。オリジン、キャッシュ、WAF など共通設定
ディストリビューションテナント ドメイン 1 本で証明書も管理
コネクショングループ CNAME を向ける先(dhogehoge.cloudfront.net

共通設定のひな形を 1 つ作り、ドメインごとの差分だけを個別に持つようなイメージ。もちろんクライアントごとにドメインの所有を証明するために、CNAMEのみ設定すればいいので、TXTで足してもらう必要などの工程はなくなる。

APIで自動化する

クライアントが増えるたびに手動は追加はだるいので、AWS SDKを使えば簡単にTXT設定、テナントから証明書の認証まで実装することができる。以下は例。

まとめ

テナント自体はTerraformに入れないほうがよさそうだった。ドメインの増減で動的に変わるものをIaC に載せると、増えるたびにapply しないといけないので、基盤までをIaC、テナントはAPIで作る工程が良さそうだった。

結論、控えめに言って、便利じゃん!

Was this helpful?

0 / 0

コメントを残す