Elastic BeanstalkでCertificate Manager(ACM)の証明書を設定する方法

AWSの無料SSL証明書サービス Certificate Manager 、先日東京リージョンでも使えるようになりました。

現在紐付けることが出来るのは Elastic Beanstalk と CloudFront となっています。

  • Elastic Beanstalkで使用する場合は同じリージョン間でないとだめ
  • CloudFrontで使用する場合はバージニア北部リージョンで証明書を作成しないとだめ

というルールがあるので注意が必要です。

[ACM]AWSの無料SSL証明書サービスCertificate Manager について調べてみた

Certificate Manager(ACM)の特徴

特徴としては自動更新があげられます。「ACMで発行される証明書の有効期限は13ヶ月、失効60日前に自動更新されます。」

なお、ドメイン認証はメールのみとなっています。

  • admin@your_domain
  • administrator@your_domain
  • hostmaster@your_domain
  • postmaster@your_domain
  • webmaster@your_domain

あたりのアドレスにメールが送られてきます。

メールサーバーの用意がない、というケースではSESでまかなうのが手っ取り早そうです。

[ACM] SSL証明書発行時のドメイン認証メールをSESで受け取ってみた

Elastic Beanstalkへの設定方法

ELBに設定する際にはManagement Consoleから選択可能です。

configファイルに以下のようなYAMLの設定をすればいいようです。

Resources:
  AWSEBLoadBalancer:
    Type: "AWS::ElasticLoadBalancing::LoadBalancer"
    Properties:
      Listeners:
        - SSLCertificateId: "arn:aws:acm:ap-northeast-1:XXXXXXX:certificate/XXXXX"

参考

http://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html

http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.managing.elb.html

http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/configuring-https-endtoend.html

http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/command-options-general.html#command-options-general-elbloadbalancer

https://adtech.cyberagent.io/techblog/archives/913

https://github.com/ilyash/cfass/blob/master/example.yaml

https://github.com/zalando-stups/senza/issues/334

http://labs.septeni.co.jp/entry/2016/04/05/105249