【目的】
- CloudFront+ALB+EC2で、ALBのルールの上げ下げだけでメンテインしたい
- 特定IPからのみ、メンテ画面をパスできるようにしたい
【やってみた】
1)CloudFrontのエラーページ設定
エラーコード503に対してs3上に用意したmainte.htmlを返すよう設定する(省略)
2)ALBのルールでX-Forwarded-Forを利用して許可IPを設定
[追加:1]特定IPからのアクセスは本来のTGに流す
IF HTTPヘッダー:X-Forwarded-For xxx.xxx.xxx.xxx(接続元IP) THEN 転送先:本来のTG
[追加:2]上記以外は503を返す
IF パスが * THEN 固定レスポンスを返す 503
[追加:3]いつもはこれが最上位にあるようにする、メンテアウト用に用意
IF パスが * THEN 転送先:本来のTG