AWS WAFでCloudFrontにIP制限をかける

CloudFrontに対して、許可リストにないIPからのアクセスをはじく制限をAWS WAFで設定してみます。

まずは、IPのリストを登録するIP setを作成します。

次にCloudFrontにルールを適用するACLを作成します。

CloudFrontディストリビューションが作ってあれば、どのディストリビューションに適用するか選択できます。

ACLにルールを追加します。

IP setをルールとしてACLに設定します。
先ほど作成したIP setをホワイトリストに設定します。

ルールに合致しないものはブロックするようにします。

Request sampling optionsをEnableにするとルールに評価されたリクエストをダッシュボードで確認できます。

サマリを確認しACLを作成完了します。

これでIP制限が完了しました。
許可されていないIPでCloudFrontディストリビューションにアクセスすると403が返ります。

IPを追加、変更したくなったらIP setを更新すれば、すぐに変更が適用されます。

また、裏でCloudFrontディストリビューション側にどのACLを使用するかセットされています。

よって、ACLを削除するときはCloudFront側からACLの参照を外してからでないと削除できません。