スキップしてコンテンツを表示

Amazon S3 が使用する IP アドレス範囲を特定する方法を教えてください。

所要時間1分
0

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 ファイル内のアドレスと比較します。