やりたいこと
AWSのELBで、社内IPからのアクセスのみに制限する。
タイミングによって、他のIPからもアクセス可能 or 固定レスポンスの表示を切り替える。
エラー内容
ELBのルール設定はあっているはずなのに、その他のIPからアクセスできなくなった。(一度アクセスできることを確認済)
調査
ELBのタグを選択し、「Listeners」のHTTPS:443を選択。
Rules → Manage Rules を選択し、ルールを追加する。
ルール1.社内IPからのアクセスを許可する。
条件の追加 → 送信元IP → 社内IPを入力する。
アクションの追加 → 転送先 → 目的のターゲットグループを選択 → 画面右上の「保存」を押下
ルール2.その他のIPからのアクセスを許可する。(すべてのIPからのアクセスを許可し、ルールの順位をルール1より下にする。)
条件の追加 → パス → *(アスタ) → アクションの追加 → 目的のターゲットグループを選択 → 画面右上の「保存」
を押下
ルール3.その他のIPからのアクセスの場合、固定レスポンスを表示する(メンテナンス画面など)
条件の追加 → パス → *(アスタ) → アクションの追加 → 固定のレスポンスを返す →
レスポンスコードはそのまま(503)、ContentーTypeを選択(今回はtext-html)、表示したいhtmlを記入 → 画面右上の「保存」
ルールの設定と順位は合っているが、アクセスできなくなってる!!
原因
別途、ファイアウォールの設定が必要だった。
解決策
EC2>ロードバランサー>ロードバランサーを選択>Security>SecurityGroupIDを選択>インバウンドルールを編集
・インバウンドルール
HTTP、ポート80(localhost)、ソースに許可するIPを入力、説明を入力 → 社内IPでlocalhost HTTP接続可
HTTPS、ポート443、ソースに許可するIP入力、説明を入力 → 指定したIPでHTTPS接続可
SSH、ポート22、ソースに許可するIP入力、説明を入力 → 指定したIPでSSH接続可
HTTPS、ポート443、IP 0.0.0.0/0 を入力、説明を入力 → すべてのIPでHTTPS接続可
参考
![](https://xn--h9jxcjj4f.com/wp-content/uploads/cocoon-resources/blog-card-cache/51d3c4214a3bf0ffbe6069f582afcbbd.png)
コメント