このページについて
・同一サブドメインのSSL証明書のDNS認証は、AWSの別リージョンごとにCNAMEレコード登録する必要がないことの検証になります。
経緯
・先日、お客様の環境でファイルアップロードすると「504 Gateway Timeout Error」が発生し、原因がCloudFrontの「Origin Request Timeout」値が30秒だったためでした。
当値の上限は60秒(AWS上限緩和申請で60秒以上に上限をあげることは可能だが何秒まで上限緩和できるのかはわかりません。。)だったため、以下構成に変更しようということになりました。
(CLBの「Idle Timeout」値を600秒に設定すれば、504エラーを解決できると考えたため。)
CloudFront用のSSL証明書発行は、バージニア北部リージョンで発行しており、CLBを配置するリージョンが東京リージョンだったため、東京リージョンで別途証明書発行する必要がありました。
その際、証明書の検証をDNSにて実施しようと考えていましたが、バージニア北部と同一のCNAMEレコードが発行されたため、Route53にDNS検証用CNAMEレコードの登録は実施する必要がないことを初めて知り、記事にすることにしました。
検証
1.リージョン「バージニア北部」でサブドメイン用のSSL証明書を発行します。
2.「1」により、CNAMEレコードが発行されます(DNSサーバへレコード登録していないため、検証状態が「検証保留中」になっています)。
3.検証用CNAMEレコードを、Route53に登録します。
4.しばらくすると、Route53にCNAMEレコードを登録したため、検証状態が「成功」になりました。
5.次は、リージョン「東京」で、同じサブドメインのSSL証明書を発行します。
6.リージョン「バージニア北部」のときと同様に、検証状態が「検証保留中」になっています。
7.しばらくすると(Route53へのCNAMEレコード登録未実施の状態で)、検証状態が「成功」になりました。
あとがき
DNSサーバへのレコード登録は、別会社が管理している場合、都度レコードの登録を依頼しなければならないので手間です。
今回の知見により、無駄なレコード登録依頼をせずに済みそうです(今回、レコード登録依頼をして、後からきづいたんですけどね。。)。
ただ、なぜリージョンごとに別のCNAMEレコードが吐き出されないのかが理解できていないので勉強するひつようがあるというのが現状です(1サブドメインにつき1CNAMEレコードなのかな。。??)。