Netassist Blog

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アドレスからの接続以外はすべて拒否することができます。

アクションやリスナールールの調整でいろいろ制御できますが、
ルールの数や、条件の数には制限があるので問題なく設定が可能なのか
どういったルールで作成すれば要件を満たせるのかは事前によく確認しましょう。

以上です。