ACMにて、サブドメインまたはワイルドカードを利用してパブリック証明書の発行

ACMの証明書発行をたまに実施するのですが、たまに実施するが故に細かい所をいつも忘れているので、備忘録として記載しておきます。

サブドメインのパブリック証明書発行作業

ACMでのパブリック証明書発行のためには、ドメイン検証処理を行う必要があり、サブドメインの場合は以下どちらかの処理が必要となる。

(1) メールでの承認処理

発行処理を実施した後、以下のアドレスまでVerifyメールが送信されので、メール本文の承認リンクをクリックします。

  • whoisに登録された、利用ドメインの各担当者メールアドレス
  • 申請ドメイン名に基づいたアドレス(your_domainが申請ドメイン名となる)
    • administrator@your_domain
    • hostmaster@your_domain
    • postmaster@your_domain
    • webmaster@your_domain
    • admin@your_domain

とは言っても、サブドメインwhoisに登録されていないでしょうし、サブドメインのメールアドレスが存在しない場合も多いでしょう。そういった場合、認証先のドメイン情報をスーパードメインに変更して、証明書を発行します。

CLIにて、以下のようなコマンドを実施することになります。

$ aws acm request-certificate --domain-name server.sub.domain.com \
--validation-method EMAIL \
--domain-validation-options DomainName=sub.domain.com,ValidationDomain=domain.com \
--region ap-northeast-1 \

request-certificate — AWS CLI 1.16.227 Command Reference

(2) DNSでの認証

ACMより、DNSに登録すべきCレコードが提供されるので、それを該当ドメインDNSに設定する。

ワイルドカードを利用したパブリック証明書発行作業

アスタリスク(*)を用いた証明書を発行する場合、アスタリスクは1階層分のサブドメインレベルで有効になります。例えば、 *.domain.com という証明書を作成した場合、 server.domain.com には有効となりますが、 server.sub.domain.com には働きません。

また、ワイルドカード証明書は、Zone Apex のドメインには働きません。例えば、 *.domain.com という証明書を作成した場合、 domain.com では有効となりません。証明書を発行する際に、Zone Apex用のドメインを追加する必要があります。

f:id:goodbyegangster:20180705183152p:plain

上みたいな感じですね。メール検証の場合、Verifyメールが2件届きます。