目次
BeeXの榊原です。本記事はBeeX Advent Calendar 2023 の14日目の内容です。
今日から4日間担当します。よろしくお願いします。
本日の内容ですが、前にAzure ADとCognitoを用いた認証付きでEC2に接続する記事を書きました。今回はその記事で前提として省略した部分の構築手順を二回に分けて記事化します。
構築するもの
➀SSL証明書取得まで(本記事)
➁証明書を紐づけてALBにHTTPS接続するまで(別記事)
➂AzureADとCognitoで認証するところまで(別記事)
前提
お名前ドットコムで既に自身のドメイン名を取得しているものとし、ドメイン管理はRoute53で行うよう変更を加えます。また、ドメイン検証はDNS認証に設定します。これでACMで取得する証明書の自動更新が可能です。
構築手順
ホストゾーン作成とネームサーバの登録
AWSコンソールのRoute53にいき、パブリックホストゾーンを作成します。
するとNSレコードが4つ表示されます。
4つのNSレコードをお名前ドットコムに登録します。このとき末尾のドットは入力不要です。
しばらく時間をおいてから、コマンドラインで下記コマンド入力します。
名前解決がAWSのネームサーバで解決できるようになりました。
登録後1日以上かかるケースがあるみたいですが、5分ほどで反映されました。
$ nslookup -type=NS [お名前ドットコムに登録したドメイン名]
# 以下出力結果(一部マスクしています)
権限のない回答:
test-sakaki.com nameserver = ns-XX.awsdns-XX.org
test-sakaki.com nameserver = ns-XX.awsdns-XX.co.uk
test-sakaki.com nameserver = ns-XX.awsdns-XX.net
test-sakaki.com nameserver = ns-XX.awsdns-XX.com
ちなみにSOAレコードを確認してもOKです。
ホストゾーンのSOAレコードと値が一致していればOKです。
$ nslookup -type=SOA [お名前ドットコムに登録したドメイン名]
# 以下出力結果(一部マスクしています)
権限のない回答:
test-sakaki.com
primary name server = ns-XX.awsdns-XX.com
responsible mail addr = awsdns-hostmaster.amazon.com
serial = 1
refresh = 7200 (2 hours)
retry = 900 (15 mins)
expire = 1209600 (14 days)
default TTL = 86400 (1 day)
これでドメイン名がRoute53下で管理されるようになりました。
ACMを使用した証明書作成
次にパブリック証明書を作成しましょう。
登録するドメイン名は「test-sakaki.com」と「*.test-sakaki.com」とします。こうすれば「www.test-sakaki.com」や「images.test-sakaki.com」等同じドメイン内の複数のサイト保護ができます。
リクエスト後、作成した証明書のCNAME名とCNAME値が出てきます。Route53でCNAMEレコードを作成しましょう。「Route53でレコードを作成」を押下します。
遷移先の画面でドメインにチェックを入れて「レコードを作成」を押下します。
しばらくすると、リクエストした証明書のステータスが発行済みになります。
これで証明書の取得は完了です!
最後に
今回はお名前ドットコムの独自ドメイン名でAWS ACMを用い、SSL証明書を取得する手順について記載しました。次回記事ではこの証明書をALBに結び付け、HTTPS接続するところまで解説します。(リリースしました。こちらからどうぞ)ここまでお読みいただきありがとうございました。