Techfirm Cloud Architect Blog

テックファーム株式会社クラウドインフラグループのブログ

AWS IP アドレスの範囲を確認する方法

はじめに

たまにAWSサービスのIPアドレス範囲を確認する必要があったりするため、備忘として記しておこうかと思います。
AWSだけで完結するシステムは、マネージドプレフィックスリストがあるサービスだと省略できることもあるのですが、他クラウドやオンプレと連携するシステムだと、たまにIPアドレス制御の要件で必要になる機会があるのではないかと思います。

AWS IP アドレスの範囲を確認する方法

答えからいくと、AWSが公開している以下のJSONから確認できます。
https://ip-ranges.amazonaws.com/ip-ranges.json

フィルタリング例

実際に上記のJSONを利用する際は、リージョンやサービス等、必要なIPアドレスのみにフィルタリングして利用することがほとんどだと思いますので、よく使われそうなものを何個か記載しておきます。
手持ちの環境でコマンド実行環境(jqとか)を整えるのが面倒であれば、AWS CloudShellから実行するのがお手軽です。

  • 東京リージョンのEC2のIPアドレス範囲
curl "https://ip-ranges.amazonaws.com/ip-ranges.json" | jq -r '.prefixes [] | select (.region=="ap-northeast-1") | select (.service=="EC2") | .ip_prefix' | sort
  • 東京リージョンと大阪リージョンのEC2のIPアドレス範囲
curl "https://ip-ranges.amazonaws.com/ip-ranges.json" | jq -r '.prefixes [] | select (.region=="ap-northeast-1" or .region=="ap-northeast-3") | select (.service=="EC2") | .ip_prefix' | sort
  • CloudFrontのオリジン向けサーバーの IP アドレス範囲
curl "https://ip-ranges.amazonaws.com/ip-ranges.json" | jq -r '.prefixes [] | select (.service=="CLOUDFRONT_ORIGIN_FACING") | .ip_prefix' | sort

※マネージドプレフィックスリストのcom.amazonaws.global.cloudfront.origin-facing同様

・Route53ヘルスチェックのIPアドレス範囲

curl "https://ip-ranges.amazonaws.com/ip-ranges.json" | jq -r '.prefixes [] | select (.service=="ROUTE53_HEALTHCHECKS") | .ip_prefix' | sort

※マネージドプレフィックスリストのcom.amazonaws.ap-northeast-1.route53-healthchecks同様、デフォルト無効化されているリージョンのIPアドレスも含む

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

紹介のみですが、IPアドレス範囲の変更があった際に簡単に通知する手段もAWSから提供されていますので、必要に応じて考慮しましょう。
AWS の IP アドレス範囲の通知

ちなみに、直近のリリースノートを見る限り頻度は高くありませんでした。
リリースノート

おわりに

メモ的な備忘でしたが、誰かのお役に立てばと思います。

参考

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