AWS (Amazon Web Services) のサーバーやサービスの IP アドレス範囲を調べる方法

AWS (Amazon Web Services) のサーバーやサービスの IP アドレス範囲を簡単に調べる方法を記載します。ここでは Linux で調べる方法を紹介します。

クラウドサービスなだけに固定 IP アドレスを使っていない限り、Amazon の都合次第で Amazon が運営しているサーバーやサービスの IP アドレスは変わります。基本的には DNS 名称を使っていれば問題ありませんが、Firewall のポリシーが厳格な会社の場合には特定の IP アドレスにだけ接続させるために AWS の IP アドレス範囲を知る必要があったりします。

詳しい手順については下記 AWS 公式マニュアルにも載っていますが、以下に手順を纏めましたので下記手順を実行すると簡単です。

AWS IP Address Ranges



Linux マシン上で AWS の IP アドレス範囲を調べる方法

ここでは Linux マシン上で AWS の各サービスの IP アドレス範囲を簡単に調べる方法を説明します。手順を実行するには jq という Linux コマンドが必要ですので、Ubuntu であれば次のようにしてインストールしておきます。

$ sudo apt-get install jq

では早速 AWS の IP アドレス範囲を取得してみましょう。

1. AWS の公式ウェブサイトから ip-ranges.json というファイルを取得します。

$ wget https://ip-ranges.amazonaws.com/ip-ranges.json

2. ファイルの最終更新日時をチェックします。以下の実行結果によると、IP アドレス範囲情報が更新されたのは 2018/03/09 13:46:09 であることが分かります。

$ jq .createDate < ipranges.json
"2018-03-09-13-46-09"

3. 特定の AWS リージョン(地域) の IP アドレス範囲を調べます。ここでは AWS 東京リージョンの IP アドレス範囲全てを取得しています。

$ jq  '.prefixes[] | select(.region=="ap-northeast-1")' < ip-ranges.json
{
  "ip_prefix": "13.112.0.0/14",
  "region": "ap-northeast-1",
  "service": "AMAZON"
}
{
  "ip_prefix": "13.230.0.0/15",
  "region": "ap-northeast-1",
  "service": "AMAZON"
}
{
  "ip_prefix": "18.179.0.0/16",
  "region": "ap-northeast-1",
  "service": "AMAZON"
}
.....
{
  "ip_prefix": "54.248.220.0/26",
  "region": "ap-northeast-1",
  "service": "ROUTE53_HEALTHCHECKS"
}
{
  "ip_prefix": "54.250.253.192/26",
  "region": "ap-northeast-1",
  "service": "ROUTE53_HEALTHCHECKS"
}
.....
{
  "ip_prefix": "52.92.60.0/22",
  "region": "ap-northeast-1",
  "service": "S3"
}
.....
{
  "ip_prefix": "13.112.0.0/14",
  "region": "ap-northeast-1",
  "service": "EC2"
}
.....
{
  "ip_prefix": "52.199.127.192/26",
  "region": "ap-northeast-1",
  "service": "CLOUDFRONT"
}
{
  "ip_prefix": "13.112.191.184/29",
  "region": "ap-northeast-1",
  "service": "CODEBUILD"
}

4. AWS 全ての IP アドレス範囲一覧を取得するには次のようにします。

$ jq -r '.prefixes | .[].ip_prefix' < ip-ranges.json
13.32.0.0/15
13.35.0.0/16
13.52.0.0/16
13.53.0.0/16
13.54.0.0/15
13.56.0.0/16
13.57.0.0/16
13.58.0.0/15
13.112.0.0/14
13.124.0.0/16
13.125.0.0/16
.....