web-dev-qa-db-ja.com

アプリケーションロードバランサを使用したS3静的サイトを使用する

現在トラフィックを複数のURLにルーティングするALBがあります。メンテナンスを実行する必要がある場合は、トラフィックを静的S3サイトにルーティングできるようになりたいです。その後、ログインページの代わりに静的な「メンテナンス」ページを表示します。

S3サイトにSSL CERTをロードできるようにするCloudFrontディストリビューションを作成しましたが、そのディストリビューションをS3メンテナンスサイトに送信する方法はわかりません。

これは私が使っているTerraform Albリスナーです。 _target_group_で私のCloudFrontの配布arnを指定できます。また、すべてのトラフィックを静的サイトにルーティングしてもらえますか。

あるいは、Bucketオブジェクトを取得するためにABアクセスを許可するS3 arnをS3ポリシーにリンクするだけです。

_resource "aws_alb_listener" "ssl_alb_httpslistener" {
   load_balancer_arn = "${aws_alb.alb_lis.arn}"
   port = "443"
   protocol = "HTTPS"
   ssl_policy = "Sec-TLS"
   certificate_arn = "${var.ssl_cert_arn}"

    default_action {
     target_group_arn = "${data.terraform_remote_state.php.target_arn}"
     type = "forward"
   }
}
_

ALBを通過するトラフィックを_target_group_から静的なS3サイトに渡すトラフィックをルーティングできることを期待しますか。これがこれについて行く最善の方法であるならば、好奇心が強い。

8
MillerC

Lambda関数をターゲットグループとして、Lambdaを使用して、S3をトリガすることができます。

1
James Dean

簡単な回答は、ALB上でリダイレクトオプションを使用してトラフィックを新しいURLに転送することです。 My Route53 URLは、S3バケットにリンクされているCloudFrontの配布に接続されています。ここでは、単一のリダイレクトURLを指定し、最小限のインフラストラクチャの変更を使用してHTTPSトラフィックオプションを保持できました。

1
MillerC