次のALB DNSがあるとします。
my-alb-dns.com
eCSで実行されている次のコンテナ:
container-a
container-b
ALB経由で着信するトラフィックをルーティングできるように構成しました パスの書き換えを介して ECSクラスター内のそれぞれのサービスに:
my-alb-dns.com:80/container-a/my/endpoint -> container-a:8080/my/endpoint
my-alb-dns.com:80/container-b/my/endpoint -> container-b:8080/my/endpoint
これは(nginxを使用して)正常に動作しますが、パスの書き換えを実現するために追加のnginxサーバーを使用することが本当に必要かどうかを私は自問していました。カスタムパス書き換えルールによってALB機能を拡張する計画はありますか?これまでのところ、何も見つかりませんでした ドキュメント内 。
Lamda @ Edge も確認しましたが、単純な書き直しのためにCloudFrontにLamdaを導入するのは少しやり過ぎに思えます(比較としてnginx 1行の構成を使用します)。
これに関するベストプラクティスはありますか、またはAWSが遠い将来にそれを実装し、現在のnginxソリューションに固執することを期待し続ける必要がありますか?
ALBはリクエストの変更をサポートしていません。そのような機能を含める計画については知りません。これは巨大なcan o 'ワームなので、AWSが今のところそれを放置していることには驚きません。 nginx(または同等のもの(haproxyなど))を使用するか、アプリケーションを変更して/container-X
要求パスの接頭辞。
アプリケーションでサポートできる場合は、同様の状況でパスベースのルーティングではなくホストベースのルーティングを使用します。
例えば.
service1.mydomain.com -> myalb.com -> tg1 -> container1:8000
service2.mydomain.com -> myalb.com -> tg2 -> container2:8001
アプリケーションが呼び出す
service1.mydomain.com
の代わりに
mydomain.com/service1