AWSのITコストを削減 Simpline

選ばれ続けること

 

エンジニアブログ

ホーム - エンジニアブログ - AWS Certificate ManagerでSSL証明書を取得した話を読んで調べてみた話

AWS Certificate ManagerでSSL証明書を取得した話を読んで調べてみた話

2016.12.16

batchiです。

前回はhm君がACMに関する記事を書いてくれたのですが、
見ている内になかなか面白そうだということになりまして、
自分でも調べてみることにしました。

AWS Certificate ManagerでSSL証明書を取得した話

基本的にはhm君が書いてくれたことに乗っかりつつ、
2016年12月現在日本語に対応していないドキュメントと、
http://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html

じゃあもうざっくりしたことはこちらで見ます!でおなじみのBlack Beltの資料をお供に、進めていきます。
http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-aws-certificate-manager

ACMのさっくりとした特徴


■証明書取得は無料


 うれしいですね。証明書だけでなくACMというサービス自体が無料です。

■証明書の種類は「ドメイン検証済み証明書」


 ACMの「よくある質問」ではそういう言い回しになっていますが、
 一般的には「ドメイン認証証明書」ですね。
 https://aws.amazon.com/jp/certificate-manager/faqs/

 Black Beltのスライドの16ページに、証明書の種類が載っています。

■証明書の更新を自動で行ってくれる


 証明書の有効期間は13ヶ月で、
 早い場合期限切れの60日前から更新プロセスを実施してくれます。

■証明書のデプロイは、ELBかCloudFrontにのみ対応


 EC2やらオンプレで建てたWeb/APサーバに入れましょう、
 というのは(現在のところ)できませんということですね。

デュアルアクセスはできないが


証明書ベンダーによっては、
コモンネーム「www.hoge.co.jp」で証明書を取得すれば、
zoneapexである「hoge.co.jp」にも証明書が有効となったりします。

それをデュアルアクセスと呼ぶのだそうです。

ACMに置き換える前はデュアルアクセス対応の証明書だったので、
「じゃあACMではワイルドカードかなんかでまるっと有効にすればよろしんじゃないー」
なんて無責任に言っていたのですが、

ワイルドカード指定でプロテクトできるのは、
飽くまで「apexドメインのサブドメイン」までということでした。

つまり、「*.hoge.co.jp」と指定すれば、
www.hoge.co.jpもbatchi.hoge.co.jpも対象となりますが、
www.fuga.hoge.co.jpや、hoge.co.jpはプロテクトしてくれないのでした。

ただし


ACMでは1枚の証明書に複数ドメインを設定できるので、
今回はドメイン名「*.hoge.co.jp」で証明書を取得し、
そこに[追加の名前]として「hoge.co.jp」を指定することで、
やりたいことがひとまず実現されました。
(ワイルドカードでなくてwwwで良かったかもしれない)

↓そこらへんの仕様がつらつらと書いてあります。

http://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html

[Wildcard Names]
When you request a wildcard certificate, the asterisk (*) must be in the leftmost position of the domain name and can protect only one subdomain level. For example, *.example.com can protect login.example.com and test.example.com, but it cannot protect test.login.example.com. Also note that *.example.com protects only the subdomains of example.com, it does not protect the bare or apex domain (example.com). However, you can request a certificate that protects a bare or apex domain and its subdomains by specifying multiple domain names in your request. For example, you can request a certificate that protects example.com and *.example.com.

証明書にタグがつけられるが


ELBのリスナーにデプロイする選択画面では、
<ドメイン名>+<長ったらしい識別子>で表示されていました。残念。

証明書取得の事前準備


ドメイン認証証明書、というからには、
当然ドメインの管理者である必要があるわけで、
管理者あてに送られてくるメールを受け取れなければいけないわけです。

ではどこ宛にメールが送られてくるか、
というと、「whois情報に紐づく担当者」です。

正確に言うと、証明書リクエストに記載された各ドメイン名に対して WHOIS ルックアップが実行され、
そのドメインの連絡先情報に登録されている、
ドメインの登録者、管理者、および技術担当者の連絡先に送信されます、とのこと。

加えて、下記5つのアドレス。
administrator@your_domain
hostmaster@your_domain
postmaster@your_domain
webmaster@your_domain
admin@your_domain

whois情報とは何ぞや


このドメインはどこそこの誰が管理しているか、
というのは一般に公開されているものです。

「whois情報検索」なんかで検索すれば、
そういったサイトがいくつも出てきます。

試しに弊社のドメインのwhois情報を確認してみると…
あぁ。なるほど。

お名前.comなどでドメイン取得するケースが多いかと思いますが、
その際に登録する情報ですね。

whois代行みたいなオプションを有効にすれば、
この検索結果をお名前.comのものにしてくれると。

Validation Not Complete


上述のように、(可能性としては)たくさんの宛先に確認メールが送られるわけですが、
それを全部承認しなければ有効にならない、ということはありません。
(スライドの30Pの記述からそう判断した)

[ドメイン名]と[追加の名前]で証明書を取得したなら、
それぞれに(可能性としては複数の宛先に対して)承認メールが送られるので、
その両方で(1通以上のメールにおいて)承認を行えば、晴れてValidationがCompleteになります。
なるはずです。

http://docs.aws.amazon.com/acm/latest/userguide/troubleshooting.html#troubleshooting-incomplete

If your request includes more than one domain name in the certificate, then you must approve every domain name that you included.

2分くらい時間かかるそうです。

以上です。

1 Star 0 いいねしてね!
Loading...