Help us understand the problem. What is going on with this article?

AWSでSSL証明書を作ってELBに設定する

More than 3 years have passed since last update.

概要

AWSのCertificate ManagerでSSL証明書を作って、Elastic Load Balancing(ELB)に設定することで、証明書の費用が実質無料でセキュアなサイトが用意できます。
導入のお手軽さと費用を抑えられるメリットがあり、本番稼働環境は勿論、検証環境とかで一時的に検証したい時も便利ですね。

AWS公式のサービス説明ページにも詳しい説明がありますが、ざっくりとした仕様を以下にまとめます。(2016/11現在の情報です)

暗号化レベル

  • 鍵の暗号化方式:RSA
  • 鍵長:2048bit
  • ハッシュアルゴリズム:SHA256
  • 証明書の認証局(CA):Amazon

認証レベル

  • ドメイン認証(当該ドメインの管理者が発行していることを示す)

利用料

  • 無料(但しAWSのELBでの利用に限る)

期限・更新について

  • 証明書の有効期間は13ヶ月
  • 失効60日前に自動更新される

設定手順

では、実際にAWSでSSL証明書を作ってELBに設定していきます。

前提

  • ドメインが用意されていること
  • ドメインの管理者アドレスのメールを受信できること

AWSで証明書を作る

  • AWSマネジメントコンソールのサービス一覧ページで「Certificate Manager」と入力して「Certificate Manager」のページを表示。
    ※ELB作ってるリージョンと同じリージョンで証明書を作ってください。
     
  • 「ステップ1:ドメイン名の追加」画面でドメイン名を入力する。
    ※既に1つ以上の証明書が管理されている場合は、一覧ページの左上に「証明書のリクエスト」ボタンがあるのでクリックすると、「ステップ1:ドメイン名の追加」画面に飛びます。
     
  • 「確認とリクエスト」を行うと、入力したドメインの管理者アドレスにメールが飛ぶ。
     
  • 届いたメールのURLクリック 「Certificate approval for ドメイン名」のメールが来るので、メール内の「Amazon Certificate Approvals」をクリックして承認する。
     
  • Certificate Managerページの証明書一覧に証明書が作られる。
    種類:Amazon が発行 となっている。
    有効期間の終了時刻:13ヶ月後の日付が設定される。

ELBのリスナー設定に証明書を設定

ELBのリスナー設定を追加します。
※ここでは、既にHTTP(80)→HTTP(80)の設定があり、新たにHTTPS用の設定を追加する場合を例に取ります。

ELB側でhttpsでアクセスを受け、各サーバとhttpで通信する場合

2016-12-08_084344.png

  • リスナー設定にHTTPS(443)→HTTP(80)の設定を追加し、証明書欄にて「AWS 証明書マネージャ (ACM) から、既存の証明書を選択する」を選び、さきほど作成した証明書を設定。
    ※なお、Webサーバ側にはhttpで飛んで行くので、ApacheにSSL関連の設定は不要。
    2016-12-08_085910.png

ELB側でhttpsでアクセスを受け、各サーバとhttpsで通信する場合

2016-12-08_084352.png

  • HTTPS(443)→HTTP(443)の設定を追加し、証明書欄にて「AWS 証明書マネージャ (ACM) から、既存の証明書を選択する」を選び、さきほど作成した証明書を設定。
    ※なお、Webサーバ側にはhttpsで飛んで行くので、ApacheにSSL関連の設定が必要。
    2016-12-08_090103.png

おわりに

AWSでSSL証明書が無料で、しかも自動更新で使えると聞いて、最初は「え!何かの罠なの!?」と疑ってしまいましたw
これでオレオレ証明書とか面倒くさいことしなくて済む…!
ありがたやありがたや…。

参考にしたURL

[ACM]AWSの無料SSL証明書サービスCertificate Manager について調べてみた | Developers.IO
ありがとうございました!

kosuge
どこかに書き留めておかないと忘れちゃう!って内容を書き溜めていきます!
zyyx
新しい世界の核心に触れるために。我々ジークスは、技術と感性で、テクノロジーがもたらす新しい世界を作り続けます。
https://www.zyyx.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away