
当記事ではブログをhttps通信化しようとしている方向きに、ALBでhttpリクエストをhttps通信にリダイレクトする方法について解説します。
ALBのリスナーの確認
EC2ダッシュボードから開始します。ここまでの手順はAWSログイン後上の検索バーで「EC2」と検索すると来れます。左側の「ロードバランサー」を押してください。

次に以下のような画面に遷移するので、設定をしたいALBにチェックを入れ、赤枠の「リスナー」を押してください。

この辺は理解しておくと、問題にも対処しやすいので読み方を理解しておきましょう。
ここではALBにアクセスがあった時にどんな対処を行うかが定義されています。
現在HTTP通信とHTTPS通信それぞれアクセスがあった場合どうするかが記載されています。
例えば、HTTPS通信の場合は左側の転送先にターゲットグループが書かれています。当ブログの手順通りだとターゲットグループに記載したALBとEC2インスタンス間の接続方法はHTTP通信のみにしてあるので、ALBにHTTPS通信があったら、その後はHTTP通信で接続されることになります。
もちろんこれはネットワーク内部の話なので、ユーザがHTTPS通信をした時にHTTPに変わるという話ではありません!
話が長くなりましたが、今回はHTTP通信をHTTPSに変換(リダイレクト)する設定を行いたいので、「リスナーID」が「HTTP:80」の右の方の赤枠「ルールの表示/編集」を押してください。
ルールの編集
以下のような画面になります。ここではHTTP通信があった場合のパターンを設定できます。
既存はターゲットグループに転送するだけになっているので、リダイレクトを新たに追加します。赤枠の「⊕」を選択し、「⊕ルールの挿入」を押してください。

以下の画面になります。「+条件の追加」を選択し、「パス...」を押してください。

値を入力していきます。右側に「どんな場合か」、左側に「実行すること」を規定します。
赤枠の「パス...」に「*」を入力し、右側で「アクションの追加」を押し、「リダイレクト先」を選択してください。

リダイレクト先に以下の画像の赤枠のように「HTTPS」、「443」と入力し、「保存」を押してください。

さて、これでリダイレクトの設定が完了しました!
試しにhttp://でサイトに訪問してみると、ちゃんと「https」に切り替わっていることが確認できます。

これだけでできてしまうなんて何だか不思議ですが、これで全ての通信をhttpsに切り替えることができました。
この時点ではまだALBをドメイン名と紐づけていない方もいらっしゃると思います。まだ設定していない方に向けて次回記事を公開します。
