AWS IP アドレス範囲 - Amazon Virtual Private Cloud

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS IP アドレス範囲

AWS は、現在の IP アドレス範囲を JSON 形式で公開します。この情報を使用して、 からのトラフィックを識別できます AWS。この情報を使用して、一部の AWS サービスとの間のトラフィックを許可または拒否することもできます。

注記
  • 一部の AWS サービス IP アドレス範囲のみが ip-ranges.json で公開されます。お客様が一般的に出力フィルタリングを実行したいサービスの IP アドレス範囲を公開します。

  • サービスは IP アドレス範囲を使用して他の サービスと通信したり、 サービスは IP アドレス範囲を使用してカスタマーネットワークと通信したりできます。

現在の範囲を参照するには、.json ファイルをダウンロードします。履歴を管理するには、連続したバージョンの .json ファイルをシステムに保存します。ファイルを最後に保存してから変更があるかどうかを確認するには、現在のファイルの公開時刻を確認し、それを最後に保存したファイルの公開時刻と比較します。

Bring Your Own IP Address (BYOIP) AWS を介して に持ち込む IP アドレス範囲は、 .json ファイルに含まれません。

または、一部の サービスは、 AWSマネージドプレフィックスリストを使用してアドレス範囲を公開します。詳細については、「使用可能な AWSマネージドプレフィックスリスト」を参照してください。

ダウンロード

ip-ranges.json をダウンロードします。

プログラムを使用してこのファイルにアクセスする場合、サーバーが提供した TLS 証明書を正しく確認した後にアプリケーションがファイルをダウンロードすることを保証する必要があります。

Syntax

ip-ranges.json の構文は次のとおりです。

{ "syncToken": "0123456789", "createDate": "yyyy-mm-dd-hh-mm-ss", "prefixes": [ { "ip_prefix": "cidr", "region": "region", "network_border_group": "network_border_group", "service": "subset" } ], "ipv6_prefixes": [ { "ipv6_prefix": "cidr", "region": "region", "network_border_group": "network_border_group", "service": "subset" } ] }
syncToken

UNIX エポック時刻形式での公開時刻。

型: 文字列

例: "syncToken": "1416435608"

createDate

UTC YY-MM-DD-hh-mm-ss format 形式の公開日時。

型: 文字列

例: "createDate": "2014-11-19-23-29-02"

prefixes

IPv4 アドレス範囲の IP プレフィックス。

型: 配列

ipv6_prefixes

IPv6 アドレス範囲の IP プレフィックス。

型: 配列

ip_prefix

CIDR 表記でのパブリック IPv4 アドレス範囲。は、より具体的な範囲でプレフィックスをアドバタイズ AWS する場合があります。たとえば、プレフィックス 96.127.0.0/17 が含まれるファイルでは、96.127.0.0/21、96.127.8.0/21、96.127.32.0/19、および 96.127.64.0/18 としてアドバタイズされる場合があります。

型: 文字列

例: "ip_prefix": "198.51.100.2/24"

ipv6_prefix

CIDR 表記でのパブリック IPv6 アドレス範囲。は、より具体的な範囲でプレフィックスをアドバタイズ AWS する場合があります。

型: 文字列

例: "ipv6_prefix": "2001:db8:1234::/64"

network_border_group

が IP アドレスを AWS アドバタイズするアベイラビリティーゾーンまたはローカルゾーンの一意のセットであるネットワーク境界グループの名前、または GLOBALGLOBAL サービスのトラフィックは、 が IP アドレスを AWS アドバタイズする複数の (最大すべての) アベイラビリティーゾーンまたはローカルゾーンに引き付けられたり、そこから発信されたりする可能性があります。

型: 文字列

例: "network_border_group": "us-west-2-lax-1"

region

AWS リージョンまたは GLOBALGLOBAL サービスのトラフィックは、複数の (最大すべての) AWS リージョンに引き付けられたり、そこから発信されたりする可能性があります。

型: 文字列

