特定の AWS サービスの IP アドレス範囲を調べる方法を教えてください

2023.12.12

困っていた内容

AWS の IP アドレス範囲が ip-ranges.json で公開されていることは認識しています。
しかし、IP アドレス範囲を確認したいサービス名が明記されていないため具体的な IP アドレス範囲がわかりませんでした。
特定の AWS サービスの IP アドレス範囲を調べる方法を教えてください。

どう対応すればいいの?

一例ですが、digコマンドなどの結果と ip-ranges.json を照合する方法があります。

例. 東京リージョンの CodePipeline の場合

まず、ドキュメントから東京リージョンのエンドポイントを確認します。

codepipeline.ap-northeast-1.amazonaws.com

AWS 公式ドキュメントより

エンドポイントの URL にdigコマンドを実行します。

$ dig codepipeline.ap-northeast-1.amazonaws.com
(中略)
;; ANSWER SECTION:
codepipeline.ap-northeast-1.amazonaws.com. 0 IN A 52.95.34.160

ANSWER SECTION の IP アドレスを ip-ranges.json で確認します。
今回の場合は以下の IP 範囲でした。

{
  "ip_prefix": "52.95.34.0/24",
  "region": "ap-northeast-1",
  "service": "AMAZON",
  "network_border_group": "ap-northeast-1"
}

補足

AWS の IP アドレス範囲は変更される可能性があるため、必要に応じて通知をサブスクライブしてください。

Whenever there is a change to the AWS IP address ranges, we send notifications to subscribers of the AmazonIpSpaceChanged topic.

AWS 公式ドキュメントより

また、ip-ranges.json に記載されているサービスコードなどはアップデートされる可能性もあるためリリースノートも確認してください。

The following table describes updates to the syntax of ip-ranges.json. We also add new Region codes with each Region launch.

AWS 公式ドキュメントより

参考資料