現在、AWS上にALBを配置し、その下に1台のEC2を配置しています。
(ALBを置いた理由は、ALB上にWAFを設定したためです)
EC2はweb/APサーバーで、EC2内のサービスを利用するユーザーは外部からhttpsで接続(ALB経由)します。
EC2の稼働時間は、毎日8:00~20:00としています
(Lambda・cloudwatch でスケジューリングしています)
この構成で、20:00~8:00の間(EC2停止の間)に外部から接続してきたユーザーに対して、サーバー(サービス)停止中の画面を自動表示させたいのですが、その方法がわかりません。
EC2→ロードバランサー→ALB→リスナーの「ルールの表示/編集」
で、EC2から503が返ってきたときに行うアクションを入れればいいのかと思っていたのですが、
具体的にどのような値で実現するのかがよくわかりませんでした。
お分かりになられる方、申し訳ございませんがご教授のほど、よろしくお願いいたします
非稼働時間帯では、EC2はどういう状態ですか?Power-off状態でしょうか?
AWS上から停止(インスタンスの状態「停止」)した状態です
インスタンスの状態:stopped
停止だと、EC2は無応答なので、503は返ってきませんね。スケジュールに合わせて 切り替えるのでは駄目でしょうか?
「無応答の際は「サーバー(サービス)停止中の画面」を出す」
方法は可能でしょうか?
※すいません、503のレスポンスについては無視してください
追記:
スケジュールに合わせて 切り替えるのでは駄目でしょうか?
cloudwatchで、指定時刻によって切り替えることが可能でしょうか?
(EC2→ロードバランサー→ALB→リスナーの「ルールの表示/編集」内のルールの順番を切り替えられるのでしょうか?)
サービスダウン時に停止画面を出す事はできますがALBではできません。Route53のDNSフェイルオーバーか、CloudwatchのアラームからLambdaに連携して APIで切り替えるとか、そういう感じになりますね>
スケジュールについては、現状、起動停止をやってると思いますが、そのLambdaの中で、APIでALBを操作して 停止画面に切り替えることは出来ると思います。
「サービスダウン時に 停止画面を出す」の自動化です。
要件上は単純で、
※サービスに接続できる場合は、「そのサービスを提供」。接続できない場合は「接続できないことを記載した画面の表示」
です。
時間うんぬんは、その時間帯は確実にサービスへ接続できないため、その時間帯には確実に停止画面を出すようにしておきたかったためです
ご回答いただいた皆様:
すいません。
現在、用意するhtml側の問題で作業が遅れている状態です。
当該作業は、月曜日~で実施の予定です
回答3件
あなたの回答
tips
プレビュー