有効な値: af-south-1 | ap-east-1 | ap-northeast-1 | ap-northeast-2 | ap-northeast-3 | ap-south-1 | ap-south-2 | ap-southeast-1 | ap-southeast-2 | ap-southeast-3 | ap-southeast-4 | ca-central-1 | cn-north-1 | cn-northwest-1 | eu-central-1 | eu-central-2 | eu-north-1 | eu-south-1 | eu-south-2 | eu-west-1 | eu-west-2 | eu-west-3 | me-central-1 | me-south-1 | sa-east-1 | us-east-1 | us-east-2 | us-gov-east-1 | us-gov-west-1 | us-west-1 | us-west-2 | GLOBAL

例: "region": "us-east-1"

サービス

IP アドレス範囲のサブセット。API_GATEWAY にリストされているアドレスは送信専用です。すべての IP アドレス範囲を取得する場合は、AMAZON を指定します (つまり、すべてのサブセットも AMAZON サブセットに含まれます)。ただし、一部の IP アドレス範囲は AMAZON サブセット内にしかありません (つまり、別のサブセットでは使用できません)。

型: 文字列

有効な値: AMAZON | AMAZON_APPFLOW | AMAZON_CONNECT | API_GATEWAY | CHIME_MEETINGS | CHIME_VOICECONNECTOR | CLOUD9 | CLOUDFRONT | CLOUDFRONT_ORIGIN_FACING | CODEBUILD | DYNAMODB | EBS | EC2 | EC2_INSTANCE_CONNECT | GLOBALACCELERATOR | KINESIS_VIDEO_STREAMS | MEDIA_PACKAGE_V2 | ROUTE53 | ROUTE53_HEALTHCHECKS | ROUTE53_HEALTHCHECKS_PUBLISHING | ROUTE53_RESOLVER | S3 | WORKSPACES_GATEWAYS

例: "service": "AMAZON"

範囲の重複

任意のサービスコードから返される IP アドレスの範囲は、AMAZON サービスコードからも返されます。例えば、S3 サービスコードから返される IP アドレスのすべての範囲は、AMAZON サービスコードからも返されます。

サービス A がサービス B のリソースを使用する場合、サービス A とサービス B の両方のサービスコードから返される IP アドレス範囲があります。ただし、これらの IP アドレス範囲はサービス A によってのみ使用され、サービス B では使用できません。例えば、Amazon S3 は Amazon EC2 のリソースを使用するため、S3EC2 両方のサービスコードから返される IP アドレス範囲があります。ただし、これらの IP アドレス範囲は Amazon S3 でのみ使用されます。したがって、S3 サービスコードは、Amazon S3 でのみ使用されるすべての IP アドレス範囲を返します。Amazon EC2 でのみ使用される IP アドレス範囲を特定するには、S3 サービスコードではなく、EC2 サービスコードから返される IP アドレス範囲を探してください。

JSON ファイルのフィルタリング

情報をフィルターして目的のものを見つけやすくするコマンドラインツールをダウンロードできます。

Windows

AWS Tools for Windows PowerShell には、この JSON ファイルを解析するコマンドレット Get-AWSPublicIpAddressRange が含まれています。以下はその使用例です。詳細については、「 のパブリック IP アドレス範囲のクエリ」および「Get- AWS」を参照してください。 AWSPublicIpAddressRange

例 1. 作成日を取得します
PS C:\> Get-AWSPublicIpAddressRange -OutputPublicationDate Wednesday, August 22, 2018 9:22:35 PM
例 2. 特定のリージョンの情報を取得します
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 ...
例 3. すべての IP アドレスを取得します
PS C:\> (Get-AWSPublicIpAddressRange).IpPrefix 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ... 2406:da00:ff00::/64 2600:1fff:6000::/40 2a01:578:3::/64 2600:9000::/28
例 4. すべての IPv4 アドレスを取得します
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 ...
例 5. すべての IPv6 アドレスを取得します
PS C:\> Get-AWSPublicIpAddressRange | where {$_.IpAddressFormat -eq "Ipv6"} | select IpPrefix IpPrefix -------- 2a05:d07c:2000::/40 2a05:d000:8000::/40 2406:dafe:2000::/40 ...
例 6. 特定のサービスのすべての IP アドレスを取得します
PS C:\> Get-AWSPublicIpAddressRange -ServiceKey CODEBUILD | select IpPrefix IpPrefix -------- 52.47.73.72/29 13.55.255.216/29 52.15.247.208/29 ...

