AWSでSSL化する方法を伝授！！！

#はじめに
今回はAWSのロードバランサーを使ってウェブサイトをSSL化する方法を記します。備忘録でもあります。
AWSでは**無料**でSSLサーバー証明書を発行できます。もう一度言います。**無料です！！**
すばらしい、、、
#SSLサーバー証明書とは
*SSLサーバ証明書は、ウェブサイトの「運営者の実在性を確認」し、ブラウザとウェブサーバ間で「通信データの暗号化」を行うための電子証明書で、グローバルサインなどの認証局から発行されます。
SSLサーバ証明書には、ウェブサイトの所有者の情報や、暗号化通信に必要な鍵、発行者の署名データが含まれています。*

はい。むつかしいですね。
簡単に言うと、
「このウェブサイトは安心安全なサイトですよ〜」っていう証明書です。
<img width="1422" alt="スクリーンショット 2019-10-15 19.55.44.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/e19150d7-f114-c04d-332f-03e1a50f34ed.png">
こんな鍵マーク良く見ませんか？
有名なウェブサイト/サービスにはほぼ間違いなくついていますね。
この鍵マークがついているウェブサイト/サービスはSSLサーバー証明書が発行されています。

SSL化する理由は大きく2つあります。
**①SSL化するとそのサイトとのデータのやり取りが暗号化される。**
**②Googleおよび国がSSL化を推奨している。**
特に②が重要です。
あの天下のGoogleさんが推奨しています。
つまりSSLサーバー証明書が発行されてないサイトはSEOで上がってきません。検索しても全然出てこないです。
やばいですね。長いものには巻かれておきましょう。
他にもSSL化していないと本番環境で使えないgemとかもあります。
とりあえず、やっておいて損はなさそうです。

#Certificate Manager
###事前準備
EC２を使ってデプロイが完了しておくこと。
ドメインを取得してあり、IPアドレスと紐付けしてあること。

この２項目が完了している方は先に進んでください。
ちなみにドメイン取得はこちらの記事を参考にしてください。
https://qiita.com/nakanishi03/items/25278fb4dfad60ebfac4

①AWSサービス一覧を開き、**Certificate Manager**を選択
<img width="1411" alt="スクリーンショット 2019-10-15 20.16.12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/7dbdf4d8-f622-a3a5-dbad-6851bb3da628.png">

②**証明書のリクエスト**を選択
<img width="1429" alt="スクリーンショット 2019-10-15 20.19.37.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/00fc8f4a-4dc5-dff3-7420-c69d132d2336.png">

③**パブリック証明書のリクエスト**を選択
<img width="1440" alt="スクリーンショット 2019-10-15 20.22.28.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/40f4d01b-b9e1-4bd2-f0d9-596d9cc2ccb1.png">

④ドメインを入力し、**次へ**を選択
<img width="1440" alt="スクリーンショット 2019-10-15 20.25.21.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/dbd17ff5-ed5a-45c1-1806-808edde0d1a7.png">

⑤**DNSの検証**を選択
<img width="1440" alt="スクリーンショット 2019-10-15 20.26.38.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/3bcc1d78-87a2-b6f0-d06b-bc9c860a750a.png">

⑥**確認後とリクエスト**を選択
<img width="1437" alt="スクリーンショット 2019-10-15 20.27.41.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/e53018e8-01f4-3ee4-59dc-4390d8a42ab0.png">

⑦検証保留中になっているはず
<img width="1436" alt="スクリーンショット 2019-10-15 20.11.30.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/74780c81-7c04-02df-2e56-6bb8afa58b2e.png">

⑧ドメイン名をクリックすると詳細画面が開きます。
**DNS設定をファイルにエクスポート**をクリックして、ファイルをダウンロードします。
※写真では状態が発行済みになっていますが、このときはまだ検証保留中のはずです。
<img width="1415" alt="スクリーンショット 2019-10-17 21.11.28.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/1b06c1ea-0f3f-9ec3-33ca-1be63e8e7319.png">

⑨こんな感じのファイルがダウンロードされます。
![スクリーンショット 2019-10-17 21.18.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/5aafb489-c28e-92ce-1327-e70e55ca3687.png)

