コンテンツにスキップ
Dev Classmethod Jp Cloudfront Multidistribution Terraform

CloudFront マルチテナントディストリビューションを Terraform で構築してみた

  • URL: https://dev.classmethod.jp/articles/cloudfront-multidistribution-terraform/

  • 日付: 2026-06-14

  • Tier: Tier 2

  • 要旨: AWS Provider v6.28.0 から CloudFront のマルチテナントディストリビューション(テンプレート1つ+ドメインごとのテナント構成)が Terraform でサポートされた。共有 S3 バケット+prefix 分割+OAC で複数ドメインを1テンプレートで配信できることを確認。

詳細

  • 構成要素: aws_cloudfront_multitenant_distribution(テンプレート)+ aws_cloudfront_connection_group(ルーティングエンドポイント)+ aws_cloudfront_distribution_tenant(ドメインごとのフロントドア)の3リソース。
  • マルチテナントディストリビューション自体は connection_mode: tenant-only で単体配信不可。テナントの CNAME 先は connection group の routing endpoint へ向ける。
  • origin の引数は origin_id ではなく id(ハマりポイント)。TTL 直指定不可でキャッシュポリシー必須。
  • ACM 証明書は apex + *.apex の SAN 付きで共有。検証レコードが同名になるため allow_overwrite = true + distinct() が必要。
  • DNS は alias 不可で CNAME のみ。PriceClass・WAF Classic・OAI など設定できない項目あり。