はじめに
AWS CloudFront・WAF・S3 環境において、クライアントから Web サーバーへ接続時に WAF で許可した IPv4 からの接続にもかかわらず、つながらない事象に遭遇しました。
調査した結果、クライアントが IPv4 ではなく、IPv6 で接続していることに起因していました。
原因の詳細
- クライアント端末(Windows 10)で Web サーバー(www.example.com)に対して IPv4 と IPv6 を問い合わせ
- リクエストをうけた Route53 が CNAME で CloudFront へ転送
- CloudFront が最適なエッジサーバーの IPv4 と IPv6 を応答
- クライアント端末(Windows 10)が IPv6 で接続 ※
- WAF が IPv4 しか許可していないため、通信をブロック
※Windows 10 は、IPv6 を優先して使用する仕様となっているため。
対策
CloudFront で IPv6 を無効化して、IPv4 のみ応答するように設定します。
具体的には CloudFront の管理コンソールで「Enable IPv6」のチェックをはずします。
以上
参考書籍
created by Rinker
¥2,420 (2024/12/06 04:30:49時点 楽天市場調べ-詳細)