【AWS】 ACM ~ SSL証明書無料発行 ~

 ■ AWS Certificate Manager (ACM)

 * SSL/TLS 証明書を提供してくれるAWSサービス
 * ELB / CloudFrontでのみ利用可能

 料金
https://aws.amazon.com/jp/certificate-manager/pricing/

 * 無料

 注意:CloudFrontでの使用について

 * CloudFrontで使用する場合、
 リージョンは「米国東部(バージニア北部)」で作成する必要あり

https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/cnames-and-https-requirements.html#https-requirements-aws-region

より抜粋
~~~~~~~~~~~~
 証明書をリクエストする AWS リージョン (AWS Certificate Manager 用)

  ビューワーと CloudFront との間で HTTPS を必須にするには、
 証明書をリクエストまたはインポートする前に AWS Certificate Manager コンソールで
 AWS リージョンを 米国東部(バージニア北部) に変更する必要があります。
~~~~~~~~~~~~
* CloudFront については、以下の関連記事を参照のこと。 

https://dk521123.hatenablog.com/entry/2017/12/18/233136

 ■ 証明書検証方法

[1] DNS での検証
[2] Eメールでの検証

 どっちがいい?

 * 『[1] DNS での検証』がいいと思う

https://aws.amazon.com/jp/blogs/news/easier-certificate-validation-using-dns-with-aws-certificate-manager/
https://aws.amazon.com/jp/about-aws/whats-new/2017/11/aws-certificate-manager-easier-certificate-validation-using-dns/
理由

 * 「Eメールでの検証」だと、ドメイン検証の仕方として、HTTPS(ポート番号443)接続でアクセスする
  Case1 : 成功 => 自動更新
  Case2 : 失敗 => Email送信され、ユーザが手動更新しなければならない (やり忘れたらSSL接続ができない)

失敗するケースは?

 => 例えば、セキュリティグループで、内部から接続できるが、外部接続ができない環境(開発環境など)だった場合

一方「DNS 検証」の検証方法は?

 *  指定されたCNAME (正規名) レコードが登録されているかを確認したら、証明書を自動更新

関連する公式ページ
https://docs.aws.amazon.com/ja_jp/acm/latest/userguide/how-domain-validation-works.html

より抜粋

証明書を更新する前に、ACM は証明書の各ドメイン名を自動的に検証することを試行します。

https://docs.aws.amazon.com/ja_jp/acm/latest/userguide/gs-acm-validate-dns.html

より抜粋

DNS 検証は、E メール検証よりも多数のメリットがあります。

 * DNS では、ACM 証明書をリクエストするときに、ドメイン名あたり 1 つの CNAME レコードのみを作成する必要があります。
   E メール検証では、ドメイン名あたり最大 8 つの E メールメッセージが送信されます。

 * DNS レコードが残っていれば、FQDN 用に追加の ACM 証明書をリクエストできます。
   つまり、同じドメイン名を持つ複数の証明書を作成できます。新しい CNAME レコードを取得する必要はありません。
   これを行うことには、いくつか理由があります。
   たとえば、異なるサブドメインを対象とする新しい証明書を作成する、複数のリージョンで同じ証明書を作成する 
    (認証トークンはどのリージョンでも使用できます)、削除した証明書を置き換えるなどです。

 * ACM は、DNS を使用して、検証した ACM 証明書を自動的に更新します。
   証明書は使用中で DNS レコードが残っている状態であれば、各証明書は有効期限が切れる前に ACM によって更新されます。

 * Route 53 を使用している場合は、ACM によって CNAME レコードが追加され、パブリック DNS レコードを管理できます。

 * DNS 検証プロセスは、E メール検証プロセスよりも簡単に自動化できます。

ただし、ドメインの DNS レコードを修正する権限がない場合は、E メール検証が必要となる場合があります。

 関連記事

Amazon CloudFront ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2017/12/18/233136
AWS の セキュリティを考える
https://dk521123.hatenablog.com/entry/2017/08/31/235847