とある案件で EC2のサーバをSSLで公開したく、AWS Certificate Manager でSSL証明書を取得したときのメモ。
今回は
- ドメインを持っている(example1.xyz としました)
- そのドメインは、AWS Route 53(DNS)で管理している
- EC2サーバの前におくELB(Elastic Load Balancer) でSSLのリクエストを受ける
という前提で書いてます。またDNSは、自分で操作できるサーバであればRoute 53である必要はないのですが今回はそれ前提で。
やってみる
マネジメントコンソールで、Certificate Manager を表示。「今すぐ始める」を選択。
ドメイン名に「*.example1.xyz」を入力して「次へ」をクリック。
このドメインの所有者であることを確認するために
- 「DNSを操作できること(CNAMEを追加出来る)」
- 「特定のアドレスでメールを受信できる」
いずれかが必要なんですが、今回はRoute 53でこのドメインを管理している想定なので「DNSの検証」を選択し「確認」をクリック。
以上、こちらがDNS操作を行うのを待っている状態になりました。下記の画面で先頭の三角をクリックして開いてみると、、、
このCNAMEレコードを追加してくださいと出ます。外部のDNSサーバを使ってるなら適宜設定すればよいですし、このアカウントのRoute 53でホストしてるなら、ワンタッチで設定出来るボタンがあるので今回は「Route 53でのレコードの作成」をクリックします。
ちなみにRoute 53の画面で見てみても、たしかにCNAMEレコードが追加されています。
ちなみにこのCNAMEレコードは、検証が完了したら削除してよいかと思います。
-- 2020/07/05追記 --
コメントでご指摘をいただきましたが、 CNAMEレコードを削除すると証明書を自動更新してくれなくなるので、検証を完了してもCNAMEレコードは削除しちゃダメでした。
自動更新を止めたい場合は削除して、などなどがユーザガイドに書いてありますね。
https://docs.aws.amazon.com/ja_jp/acm/latest/userguide/gs-acm-validate-dns.html#dns-delete-cname
ご指摘ありがとうございました。
-- 2020/07/05追記 以上 --
作成した証明書は、ELBの作成ウィザードの途中で指定することで、使用することができます。
ELBを構築するところについては、またあらためて記事にしようと思います。
おつかれさまでした。