今回のアップデート

昨日発表されたアップデートで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がエラーレスポンスを返している

本記事が、サービス更新をしていただく際の参考になれば幸いです。