Linux

以下のサンプルコマンドは jq ツールを使用して JSON ファイルのローカルコピーを解析しています。

例 1. 作成日を取得します
$ jq .createDate < ip-ranges.json "2016-02-18-17-22-15"
例 2. 特定のリージョンの情報を取得します
$ 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" }, ...
例 3. すべての IPv4 アドレスを取得します
$ jq -r '.prefixes | .[].ip_prefix' < ip-ranges.json 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ...
例 4. すべての IPv6 アドレスを取得します
$ jq -r '.ipv6_prefixes | .[].ipv6_prefix' < ip-ranges.json 2a05:d07c:2000::/40 2a05:d000:8000::/40 2406:dafe:2000::/40 ...
例 5. 特定のサービスのすべての IPv4 アドレスを取得します
$ jq -r '.prefixes[] | select(.service=="CODEBUILD") | .ip_prefix' < ip-ranges.json 52.47.73.72/29 13.55.255.216/29 52.15.247.208/29 ...
例 6. 特定のリージョンで、サービスのすべての IPv4 アドレスを取得します
$ jq -r '.prefixes[] | select(.region=="us-east-1") | select(.service=="CODEBUILD") | .ip_prefix' < ip-ranges.json 34.228.4.208/28
例 7. 特定のネットワーク境界グループの情報を取得する
$ jq -r '.prefixes[] | select(.region=="us-west-2") | 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 ...

出口側のコントロールの実装

1 つの AWS サービスで作成したリソースが他の AWS サービスにのみアクセスできるようにするには、ip-ranges.json ファイル内の IP アドレス範囲情報を使用して、出力フィルタリング を実行します。セキュリティグループのルールが AMAZON リストの CIDR ブロックへのアウトバウンドトラフィックを許可していることを確認してください。セキュリティグループにはクォータがあります。各リージョンの IP アドレス範囲の数によっては、リージョンごとに複数のセキュリティグループが必要になる場合があります。

注記

EC2 上に構築され、EC2 IP アドレス空間を使用する一部の AWS サービス。EC2 IP アドレススペースへのトラフィックをブロックすると、EC2 以外のサービスへのトラフィックもブロックされます。

AWS IP アドレス範囲の通知

AWS IP アドレス範囲が変更されるたびに、 AmazonIpSpaceChangedトピックのサブスクライバーに通知が送信されます。ペイロードには次の形式の情報が含まれています。

{ "create-time":"yyyy-mm-ddThh:mm:ss+00:00", "synctoken":"0123456789", "md5":"6a45316e8bc9463c9e926d5d37836d33", "url":"https://ip-ranges.amazonaws.com/ip-ranges.json" }
create-time

作成日時。

通知は、誤った順序で配信される場合があります。したがって、正しい順序を保証するためにタイムスタンプを確認することをお勧めします。

synctoken

UNIX エポック時刻形式での公開時刻。

md5

ip-ranges.json ファイルの暗号ハッシュ値。この値を使用して、ダウンロードしたファイルが破損しているかどうかを確認できます。

url

ip-ranges.json ファイルの場所。

AWS IP アドレス範囲が変更されるたびに通知を受け取る場合は、次のようにサブスクライブして Amazon SNS を使用して通知を受け取ることができます。

