AWS のサービスの IP アドレス範囲を検索する - Amazon Virtual Private Cloud

AWS のサービスの IP アドレス範囲を検索する

AWS が提供する AWS IP アドレス範囲の JSON ファイルは、さまざまな AWS サービスの IP アドレスを検索し、その情報を活用してネットワークセキュリティとアクセスコントロールを強化するための貴重なリソースになる可能性があります。この JSON ファイル内に含まれる詳細なデータを解析することで、特定の AWS のサービス サービスやリージョンに関連付けられた IP アドレス範囲を正確に特定することができます。

例えば、IP アドレス範囲を使用して堅牢なネットワークセキュリティポリシーを設定し、特定の AWS リソースへのアクセスを許可または拒否する詳細なファイアウォールルールを設定することができます。この情報はさまざまな AWS Network Firewall タスクにも役立ちます。このレベルの制御は、アプリケーションとデータを保護するのに不可欠で、承認されたトラフィックのみが必要な AWS のサービスに到達できるようになります。さらに、この IP インテリジェンスを使用することは、適当な AWS エンドポイントと通信するようにアプリケーションを適切に設定し、全体的な信頼性とパフォーマンスを高めるのに役立ちます。

ip-ranges.json ファイルは、単なるファイアウォールルールを超えて、ネットワークインフラストラクチャに高度な送信フィルタリングを設定するのにも使用できます。さまざまな AWS のサービスの送信先 IP アドレス範囲を理解することで、ルーティングポリシーを設定したり、高度なネットワークセキュリティソリューションを活用したりして、意図した送信先に基づいてアウトバウンドトラフィックを選択的に許可または拒否するといったことができます。このエグレスコントロールは、データ漏洩や不正アクセスのリスクを軽減するために不可欠です。

重要なことは、ip-ranges.json ファイルは定期的に更新されるため、常に最も正確な最新の情報を入手するのに、最新のローカルコピーを維持することが不可欠だということです。ファイルの内容を継続的に活用することで、AWS ベースのアプリケーションのネットワークアクセスとセキュリティを効率的に管理し、クラウドのセキュリティ体制全般を強化することができます。

次の例は、AWS IP アドレス範囲を目的のものだけにフィルタリングするのに役立ちます。Linux では、jq ツールをダウンロードおよび使用して、JSON ファイルのローカルコピーを解析できます。AWS Tools for Windows PowerShell には、この JSON ファイルの解析に使用できる コマンドレット Get-AWSPublicIpAddressRange が含まれています。詳細については、ブログ「AWS のパブリック IP アドレス範囲のクエリの実行」を参照してください。

JSON ファイルを取得するには、「JSON ファイルをダウンロードする」を参照してください。JSON ファイルの構文の詳細については、「AWS IP アドレス範囲 JSON の構文」を参照してください。

ファイル作成日を取得する

次の例では、ip-ranges.json の作成日を取得しています。

jq
$ jq .createDate < ip-ranges.json "2024-08-01-17-22-15"
PowerShell
PS C:\> Get-AWSPublicIpAddressRange -OutputPublicationDate Thursday, August 1, 2024 9:22:35 PM

特定のリージョンの IP アドレスを取得する

次の例では、指定したリージョンの IP アドレスについて JSON ファイルをフィルタリングしています。

jq
$ jq '.prefixes[] | select(.region=="us-east-1")' < ip-ranges.json { "ip_prefix": "23.20.0.0/14", "region": "us-east-1", "network_border_group": "us-east-1", "service": "AMAZON" }, { "ip_prefix": "50.16.0.0/15", "region": "us-east-1", "network_border_group": "us-east-1", "service": "AMAZON" }, { "ip_prefix": "50.19.0.0/16", "region": "us-east-1", "network_border_group": "us-east-1", "service": "AMAZON" }, ...
PowerShell
PS C:\> Get-AWSPublicIpAddressRange -Region us-east-1 IpPrefix Region NetworkBorderGroup Service -------- ------ ------- ------- 23.20.0.0/14 us-east-1 us-east-1 AMAZON 50.16.0.0/15 us-east-1 us-east-1 AMAZON 50.19.0.0/16 us-east-1 us-east-1 AMAZON ...

