メニュー
アマゾン ウェブ サービス
全般的なリファレンス (Version 1.0)

AWS IP アドレスの範囲

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

ダウンロード

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

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

構文

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

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

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

型: 文字列

例: "syncToken": "1416435608"

createDate

公開日時。

型: 文字列

例: "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"

リージョン

AWS リージョンまたはエッジロケーションの GLOBALCLOUDFRONT および ROUTE53 範囲は GLOBAL であることに注意してください。ここに示されている以外の値は無視してください。

型: 文字列

有効な値: ap-northeast-1 | ap-northeast-2 | ap-south-1 | ap-southeast-1 | ap-southeast-2 | cn-north-1 | eu-central-1 | eu-west-1 | sa-east-1 | us-east-1 | us-gov-west-1 | us-west-1 | us-west-2 | GLOBAL

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

service

IP アドレス範囲のサブセット。すべての IP アドレス範囲を取得するには AMAZON を指定します (たとえば、EC2 サブセットの範囲は、AMAZON サブセットにも含まれます)。一部の IP アドレス範囲は、AMAZON サブセットのみに含まれていることに注意してください。ここに示されている以外の値は無視してください。

型: 文字列

有効な値: AMAZON | EC2 | CLOUDFRONT | ROUTE53 | ROUTE53_HEALTHCHECKS | S3

例: "service": "AMAZON"

JSON ファイルのフィルタ

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

Windows

AWS Tools for Windows PowerShell には、この JSON ファイルを解析するコマンドレット Get-AWSPublicIpAddressRange が含まれています。以下はその使用例です。詳細については、「Querying the Public IP Address Ranges for AWS」を参照してください。

例 1. 作成日を取得します

Copy
PS C:\> Get-AWSPublicIpAddressRange -OutputPublicationDate Thursday, February 18, 2016 5:22:15 PM

例 2. 特定のリージョンの情報を取得します

Copy
PS C:\> Get-AWSPublicIpAddressRange -Region us-east-1 IpPrefix Region Service -------- ------ ------- 23.20.0.0/14 us-east-1 AMAZON 50.16.0.0/15 us-east-1 AMAZON 50.19.0.0/16 us-east-1 AMAZON ...

例 3. すべての IP アドレスを取得します

Copy
PS C:\> (Get-AWSPublicIpAddressRange).IpPrefix 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ...

Linux

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

例 1. 作成日を取得します

Copy
$ jq .createDate < ipranges.json "2016-02-18-17-22-15"

例 2. 特定のリージョンの情報を取得します

Copy
$ jq '.prefixes[] | select(.region=="us-east-1")' < ipranges.json { "ip_prefix": "23.20.0.0/14", "region": "us-east-1", "service": "AMAZON" }, { "ip_prefix": "50.16.0.0/15", "region": "us-east-1", "service": "AMAZON" }, { "ip_prefix": "50.19.0.0/16", "region": "us-east-1", "service": "AMAZON" }, ...

例 3. すべての IP アドレスを取得します

Copy
$ jq -r '.prefixes | .[].ip_prefix' < ipranges.json 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ...

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

インスタンスに AWS のサービスのみへのアクセスを許可するには、EC2 リストの CIDR ブロックを除く、AMAZON リストの CIDR ブロックへのアウトバウンドトラフィックを許可するルールでセキュリティグループを作成します。

AWS の IP アドレス範囲の通知

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

Copy
{ "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. https://console.aws.amazon.com/sns/v2/home にある Amazon SNS コンソールを開きます。

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

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

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

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

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

      Copy
      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. https://console.aws.amazon.com/sns/v2/home にある Amazon SNS コンソールを開きます。

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

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

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

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

Amazon SNS の詳細については、『Amazon Simple Notification Service 開発者ガイド』を参照してください。