目標
Let's Encryptで発行したSSL証明書をACMで使用してサイトをhttps化させます。
SSLなう!を使用する事でブラウザ上でSSL証明書が簡単に取得出来ます。
環境
EC2にACM証明書を設定する事は出来ません。
そのため今回はELBにACM証明書を設定します。
Elastic Load Balancing (ELB) や Amazon CloudFront ディストリビューションなど、ACM と統合するサービスの背後に Amazon EC2 インスタンスを配置することで、通信に SSL/TLS 暗号化を使用できます。
1.ドメイン取得
今回は、freenomでドメインを取得しました。
2.SSLなう!でSSL証明書発行
SSLなう!でSSL証明書を発行する。
SSLなう!の手順詳細は「Let's Encrypt の証明書をブラウザ上で簡単取得」を参照してください。
上記手順「[3.ドメイン名](https://qiita.com/tappie/items/76881fdf7996c57a105a#3-%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E5%90%8D%E3%81%AE%E6%89%80%E6%9C%89%E7%A2%BA%E8%AA%8D)」の補足説明
SSLなう! | freenom |
---|---|
FQDN | Name |
TXTレコード(1行です) | Target |
5.下記画像の様に入力できたら「Save Changes」を押下
6.freenom設定後反映5~10分待機し、SSLなう!の「確認」ボタンを押下
レコードの設定を行ってから実際に権威 DNS サーバに反映されるまでにタイムラグがある場合があります。
3.ACMにSSL証明書をインポート
1.ACM画面の証明書のプロビジョニング下の「今すぐ始める」を押下
2.「証明書のインポート」を押下
3.下記表を参照し、SSLなう!の証明書、秘密鍵をACMに貼り付け「次へ」を押下
SSLなう! | ACM |
---|---|
cert.pem (サーバ証明書) | 証明書本文* |
サーバで使用する SSL 秘密鍵 | 証明書のプライベートキー* |
chain.pem (中間証明書) | 証明書チェーン |
4.「タグ名」「値」を入力する。今回はNameとSSLで登録を行いました。
5.下記画面が表示されれば証明書、秘密鍵の整合性が取れているのでドメイン、有効期限等を確認し「インポート」を押下して下さい。
6.証明書を発行する事が出来ました。状況も発行済みとなっています。
4.ACM SSL/TLS証明書をLBに関連付ける
下記手順を参照し、ACM SSL/TLS証明書をLBに関連付けます。
5.サイト確認
1.ELBのDNS名でサイトを開く
2.保護されていない通信 → 証明書 の順で押下
発行者がR3になっている(R3はLet's Encrypt)事を確認
3.有効期間が先程ACMの画面で確認した日付と一致しているので成功です。