Database JUNKY

MySQL,MariaDBを中心としたブログです

【AWS】(自分的には一番楽な)WEBサイトSSL化手順のメモ

AWSで運用しているWEBサイトをSSL化する手順のメモです。何回やっているのですが、1ヶ月やらないだけで忘れちゃうんですよね汗 メモ程度ではありますが、以下のような環境から、SSL対応にするまでを書いていきます。

例として

http://www.hatehateb1234-hateb.com

https://www.hatebhateb1234-hateb.com

に強制的に変更する手順を記載します

作業前確認

ec2

web-serverは、public DNS: ec2-52-45-56-5.compute-1.amazonaws.com のインスタンスです

f:id:hit10231023:20200622154032j:plain

route53

上記のインスタンスは、route 53上では、以下のようにCNAME設定されています。単純に、port 80でダイレクトにWEBサーバにアクセスしている状況です

f:id:hit10231023:20200622154430j:plain

現在の設定はこれだけです。ec2に設定しているWEBサーバの設定は、今回のSSL化で変更する必要がないので割愛します

SSL化設定手順

ELB(ALB)の作成

どうしてSSLを対応させる為に、ロードバランサーの設定をしなくてはいけないの?という部分ですが。SSL証明書を利用するにあたって、ELBを経由するとなんと、無料なことと、既存で稼働しているWEB-SERVERの設定を一切変えることなく変更できるからです!通常SSLを設定する時って、証明書をWEB-SERVERにインストールする。。とか、port 443のconfigを弄るとか必要ですよね。ELBを経由するとそれが一切必要ありません(たぶん)

ELBの作成

f:id:hit10231023:20200622155324j:plain

f:id:hit10231023:20200622155619j:plain

f:id:hit10231023:20200622155800j:plain

名前は識別したい任意の名前を入力してください。この部分の設定は、おのおのの環境で異なります。 今回の例では、elb-www-hatebhateb1234-hateb という名前で登録します

f:id:hit10231023:20200622160306j:plain

上記画面から、「リスナーの追加」ボタンをクリックします

  • リスナーが一行増えますので、ここで httpsを選択します

f:id:hit10231023:20200622160519j:plain

  • 上記、全ての設定が終わりましたら、「セキュリティ設定の構成」ボタンをクリックします

f:id:hit10231023:20200622160730j:plain

  • セキュリティ設定の構成

以下のような画面が出ると思います。この中から、「ACM から新しい証明書をリクエスト」をクリックしてください。今回は一気通貫で説明していきますが、本来であれば、ACM から新しい証明書を作成してから。。の方がいいかもしれません

f:id:hit10231023:20200622161344j:plain

上記にて、「ACM から新しい証明書をリクエスト」リンクをクリックすると、下記のような新しいウィンドウが開いたかと思います。 今回は、ワイルドカード証明書で作成したいと思いますので、以下のような設定にしました

f:id:hit10231023:20200622161738j:plain

hatebhateb1234-hateb.com と

*.hatebhateb1234-hateb.com

です。

入力し終わりましたら、次へボタンをクリックしてください

  • 検証方法の選択

そのドメインが正当性のあるものか(ドメインの所有者か?)のチェック方法を選択します。これ、DNS の検証が圧倒的に便利です。今回はroute 53にドメイン保有しているので、DNS の検証を選択します

f:id:hit10231023:20200622162136j:plain

  • タグを追加

cert-hatebhateb1234-hateb.comとNameタグで入力しました。証明書をわかりやすくするための値なので、内容は、任意で大丈夫です

f:id:hit10231023:20200622162318j:plain

「確認」ボタンをクリックします

  • 確認画面

内容に間違えがなければ、「確定とリクエスト」ボタンをクリックしてください

f:id:hit10231023:20200622162534j:plain

以下のような画面になったかと思います。▶︎ ボタンをクリックして詳細を展開します

f:id:hit10231023:20200622162714j:plain

本来であれば、このレコードをCNAMEに登録というボタンが出てきますが、これは出てきません。理由は、そんなドメイン保有していないからです汗 ごめんなさい

f:id:hit10231023:20200622163234j:plain

本来でありますと、このCNAMEをroute53に登録というボタンが表示され、証明書が発行されます(汗)

f:id:hit10231023:20200622163349j:plain

  • 手順 2: セキュリティ設定の構成

証明書の登録が完了しましたら、再び、手順 2: セキュリティ設定の構成に戻り、上記にて設定した証明書を選択します

f:id:hit10231023:20200622163923j:plain

選択が終わりましたら、「次の手順: セキュリティグループの設定」ボタンをクリックしてください

f:id:hit10231023:20200622164022j:plain

  • 手順 3: セキュリティグループの設定

port 443は通すセキュリティグループを選択、もしくは作成してください。セキュリティグループの設定は、今回のSSL化とは関係がないので説明を割愛します

f:id:hit10231023:20200622174050j:plain

  • 手順 4: ルーティングの設定

ここで、対象のインスタンスを選択する画面です。本来ロードバランサーなので、複数のインスタンスを追加する為に、そのグループ名を設定しますが、今回は、1インスタンスのみSSL化を目的に設定するものです。

f:id:hit10231023:20200622164738j:plain

簡単にいうと、上記の例の通り、DNS: ec2-52-45-56-5.compute-1.amazonaws.com のインスタンスをターゲットグループに含める作業です。グループの名前は、tgt-hatebとしました。(名前はなんでもかまいません)

入力が終わりましたら、「ターゲットの登録」ボタンをクリックします

f:id:hit10231023:20200622164953j:plain

  • 手順 5: ターゲットの登録

以下のような画面になります。登録済みターゲットには何も入っておりません。インスタンスにはec2に登録されている一覧が表示されているかと思います。

f:id:hit10231023:20200622173651j:plain

以下の手順でターゲットのインスタンスを登録します。意外とここ間違えがちなので、下記画面の順番通り選択します

f:id:hit10231023:20200622165700j:plain

上記にて「登録済みに追加」ボタンをクリックすると、登録済みターゲットに対象のターゲットインスタンスが表示されます。内容に間違えがなければ、「次の手順:確認」ボタンをクリックします

f:id:hit10231023:20200622165849j:plain

  • 手順 6: 確認

内容に間違いがないことをチェックして、「作成」ボタンをクリックします

f:id:hit10231023:20200622170130j:plain

  • 完了画面

以上で証明書とELBの設定は終わりました。「閉じる」ボタンをクリックしてください

f:id:hit10231023:20200622170240j:plain

さきほど作成した、ロードバランサーを一覧からチェックを入れますと、詳細画面が出てきます。 この中から、DNS名をコピーしておいてください、このDNS名は、route53の設定にて必要になります

f:id:hit10231023:20200622170642j:plain

再びroute 53の設定

  • 既存のCNAMEレコードを削除

今までのインスタンス直紐付けのCNAMEレコードは削除します

f:id:hit10231023:20200622171505j:plain

f:id:hit10231023:20200622171733j:plain

  • 新規でAレコードを作成

f:id:hit10231023:20200622171505j:plain

先ほどコピーしたDNS名を利用します

route53でAレコードを追加します

f:id:hit10231023:20200622171907j:plain

「作成」ボタンをクリックします

新しく、ELBに紐づいた、DNS Aレコードが作成できたかと思います

f:id:hit10231023:20200622172021j:plain

以上で、SSL化の作業は全て完了です。数分待った後、ブラウザから、

https://www.hatebhateb1234-hateb.com

でアクセスしてみてください。無事SSL化が完了していることが確認できたかと思います (^_-☆)

でわでわー

f:id:hit10231023:20180309123622p:plain