LoginSignup
3
2

More than 5 years have passed since last update.

ACMの証明書を自動更新できなかった話

Last updated at Posted at 2018-12-14

AWSではSSL証明書も発行できますが、使い方によっては手間取ったりもします。

AWSで発行できる証明書の概要

AWSでは、AWS Certificate Managerといって、SSL証明書を自前で発行する仕組みがあります。一応「無料」ということになってはいるのですが、秘密鍵は利用者にも手に入らないので、単なるEC2などにセットすることはできません。

CloudFrontやELBなどを通じてセットする必要があるので、EC2単機で動かしているサービスなどでは、ELBを追加する分の料金が発生します。

認証方法

もちろん、SSL証明書を出す以上、適切な認証が必要となります。これにもいくつかの方法があって、

  • DNS認証(Route53なら自動設定も可能)
  • Eメール認証

と選ぶことができます。ただ、Eメール認証の場合は証明書が切れるたびに再認証が必要となるので、選べるならDNS認証を選びたいところです。

DNS認証の内容…と失敗

DNS認証を行う場合、CNAMEレコードを適切に設定します、例えば、jkr2255.example.comに証明書を出したい場合、_hogepiyofuga.jkr2255.example.comのCNAMEとして、_foobarbaz.acm-validations.aws1のように設定します(hogepiyofugafoobarbazは、実際にはAWSからランダムな文字列を指定されます)。一度設定したままにしておけば、半永久的に自動更新される、とのことです。

証明書を切らせるトラブルを起こしたこともありますし、更新不要になるのはいいなと思ってDNSを設定しようとしたのですが、当該ドメインはとあるレンタルサーバでも使っているのでDNS設定をそちらでする必要がありました。で、指定のとおりに設定しようとしたのですが、DNSレコードのドメイン名としてアンダーバーで始まるものを受け付けず、問い合わせてもできないという結果が返ってきました(なお、アンダーバーはホスト名としては適切でないものの、ドメイン名としては問題ない、とのことです)。

結論

AWSと他サービスを連携して使う場合、他サービス側から制約がかかってくることもある2


  1. .awsというトップレベルドメインは(現状ではAmazonグループ専用として)実在して、http://acm-validations.aws/にアクセスすると、ACMのページにリダイレクトされます。 

  2. もちろん、AWS以外のDNSでもアンダーバーを通す例もありましたが。 

3
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2