Graph database, used for visualize and query customer graph
Neo4j driver for python, used to store the data into Neo4j
AWS SDK for python, used to get customer info
- VPC
- Subnet
- Internet Gateway
- EC2
- ELB
- Security Group
- ElastiCache
- RDS
- DynamoDB
- Lambda
docker run --publish=7474:7474 --publish=7687:7687 --env=NEO4J_AUTH=none neo4j
pip install -r requirements.txt
export AWS_PROFILE=XYZ
python topology.py
To get all nodes and relationships in neo4j web interface
MATCH (n) return n
To get all nodes of type EC2 that connects to an specific RDS (does not check ports yet)
MATCH (a:EC2)-[:BELONGS]->(b:SecurityGroup)-[:CONNECTS]->(c:SecurityGroup)<-[:BELONGS]-(d:RDS {rdsId:'rds-identifier'})
RETURN a,b,c,d