今回のアップデート
昨日発表されたアップデートでAWS WAFでブロックしたCloudFrontへの通信が課金されなくなりました。
とてもありがたいアップデートですね。
アップデートページ
https://aws.amazon.com/jp/about-aws/whats-new/2024/11/amazon-cloudfront-charges-requests-blocked-aws-waf/
─────────────────────────
2024 年 10 月 25 日より、AWS WAF によってブロックされたすべての CloudFront リクエストは無料になります。
S3でも今年、同様に権限のない通信での課金を行わないアップデートがあったため、ユーザ側で防ぐことが困難なリクエスト課金が課金されないものが増えています。
アップデートページ
https://aws.amazon.com/jp/about-aws/whats-new/2024/05/amazon-s3-no-charge-http-error-codes/
─────────────────────────
Amazon S3 は、お客様が開始したのではない未承認のリクエストが無料になるように変更を行います。
これまではどうなっていたの?
WAFを経由したCloudFrontへの通信について、AWS WAFでブロックした際にはAWS WAFからエラーレスポンスが返ってきていると誤解しがちですが、これは誤りであり通信はCloudFrontまで到達し、CloudFrontからエラーレスポンスが返ります。
そのため、これまではAWS WAFでブロックしていたリクエストに関しても通信料金が発生していました。
これは公式ドキュメントにも明記されており、AWS WAFはブロックした際にHTTPステータスコードをCloudFrontへ渡し、CloudFrontからビューワ(ユーザ)にレスポンスを返します。
公式ページ
https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/cloudfront-features.html#cloudfront-features-custom-error-pages
─────────────────────────
デフォルトでは、 AWS WAF は、指定した条件に基づいてウェブリクエストをブロックし、HTTPステータスコード403 (Forbidden)
を CloudFrontに返し 、CloudFrontはそのステータスコードをビューワーに返します。ビューワーには、次のような簡潔で特に書式設定されていないデフォルトメッセージが表示されます。
まとめ
AWS WAFでブロックしたCloudFrontへの通信はAWS WAFでエラーを返しているのではなく、CloudFrontがエラーレスポンスを返している。
本記事が、サービス更新をしていただく際の参考になれば幸いです。