Skip to content

Latest commit

 

History

History
19 lines (11 loc) · 1.57 KB

File metadata and controls

19 lines (11 loc) · 1.57 KB

public-clouds-ip-ranges-mmdb

TL;DR:

Contains daily compilation of AWS public IP ranges in MaxMind MMDB format.

Intro

MaxMind prodives geo ip lookup data in custom MMDB format which is exteremly quick. MMDB format specification is open and everyone is encouraged to create its own MMDB files or enrich existing with custom data. MaxMind provides a Go module to write MMDB files and a couple of examples.

AWS

Amazon (AWS) publishes (and updates) their own IP ranges in a JSON file here: https://ip-ranges.amazonaws.com/ip-ranges.json. I needed to have this file in a MMDB format to be able to perform quick lookups against AWS IPs and get info about AWS regions and services.

Publishing a Go code to download JSON, parse it and convert into MMDB.

On top of it, I'm running a Lambda that does the same convertion and uploads resulting MMDB in a public S3 bucket. Lambda runs every 3 hours and saves MMDB file at: https://public-clouds-ip-ranges-mmdb.s3.amazonaws.com/aws.mmdb. Feel free to grab the file directly from the bucket if you don't want to complile and regularly run Go code. You can check last update timestamp by listing the bucket content (https://public-clouds-ip-ranges-mmdb.s3.amazonaws.com/)

How to read aws.mmdb? In Python, import maxminddb (docs), read database and call get() method.