Amazon Simple Storage Service (Amazon S3) が使用する IP アドレス範囲を特定したいです。
解決策
まず、すべての AWS IP アドレス範囲を含む JSON ファイルをダウンロードします。次に、そのファイルにおいて、文字列 **"service": **"S3" を検索します。
Linux または macOS マシンでは、jq などのツールを使用すると JSON 応答を解析できます。詳細については、jqlang のウェブサイトで ./jq を参照してください。たとえば、JSON ファイルを解析し、Amazon S3 が使用するすべての IPv4 アドレスを調べる場合は、次のコマンドを実行します。
curl https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service=="S3") | .ip_prefix'
52.95.154.0/23
52.219.64.0/22
52.92.72.0/22
52.92.64.0/22
52.95.156.0/24
....
JSON 応答を解析し、Amazon S3 が us-east-1 AWS リージョンで使用するすべての IPv4 アドレスを調べる場合は、次のコマンドを実行します。
curl https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.region=="us-east-1") | select(.service=="S3") | .ip_prefix'
54.231.0.0/17
52.92.16.0/20
52.216.0.0/15
Windows オペレーティングシステム (OS) では、AWS Tools for PowerShell を使用します。次の Get-AWSPublicIpAddressRange コマンドは、Amazon S3 が使用するすべての IPv4 アドレスと IPv6 アドレスをフィルターします。
Get-AWSPublicIpAddressRange -ServiceKey S3 | select IpPrefix
IpPrefix
--------
52.47.73.72/29
13.55.255.216/29
52.15.247.208/29
...
...
2a05:d07c:2000::/40
2a05:d000:8000::/40
2406:dafe:2000::/40
...
その他の例については、「AWS サービスの IP アドレス範囲を特定する」を参照してください。
注: JSON ファイルリストと AWS マネージドプレフィックスリストの IP アドレス範囲は、異なる場合があります。ip-ranges.json ファイルでレポートされるすべての IP アドレスは、AWS が管理します。JSON ファイルを使用して Amazon S3 の IP アドレス範囲を手動で取得することをおすすめします。
IP アドレスは変更される可能性があります。ネットワークの中断を避けるために、環境内の IP アドレス範囲を許可リストに追加する際、以前に発行された ip-ranges.json ファイルから変更が発生していないかを確認してください。以前にダウンロードした ip-ranges.json ファイル内のアドレスを、現在の ip-ranges.json ファイル内のアドレスと比較します。