cloudfrontにcname(別ドメイン名)を付けようとしたらエラー

cloudfrontを、標準で付いているURL「xxx.cloudfront.net」とは別のドメイン名を付けたく、ドメインを取得して「Alternate Domain Names (CNAMEs)」に設定を入れたのですが、

「com.amazonaws.services.cloudfront.model.InvalidViewerCertificateException: To add an alternate domain name (CNAME) to a CloudFront distribution, you must attach a trusted certificate that validates your authorization to use the domain name. For more details, see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-requirements (Service: AmazonCloudFront; Status Code: 400; Error Code: InvalidViewerCertificate; Request ID: 3f1fc34d-605a-xxxx-xxxx-xxxxxxxxxxxx)」

といったエラーが表示され、CNAMEが保存できません、、、いったい何故!?

環境・前提条件

AWSのcloudfrontを設定中。
ドメイン名はAWSのRoute53で有償で取得し、DNSレコードも用意してある。
httpアクセスで使いたいだけなのに、cloudfrontのCNAME保存でエラーとなってまう。

結論、cloudfrontへCNAME(別名)でhttpアクセスしたい場合でも証明書が必要になった

cloudfrontへ証明書不要なhttpアクセスでCNAME(別名)でアクセスする場合、昔のAWSでは証明書不要でしたが、
今のAWSではhttpアクセスでもCNAME(別名)使用時には証明書が必要になりました。

なので、CNAMEをしたい場合は証明書を取得し「Custom SSL Certificate (example.com):」で設定しないとこのエラーが出ます。

証明書取得に「Request or Import a Certifcate with ACM」で「DNSの検証」を指定した場合

DNSの検証とは、DNSに指定されたレコードを追加させ、DNSの所有者であることを証明することにより証明書が発行できます。
なので、指定されたDNSレコードをDNSに登録するまで、証明書発行のステータスはずっと「保留中」となります。
指定されたDNSレコードをDNSに登録してあげましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です