【AWS】ACMでSSL証明書を発行する

Skrumエンジニアの根岸です。
AWS でロードバランサー (ELB) や CloudFront を利用する場合、AWS Certificate Manager (ACM) を使うと無料でSSL証明書を発行できます。(EC2には利用できません。)
ACM を利用してSSL証明書を発行することのメリットとしては、無料で利用できることの他に、更新作業が不要という大きなメリットがあります。ACM で発行された証明書は 13 か月間(395 日間)有効ですが、期日になると自動で更新が行われます。
ELBまたはCloudFrontを利用する時にACMを利用しない手はありません。
1. 証明書をリクエストする
まず、AWS Certificate Manager (ACM) の画面を開き、「証明書をリクエスト」を押します。

「パブリック証明書をリクエスト」が選択された状態で「次へ」を押します。

証明書の対象とするドメインを指定します。今回はサブドメインに www を付けてもアクセスできるようにしたいため、2つのドメインを指定しています。

検証方法はDNS検証とEメール検証がありますが、今回はDNS検証で検証します。キーアルゴリズムは通常デフォルトの RSA 2048 で問題ありません。

「リクエスト」を押すと「保留中の検証」ステータスで証明書が作成されます。

2. DNS検証を実施する
このままでは利用できないため、DNS検証を行い当該ドメインを自身が所有していることを証明する必要があります。
証明書IDを押すと CNAME として登録する情報を確認できます。この「CNAME 名」と「CNAME 値」をDNSレコードとして設定することでドメイン検証を行います。

Route 53 でドメインを管理している場合は「Route 53 でレコードを作成」を押すと、自動で検証用の CNAME レコードが作成されるため、非常に簡単にドメイン検証ができます。
今回は皆さんお馴染みの「お名前.com」でドメインが管理されている前提で説明します。
ここからは お名前.com の管理画面での設定が必要となります。
お名前.com にログインして「ドメインのDNS設定」を押します。

対象のドメインにチェックを入れ「次へ」を押します。

「DNSレコード設定を利用する」を押します。

DNSレコードの設定画面が表示されますので、ACMで確認した検証用の値をCNAMEとして設定します。

↑ ACM の赤枠の値を ↓ このように CNAME として設定します。(CNAME 値の最後のドット(.)は不要です。)

このようにお名前.comで検証用レコードを設定すると、ACMがDNSレコードに指定の値があることを検出し検証を完了してくれます。なお、DNSレコードが反映されるまでにラグがあるため少し待つ必要があります。(だいたい15分〜30分くらいが多い気がします。)
DNS検証が完了するとステータスが「発行済み」に変わります。

これで ACM による SSL証明書 の発行作業は完了です!