まえがき

cloudpackサポートの佐藤です。

AWSの提供しているサービスの「AWS WAF」では、サービスの利用設定時、「IP Sets」で指定したIPアドレスを許可するルールがあります。
本記事では「AWS WAF」における「IP Sets」の更新を行なった際、どのようにルールが伝達されるのかについて解説します。

IP セットおよび正規表現パターンセット
https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/waf-referenced-set-managing.html

ルール更新時の挙動について

今回のテーマに当てはまる構成は、アクセスリクエストを制御したい場合「AWS WAF」の機能を用いて実現しているようなケースが該当します。
現在利用している「IP Sets」からIPアドレスを削除するため、「IP Sets」の設定更新を行なったとします。

下記のように更新した場合、新たに反映される設定値について2つの疑問点があります。

【更新前】IPアドレス:XXX.XXX.XXX.XXX/32, YYY.YYY.YYY.YYY/32
【更新後】IPアドレス:XXX.XXX.XXX.XXX/32

疑問 (1)

更新が行われなかったIPアドレスにおいても設定更新の影響を受け、新たなルール適用までの数秒の間、ルールが何も適用されていないタイミングが発生するのでしょうか?

疑問 (2)

新たに設定したルールが伝達されるまではどのくらいの時間がかかるのでしょうか?

実際の挙動

この疑問に対する答えとしては、それぞれ以下となります。

疑問 (1)の答え→更新が行われなかった既存のIPアドレスには影響がないため、既存の設定値には影響なくルールの更新が行える

疑問 (2)の答え→新たに設定したルールが伝達されるまでは数秒から数分かかることがある

つまり、「IP Sets」等の更新を行った後も、まだ伝達されていない場所で判定等が行われた場合、更新前の設定に基づきアクセスリクエストを判定する動作となります。
例のような「IP Sets」ルールの場合、アクセスリクエストは更新前、更新後いずれかの「IP Sets」とそのルールに基づいて判定が行われるため
更新前、更新後両方の「IP Sets」、ルールにおいて判定結果が変わらないリクエストの場合(いずれも XXX.XXX.XXX.XXX/32 をブロックする 等)、その点においての差異はありません。

ルール更新時に既存の設定へ影響がないのは、この機能のおかげということです。

まとめ

本記事では「AWS WAF」における「IP Sets」の更新を行なった際、どのようにルールが伝達されているのかについて解説しました。
伝達時の仕様について知ることで、設定適用時にも安心して設定を行えます。