CloudFrontとACM連携でハマった話。
こんばんは。
この間ドメインを取得しないといけない機会があり、
せっかくとったからということで
色々(Route53とかELBとかACMとかS3とか)遊んでいたのですが、
最後の最後CloudFrontにACMで取得した証明書設定するところで
めちゃめちゃハマりました。。
同じ苦しみを味わう人を一人でも救済したく、
重い腰を上げてキーボードをたたき始めた次第です。
結論
CloudFrontにACMで取得した証明書を適用する場合は、
us-east-1のACMで証明書を取得しないといけない!!!!
はい。以上です。
ap-northeast-1のACMで取得したSSL証明書は
CloudFrontに適用できません。
よくよく考えると、CloudFrontはグローバルなんだから
どこかしらのメインリージョンのACMで取得したSSL証明書じゃないといけないのは当たり前だし。
そもそもよくよく考えるまでもなく、
ちゃんと書いてあったし。
(小さい!小さすぎるよAmazonさん!!)
よく考えて、よく読みましょうということでした。
やりたかったこと
いえ、今となっては実現できたことと言っていいでしょう。
ごく普通の構成だと思います。
こんなの30分だろと思っていた日もありました。
そう、CloudFrontにハマるまでは。
やったこと
- お名前.comでドメインを取得する
- お名前.comのネームサーバにAWSのDNSサーバを登録する
- 自分がもつドメインへのメールをSESで受信してS3に保存する
- S3を静的ウェブサイトホスティングでたてる
- us-east1のACMでSSL証明書を発行する
- S3にメールが届くのでVerifyする
- 上記でたてたS3をオリジンとするCloudFrontを構成する
- 構成する際にCNAMEを書くこととCustomSSLCertificateを選択する
- Route53でimg.iryond.xxxの名前解決先をCloudFrontにする
するとこうなる
ACMのリージョンさえ間違えなければ超簡単ですね。
この前のJAWSでも
「ManagementConsole使っていいのは中学生までだよねー☆」
という話があったので、次回はCLIで頑張ろうと思います。。
それでは。