ACM証明書発行をDNS検証で行う

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。
AWS Certificate Manager (ACM) で証明書を発行するには、今まではメールを使ったドメイン認証をする必要がありました。
2017年11月にアップデートがあり、DNSを使ったドメイン認証が可能になりました。

サイトの証明書を発行する前に、お客様がドメイン名の所有者または管理者であることを Amazon が検証する必要があります。以前は、ACM はメール検証のみをサポートしていました。その場合、ドメイン所有者は証明書のリクエストごとに E メールを受信し、承認する前にリクエストの情報を検証する必要がありました。DNS 検証では、DNS 設定に CNAME レコードを書き込み、ドメイン名の所有権または管理を確立するだけです。

引用元:AWS Certificate Manager: DNS を使用した、証明書のより簡単な検証

では、こちらの機能を確認していきましょう。

ドメイン認証型サーバ証明書

SSL証明書は下記のように3種類あります。
  • EV(Extended Validation) SSL証明書
  • 組織認証(OV: Organization Validation)型SSLサーバ証明書
  • ドメイン認証(DV: Domain Validation)型SSLサーバ証明書
ACMで発行できるのは、もっとも簡便なドメイン認証型だけです。
ドメイン証明書で証明できることは、「ドメイン管理者がその証明書を発行した」ということだけですが、その確認方法として、AWSは今まではメール検証という方法を使っていました。
ドメイン管理者ならそのドメインのメールを受け取れますからね。
同様にドメイン管理者ならDNS設定もできるはず、という考えでDNS検証できるようになったのだと思います。

従来の検証方法(メール)を復習

メール検証を選択すると、AWSからの確認メールが送信されます。
下記いずれかのメールアドレスで受信可能な必要があります。

  • ドメインの登録者(WHOISの情報)
  • 管理者(WHOISの情報)
  • 技術担当者の連絡先(WHOISの情報)
  • admin@[ドメイン]
  • administrator@[ドメイン]
  • hostmaster@[ドメイン]
  • webmaster@[ドメイン]
  • postmaster@[ドメイン]
この方法で問題になるのは、メールサーバが無い場合です。
ドメイン取得直後でメールサーバ構築ができていない、またはメールを使う予定がないという状況があります。

参考URL

新しい検証方法(DNS)

DNS検証を選択すると、メールは不要になります。
DNSサーバ設定は必要になりますが、ドメインを使うならDNSサーバは利用できる状態のはずです。
DNSサーバはAWS提供のRoute53でも、お名前.COMのようなサービスが提供しているものでも、自前で構築したBINDでも、なんでも構いません。

証明書発行手順

実際にACMで証明書を発行してみます。
なお、今回はDNSサーバはムームードメインを使いましたが、設定方法などは他のDNSサービスでもほぼ同じだと思います。 ACMの画面に行き、「今すぐ始める」をクリックします。   ドメインを入力し、「次へ」をクリックします。 「DNSの検証」をクリックします。
「証明書リクエストのドメインのDNS設定を変更するアクセス許可をお客様が所有している、または取得できる場合は、このオプションを選択します。」と書いてあるのを見ると、おそらくメールよりもDNSの検証を推奨しているように見えます。 「確定とリクエスト」をクリックします。 そうすると、下記のように検証保留中になります。
また、CNAMEレコードが表示されるので、メモしておきます。
(DNS設定をファイルにエクスポート をクリックすれば、ファイルでCNAME情報を保存もできますし、後で再確認も可能です。)
「続行」をクリックします。 検証未完了検証保留中といったステータスになります。
まだ、CNAMEが無い状況なので当然ですね。 次にDNSサーバの設定をします。
設定手順は省略しますが、ムームードメインの場合は下記例のような感じでCNAMEレコードを登録してください。 数分〜数十分すると下記のように発行済成功 となります。 これでELB、CloudFrontで証明書が選択できるようになります。

証明書の更新について

ACMで発行される証明書の有効期限は13ヶ月です。
ただし、CNAMEレコードが残っていれば、自動で更新されます。
基本的にCNAMEレコードは削除しない方がいいと思われます。
ACM automatically renews your certificate for as long as the certificate is in use and the CNAME record that ACM created for you remains in place in your DNS database.

引用元:Use DNS to Validate Domain Ownership

まとめ

証明書の発行がメール不要になり、更新も自動になりました。
ますます便利になってきましたね。
AWS運用自動化サービス「Cloud Automator」