Help us understand the problem. What is going on with this article?

AWS ALB + nginx 構成でhttpをhttpsにリダイレクトする

More than 3 years have passed since last update.

ELB+nginx構成でhttpをhttpsにリダイレクトする という記事のALB版です。
nginx じゃなくて apache でもいけます。

ALB とは

2016年8月に発表された、AWSの新しいロードバランサです。
HTTP/2、コンテナ、パスベースルーティングやWebSocketなどに対応可能とのこと。
参考: http://dev.classmethod.jp/cloud/aws/alb-application-load-balancer/

作業の流れ

  1. ALBに割り当てたいインスタンス または Auto Scaling Group を作る
  2. ターゲットグループを作る
  3. ターゲットグループにインスタンスを割り当てる
  4. ALBを作りターゲットグループを割り当てる
  5. ALBのリスナー設定を変更する

ここでは仮に、 greatapp-web-alb という名前のALBを作成すること目的として話を進めます。

最終的にはこんな感じになる

from internet
[internet] http  ->  80 [ALB] http -> 81 [nginx] (https redirect)
[internet] https -> 433 [ALB] http -> 80 [nginx] http -> any [webapp]

from health-checker
[health-checker] http -> 80 [nginx] http -> any [webapp]

ターゲットグループを作る

ターゲットグループは http / https の2種類を作成する必要があります。
ここでは、 greatapp-web-tgt-httpgreatapp-web-tgt-https を作成します。

項目名 greatapp-web-tgt-http greatapp-web-tgt-https
ターゲットグループ名 greatapp-web-tgt-http greatapp-web-tgt-https
ポート 80 443
VPC 任意 任意
ヘルスチェックの設定
プロトコル HTTP HTTP
パス 任意 任意
ヘルスチェックの詳細設定
ポート 上書き(80) 上書き(80)
その他 任意 任意

ターゲットグループにインスタンスを割り当てる

[ターゲットタブ] -> [編集] から各ターゲットグループにインスタンスを登録することができます。
ひとつのインスタンスは複数のターゲットグループに割り当てることができます。

ALBに登録したい任意のインスタンスを選択し、
greatapp-web-tgt-http では ポート 81
greatapp-web-tgt-https では ポート 80
を指定の上、インスタンスを登録してください。

ALBを作りターゲットグループを割り当てる

アプリケーションロードバランサーを作成します。

名前は greatapp-web-alb 、リスナー(ロードバランサーのポート)は http(80) / https(443) の2種類、他は任意に設定してください。

image

ルーティングの設定画面で、先程作成したターゲットグループのうち、 greatapp-web-tgt-http を割り当て、ALBの作成を完了します。

ALBのリスナー設定を変更する

作成したALBをロードバランサー一覧から選択し、リスナータブを開き、HTTP / HTTPS 別に詳細メニューがあるので、HTTPS側を開きます。

HTTPS側のデフォルトルールとして greatapp-web-tgt-http が割り当てられているため、これを greatapp-web-tgt-https に変更します。

あとがき

nginx / apache のコンフィグは元記事 の内容をそのまま利用可能ですので、元記事をご参考ください。 @hotakasaito さんに感謝 :pray:

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away