すべての IPv4 アドレスを取得します

次の例では、IPv4 アドレスについて JSON ファイルをフィルタリングしています。

jq
$ jq -r '.prefixes | .[].ip_prefix' < ip-ranges.json 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ...
PowerShell
PS C:\> Get-AWSPublicIpAddressRange | where {$_.IpAddressFormat -eq "Ipv4"} | select IpPrefix IpPrefix -------- 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ...

特定のサービスのすべての IPv4 アドレスを取得します

次の例では、指定したサービスの IPv4 アドレスについて JSON ファイルをフィルタリングしています。

jq
$ jq -r '.prefixes[] | select(.service=="GLOBALACCELERATOR") | .ip_prefix' < ip-ranges.json 13.248.117.0/24 15.197.34.0/23 15.197.36.0/22 ...
PowerShell
PS C:\> Get-AWSPublicIpAddressRange -ServiceKey GLOBALACCELERATOR | where {$_.IpAddressFormat -eq "Ipv4"} | select IpPrefix IpPrefix -------- 13.248.117.0/24 15.197.34.0/23 15.197.36.0/22 ...

特定のリージョンで、サービスのすべての IPv4 アドレスを取得します

次の例では、指定したリージョン内の指定したサービスの IPv4 アドレスについて JSON ファイルをフィルタリングしています。

jq
$ jq -r '.prefixes[] | select(.region=="us-east-1") | select(.service=="GLOBALACCELERATOR") | .ip_prefix' < ip-ranges.json 13.248.124.0/24 99.82.166.0/24 99.82.171.0/24 ...
PowerShell
PS C:\> Get-AWSPublicIpAddressRange -Region us-east-1 -ServiceKey GLOBALACCELERATOR | where {$_.IpAddressFormat -eq "Ipv4"} | select IpPrefix IpPrefix -------- 13.248.117.0/24 99.82.166.0/24 99.82.171.0/24 ...

すべての IPv6 アドレスを取得します

次の例では、IPv6 アドレスについて JSON ファイルをフィルタリングしています。

jq
$ jq -r '.ipv6_prefixes | .[].ipv6_prefix' < ip-ranges.json 2a05:d07c:2000::/40 2a05:d000:8000::/40 2406:dafe:2000::/40 ...
PowerShell
PS C:\> Get-AWSPublicIpAddressRange | where {$_.IpAddressFormat -eq "Ipv6"} | select IpPrefix IpPrefix -------- 2a05:d07c:2000::/40 2a05:d000:8000::/40 2406:dafe:2000::/40 ...

特定のサービスのすべての IPv6 アドレスを取得する

次の例では、指定したサービスの IPv6 アドレスについて JSON ファイルをフィルタリングしています。

jq
$ jq -r '.ipv6_prefixes[] | select(.service=="GLOBALACCELERATOR") | .ipv6_prefix' < ip-ranges.json 2600:1f01:4874::/47 2600:1f01:4802::/47 2600:1f01:4860::/47 2600:9000:a800::/40 ...
PowerShell
PS C:\> Get-AWSPublicIpAddressRange -ServiceKey GLOBALACCELERATOR | where {$_.IpAddressFormat -eq "Ipv6"} | select IpPrefix IpPrefix -------- 2600:1f01:4874::/47 2600:1f01:4802::/47 2600:1f01:4860::/47 2600:9000:a800::/40 ...

特定のボーダーグループのすべての IP アドレスを取得する

次の例では、指定したボーダーグループのすべての IP アドレスについて JSON ファイルをフィルタリングしています。

jq
$ jq -r '.prefixes[] | select(.network_border_group=="us-west-2-lax-1") | .ip_prefix' < ip-ranges.json 70.224.192.0/18 52.95.230.0/24 15.253.0.0/16 ...
PowerShell
PS C:\> Get-AWSPublicIpAddressRange | where {$_.NetworkBorderGroup -eq "us-west-2-lax-1"} | select IpPrefix IpPrefix -------- 70.224.192.0/18 52.95.230.0/24 15.253.0.0/16 ...