ALBでパスベースのルーティング設定をしてみる

Y
2022-12-06
2022-12-06

thum_aws

はじめに

Webシステムなどで、特定のURLのみ特定のEC2へアクセスしてほしいケースなどはありますか。
例えばWordpressをインストールした2台のEC2があった場合、
Wordpressへの管理画面のアクセスは特定のサーバーへアクセスを割り振りたいといったケースが考えられます。
ALB使えばとても簡単に実装することができますので試してみました。

また本手順では、VPCの作成やサブネットの作成、EC2構築、ALB用のセキュリティグループなどの作成は済んでいる想定としております。

設定方法

AWSマネージメントコンソールのEC2から
「ロードバランサー」を選択し、「ロードバランサーの作成」を選択します。
1

2Application Load Balancer」を選択して、「作成」を選択します。

3

ロードバランサー名、VPC、サブネットを選択します。
※ロードバランサー名は [FutureALB]としています。
45
「セキュリティグループの設定」をクリックし、ALB用のセキュリティグループを選択してください。
6

ターゲットグループの作成をクリックします。
7
ターゲットグループ名をFutureALB-tgと名前を入力し、次へをクリックします。
8
インスタンスをクリックして、「保留中として以下を含める」をクリックします。
9

ターゲットが追加されたことを確認し、ターゲットグループの作成をクリックします。

10 

ロードバランサー設定画面に戻り、もう1つターゲットグループを作成します。

7
ターゲットグループMainFutureALB-tgと名前を入力して次へをクリックします。
11

インスタンスをクリックして、「保留中として以下を含める」をクリックします。
12
ターゲットが追加されたことを確認し、ターゲットグループの作成をクリックし、ロードバランサーの作成をクリックしてください。
13

ロードバランサー設定画面に戻り先ほど作成したMainFutureALB-tgを選択します。
14

「ロードバランサー」>>「リスナー」>>「ルールを管理」をクリックします。
15
振り分けたいURIと振り分け先のターゲットグループMainFutureALB-tgを入力し、「保存」をクリックします。
16-1

「http://example.com/test/*」へのアクセスがあった場合、
振り分けをFutureALB-tg(1台目)にアクセスが振り分けられます。
その他のURLにアクセスすると、MainFutureALB-tg(2台目)にアクセスが振り分けられます。


動作確認
http://example.com/test/
http://example.com/


まとめ

ALB+EC2構成などの場合に、特定のURLのみ割り振り設定を行いたい場合には、
今回のようなパスベースのルーティング設定を使うことが可能ですので、
必要であれば利用するのも良いかもしれません。