まずは参考URLを先に貼り付けておきます。これらを参考にすればうまいことssl化が出来ます!
はっきり申し上げます。僕ssl化するだけなのに6時間以上悪戦苦闘しました。
と言うのも、AWSのロードバランサー、ターゲットグループの設定が既存の記事とやることは一緒でも、異なる仕様に変わってしまっているからでした。
なので複数の記事を参考にしてまとめたものをアウトプットしていきます!
前提条件
ssl化の手順の確認
- ACMの設定
- TGの設定
- ELBの設定
- セキュリティグループの設定
- Route53の設定
- リダイレクト処理
ACMの設定
AWSではELB(後で設定します)を利用しているとACM(AWS Certificate Manager)を使用する事ができ、ACMで無料でSSL証明書を利用する事が可能です。
とりあえずこれで発行済みとなればOK!
これでssl証明書が発行されました。
route53の設定
TGの設定
- ターゲットグループページに遷移
- create target groupを選択
- instancesを選択
- 以下のように設定
- nextを選択
- 対象アプリにチェックを入れてinclude...をクリック
- 最後にcreate target group
ELBの設定
-
必要項目を記述していきます。
2. Basic configuration
2. Network mappingは「ap-northeast-1a」「ap-northeast-1c」を選択
2. Security groupsは対象アプリのものを選択(ec2のインスタンスから確認できます)
2. Listeners and routingは先ほど作った「アプリ名-TG」を選択 -
Create load balancerを選択してELBの作成が完了
-
作成したELBを選択して、さらにリスナーを選択し、リスナーの追加をする
- プロトコルポート:「HTTPS」「443」
- デフォルトアクション:「アクションの追加」ボタンを選択
- 「転送先」を選択し、「アプリ名-TG」を選択
- セキュリティポリシー:「ELBSecurityPolicy-2016-08」
- デフォルトの SSL 証明書:「ACMから(推奨)」「ドメイン名」
- 保存ボタンを選択
セキュリティグループの設定
Route53の設定
リダイレクト処理
- ロードバランサーに移動
- アプリ名-ELBを選択
- [リスナー]タブを開く
- HTTP の[ルールの表示/編集]を選択
- 以下のように*を記述 (引用:https://dev.classmethod.jp/articles/alb-redirects/)
- 以下のように記述 (引用:https://dev.classmethod.jp/articles/alb-redirects/)
最後に
以上で完成になります。「https://ドメイン名」で検索してみてください。「http://ドメイン名」でも検索するとリダイレクト処理で「https://ドメイン名」に飛ぶはずですので確認してください。
これするのにまる1日かかったわ。。。