地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

AWSとかGCPが公式に公開されているIP rangeを取得するツールを書いた

github.com

$ go-iprange-cloud [aws|gcp|azure|heroku|github|oracle]

みたいに実行すれば公開されているIPリストを表示してくれるツールです。それぞれ以下のようなAPIが公開されていたのでそれを元にとっているという感じです。

# AWS
curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq -cr '.prefixes | .[].ip_prefix'

# GCP
curl -s https://www.gstatic.com/ipranges/cloud.json | jq -cr '.prefixes[].ipv4Prefix' | grep -v null

# GoogleBot
curl -s https://developers.google.com/search/apis/ipranges/googlebot.json | jq -cr '.prefixes[].ipv4Prefix' | grep -v null

# Oracle Cloud
curl -s https://docs.oracle.com/en-us/iaas/tools/public_ip_ranges.json | jq -cr '.regions[].cidrs[].cidr'

# Heroku
curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq -cr '.prefixes[].ip_prefix'