share facebook facebook facebook twitter twitter menu hatena pocket slack

2021.08.16 MON

ALBのリダイレクトが飛ばないとき

Shimpei Chiba

WRITTEN BY Shimpei Chiba

これは何

ALBのリダイレクトが、意図した通りにリダイレクト先に飛ばないときの解決のメモです。

原因

リスナールールの順位を意識していなかったから。(単純)

ルールは、ただの並び順だと思ってました…
ちゃんとドキュメントにも載ってますね。

これが分からずに、結構時間を食ってしまいました…

どういうことかというと、私の場合、

一番上の順位に、

IF
ホストがexample.com

THEN
リダイレクト先
ターゲットグループ

というルールを入れていました。

なので、その下順位ルールで、

IF
ホストがexample.com
パスが/a*

THEN
リダイレクト先
a-example.com

とか入れても、最上位ルールが全てをかっさらっていくので、設定したルールが動作しなかったということです。

この最上位ルールというものを一番下順位にしたところ、作成した他リスナーが息を吹き返しました。

これとは別に、リスナールールのIF条件でもハマりました。

IF
ホストがexample.com
パスが/a*

THEN
リダイレクト先
a-example.com

という①ルールがあるとします。
一方で、その下順位に、

IF
ホストがexample.com
パスが/ab*

THEN
リダイレクト先
b-example.com

というルール②があった場合、①ルールの、パスが/a*が優先され、a-example.comに飛んでしまいます。

ルール②の、パスが/abの部分が/aの時点でルール①の/aに引っかかってしまっているからですね。

ルール②>ルール①の並びにしたところ、意図する動作になりました。

参考
https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/listener-update-rules.html

元記事はこちら

https://qiita.com/namely_/items/8175782f4bee85df838b

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。