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