ALB配下の接続制限あれこれ
amiyataです。
ALBでSSLターミネートを行うと、EC2自体にはSSL証明書設定が不要に運用上手間が減ってとてもありがたいです。
ただサーバへ接続されるIPアドレスが全てELBのものとなってしまい、.htaccessやサーバのfirewalldなどで制限が利用できません。
せっかくなのでAWSの機能で以下の2つを紹介したいと思います。
- ALBのリスナールールによる制御
- AWS WAF による制御
ALBリスナールール
ルールの編集画面から調整が可能です。
例えば特定のIPアドレスや、ホストヘッダがあった場合、
EC2インスタンスのターゲットグループへ転送します。
最後のデフォルトルールを403や503にしておくことで不特定多数のユーザの接続を
制御できます。
AWS WAF
IPアドレスリストを作成、そのIPリストを適用したデフォルトアクションをブロックとする
ACLをALBと同じリージョンで作成します。
このように設定することで特定のIPアドレスからの接続以外はすべて拒否することができます。
アクションやリスナールールの調整でいろいろ制御できますが、
ルールの数や、条件の数には制限があるので問題なく設定が可能なのか
どういったルールで作成すれば要件を満たせるのかは事前によく確認しましょう。
以上です。