AWS IP アドレス範囲の通知をサブスクライブするには
  1. Amazon SNS コンソール(https://console.aws.amazon.com/sns/v3/home)を開きます。

  2. ナビゲーションバーで、必要に応じて、リージョンを [米国東部 (バージニア北部)] に変更します。サブスクライブする SNS 通知がこのリージョンで作成されているため、このリージョンを選択する必要があります。

  3. ナビゲーションペインで [Subscriptions] を選択します。

  4. [Create subscription] を選択します。

  5. [Create subscription] ダイアログボックスで、次の操作を行います。

    1. トピックの ARN には、以下の Amazon リソースネーム (ARN) をコピーします。

      arn:aws:sns:us-east-1:806199016981:AmazonIpSpaceChanged
    2. プロトコルには、使用するプロトコルを選択します (たとえば、Email)。

    3. エンドポイントには、通知を受け取るエンドポイントを入力します (たとえば、E メールアドレス)。

    4. [Create subscription] を選択します。

  6. 指定したエンドポイントに接続されて、登録を確認するように求められます。たとえば、E メールアドレスを指定した場合は、件名に AWS Notification - Subscription Confirmation と表示された E メールメッセージが届きます。指示に沿って操作し、登録を確認します。

通知はエンドポイントの可用性によって異なります。そのため、JSON ファイルを定期的に確認して、常に最新の範囲を入手した方がよいでしょう。Amazon SNS の信頼性について詳しくは、 を参照してくださいhttps://aws.amazon.com/sns/faqs/#Reliability

通知が不要になった場合は、次の手順で受信登録を解除します。

AWS IP アドレス範囲通知のサブスクリプションを解除するには
  1. Amazon SNS コンソール(https://console.aws.amazon.com/sns/v3/home)を開きます。

  2. ナビゲーションペインで [Subscriptions] (サブスクリプション) を選択します。

  3. サブスクリプションのチェックボックスをオンにします。

  4. [Actions]、[Delete subscriptions] の順に選択します。

  5. 確認を求めるメッセージが表示されたら、[削除] を選択します。

詳細については、Amazon SNS、Amazon Simple Notification Service Developer Guide を参照してください。

リリースノート

次の表では ip-ranges.json の構文に対する更新について説明します。リージョンの開始ごとに、新しいリージョンコードが追加されています。

説明 リリース日
MEDIA_PACKAGE_V2 サービスコードが追加されました。 2023 年 5 月 9 日
CLOUDFRONT_ORIGIN_FACING サービスコードが追加されました。 2021 年 10 月 12 日
ROUTE53_RESOLVER サービスコードが追加されました。 2021 年 6 月 24 日
EBS サービスコードが追加されました。 2021 年 5 月 12 日
KINESIS_VIDEO_STREAMS サービスコードが追加されました。 2020 年 11 月 19 日
サービスコードとして CHIME_MEETINGSCHIME_VOICECONNECTOR を追加しました。 2020 年 6 月 19 日
AMAZON_APPFLOW サービスコードが追加されました。 2020 年 6 月 9 日
ネットワーク境界グループのサポートを追加します。 2020 年 4 月 7 日
WORKSPACES_GATEWAYS サービスコードが追加されました。 2020 年 3 月 30 日
ROUTE53_HEALTHCHECK_PUBLISHING サービスコードが追加されました。 2020 年 1 月 30 日
API_GATEWAY サービスコードが追加されました。 2019 年 9 月 26 日
EC2_INSTANCE_CONNECT サービスコードが追加されました。 2019 年 6 月 26 日
DYNAMODB サービスコードが追加されました。 2019 年 4 月 25 日
GLOBALACCELERATOR サービスコードが追加されました。 2018 年 12 月 20 日
AMAZON_CONNECT サービスコードが追加されました。 2018 年 20 月 6 日
CLOUD9 サービスコードが追加されました。 2018 年 20 月 6 日
CODEBUILD サービスコードが追加されました。 2018 年 4 月 19 日
S3 サービスコードが追加されました。 2017 年 2 月 28 日
IPv6 アドレス範囲のサポートが追加されました。 2016 年 8 月 22 日
初回リリース 2014 年 11 月 19 日

詳細はこちら