#Route53
①**route53**に移動して、レコードセットの作成を行います。
![スクリーンショット 2019-10-17 21.22.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/306352ed-d8e9-f214-aa94-76d1e9ff5529.png)

②先ほどダウンロードした値をそれぞれ入れて、レコードを作成する。
**名前→Record Name
タイプ→CHAMEを選択
値→Record Value**
![スクリーンショット 2019-10-17 21.28.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/dfdcc503-b51e-3390-5782-b4e707b08a88.png)

③CHAMEタイプのレコードができたら、放置！！！
数分〜10数分程で発行済みに変わっているはずです。
![スクリーンショット 2019-10-17 21.37.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/f99bf14b-98f6-b8c6-01cc-240220f3515c.png)

#ロードバランサー
続いてロードバランサーの設定に行きましょう！！！あと少しです！！！
①**EC２**に移動し、ロードバランサーを選択
<img width="1118" alt="スクリーンショット 2019-10-17 21.41.03.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/4c3a24c2-4048-a5ba-3387-acbfcb74db54.png">
②ロードバランサーの作成を選択
![スクリーンショット 2019-10-17 21.42.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/2dcfce2f-761e-0b44-6f61-38e11f7f2b8a.png)

③**Application LoadBalance**で作成する
![08-02-LBの種類の選択-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/68b18964-d88f-69a7-01b7-fd8489c7c7c3.png)

④**step1**
名前の欄にELBの名前を入力します。ここの名前はなんでもいいです。適当にアプリ名等にしておきましょう。
![08-03-LBの設定-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/b86e4053-86cd-3696-f902-061507f3a4da.png)

リスナーを**HTTP**から**HTTPS**に変更する。
![08-04-リスナー変更前-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/5df89e3a-fab6-e3e2-69dc-db163954847f.png)
![08-05-リスナー変更後-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/7261333e-b730-2eae-8e81-19163cc9534a.png)

サブネットを選択。ここでは2つ以上選択してください。
![08-06-AZ-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/bd87a0fb-bdee-ed7e-f8e0-d855495f403e.png)

⑤**step2**
先ほどACMで取得した証明書を選択する。
![08-07-セキュリティ設定の構成-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/9689890a-fea9-f73a-a540-85f605b66196.png)

⑥**step3**
HTTPSを許可するように設定する。
![08-08-SGの設定-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/a1e1999a-e65f-361a-82af-8f3b01843dcc.png)

⑦**step4**
ターゲットグループの名前とプロトコルを入力する。
名前は任意で大丈夫です。プロトコルはHTTPSにしておきます。
![08-09-ルーティングの設定-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/edd1ac83-6084-1ec0-e571-38dd3fc819ca.png)

⑧**step5**
ターゲットにEC２インスタンスを登録します。
![08-11-ターゲットの登録後-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/271b08ba-b646-2725-f82f-4cb6d695f899.png)

⑨**step6**
内容を確認し、作成しましょう。![スクリーンショット 2019-10-17 23.05.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/d17858a5-41c8-7f0f-6063-ac60f887d0d5.png)

⑩**EC**に移動し、HTTPS通信を許可する記載します。
<img width="1129" alt="スクリーンショット 2019-10-17 23.12.35.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/f2648688-fc54-2e64-e784-6a6f9fa94c4e.png">

#エイリアスの設定
①再びRoute53へ移動し、既に作成済みのAレコードを選択する。
②エイリアスを**"はい"**に設定し、値に作成したロードバランサーを設定する。
![スクリーンショット 2019-10-17 23.15.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/4969e01b-5fa1-f19e-29f2-c7ea15d640fe.png)


#動作確認
https://ドメイン名でアクセスすると確認できます。
できてますね。鍵マークがしっかりついています。
![スクリーンショット 2019-10-18 0.06.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501638/7807993a-090a-9e50-9bb6-5989cb351864.png)

#おわりに
長かった、、、

※お名前.comとawsでドメイン取得
https://qiita.com/nakanishi03/items/25278fb4dfad60ebfac4
こちらも参考にどうぞ