0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的備忘録:CloudFormationでCloudFrontのHostedZoneIdを設定ミスしてハマった話を整理してみた

Posted at

はじめに

本記事では、CloudFormationでS3 + CloudFront + Route53を組み合わせて構成する際に、CloudFrontのHostedZoneIdに関する設定ミスによって発生したエラーとその解決方法について解説します。

個人の備忘録程度の走り書きとなっておりますが、温かい目で見守っていただければ幸いです。

書こうと思ったきっかけ

CloudFrontをAlias設定付きでRoute53に紐付ける際、誤ってRoute53のホストゾーンIDを指定してしまい、CloudFormationのスタック作成に失敗するエラーに遭遇しました。同じミスを防ぐためにも、原因と正しい設定方法をまとめておこうと思い、この記事を書くことにしました。


問題の原因まとめ

CloudFormationでCloudFront + Route53を組み合わせる際に、AliasTarget.HostedZoneId誤ってRoute53のホストゾーンID を指定していたことが原因で、エラーが発生していました。

# 誤りの例
AliasTarget:
  HostedZoneId: xxx  # ← Route53のHostedZoneIdを指定してしまっている
  DNSName: !GetAtt CloudFrontDistribution.DomainName

発生するエラー例

Resource handler returned message: "Invalid request provided: Cannot use Route53 HostedZoneId as AliasTarget for CloudFront distribution. Use CloudFront HostedZoneId instead." (RequestToken: ...)

正しくは、CloudFront固有のHostedZoneIdを指定する必要があります。


正しい設定(CloudFront用のHostedZoneId)

CloudFrontでは、全リージョン共通で次の固定値を使用すると思っています

AliasTarget:
  HostedZoneId: Z2FDTNDATAQYW2  # CloudFront用の固定値
  DNSName: !GetAtt CloudFrontDistribution.DomainName
  • Z2FDTNDATAQYW2 は CloudFront 全体に共通の HostedZoneId です。
  • この値は固定されており、AWSドキュメントにも明記されています。


CloudFrontのHostedZoneIdはどこで確認する?

CloudFront の HostedZoneId は、

  • すべてのディストリビューションで共通の固定値であり、
  • 自分で調べたり変更したりする必要はありません。

CloudFrontの固定 HostedZoneId

リソースタイプ HostedZoneId 備考
CloudFront Z2FDTNDATAQYW2 全リージョン共通、固定値


まとめ

CloudFrontのAlias設定時には、Route53のホストゾーンIDではなく、CloudFront用の固定HostedZoneId(Z2FDTNDATAQYW2)を使用する必要があります。

この設定ミスは初心者が陥りやすいポイントのひとつですが、あらかじめ理解しておくことでスムーズに構築作業を進めることができるかと思います...!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?