• alfa
  • licencia MIT
  • Python 3.12+
  • CLI, Docker, pipx

Tu red de AWS, dibujada desde la realidad

VPC Atlas lee tu cuenta de AWS con acceso de solo lectura y dibuja la red en draw.io y Lucidchart. También genera un inventario y ofrece un panel.

por Karina Pérez, ingeniera DevOps · Versión alfa, libre y de código abierto bajo licencia MIT. Binarios para macOS, Linux y Windows, imagen Docker y paquete Python.

# Binario para macOS y Linux
curl -fsSL https://vpcatlas.com/install.sh | sh
# Python
pipx install git+https://github.com/vpcatlas/vpcatlas
# Docker
docker run --rm -v ~/.aws:/root/.aws:ro -v "$PWD/out:/out" vpcatlas/vpcatlas discover --profile audit --output-dir /out
Página de región de una landing zone de ejemplo: tres cuentas con VPC, subredes y cargas de trabajo, servicios de borde, filas de servicios, flujos de tráfico numerados y leyenda.
vpcatlas / vpcatlas PythonMITcódigo público en el lanzamiento

Qué obtienes

Página de región: usuarios y servicios de borde (Route 53, CloudFront, WAF, API Gateway) arriba, filas de servicios y VPC con subredes y cargas de trabajo.

Diagramas que puedes editar

Una página Global, una página por región y una por VPC, en draw.io y Lucidchart, con los iconos de arquitectura de AWS y el diseño de la landing zone. Los flujos de tráfico van numerados y con leyenda, y la misma entrada da siempre el mismo dibujo.

La página Global: tres cuentas, el concentrador de Transit Gateway, un peering de VPC, un gateway de Direct Connect y una cuenta externa.

Un inventario que puedes leer y comparar

Todos los recursos de red y los servicios que lee la herramienta, en JSON, Markdown y HTML. Cada cuenta externa enlazada con la tuya tiene su propia sección.

Página de una VPC: la VPC con sus subredes y cargas de trabajo, y tarjetas de tablas de rutas y de target groups a un lado.

Un panel que muestra qué ha cambiado

El panel se actualiza con la frecuencia que le indiques y muestra los mismos diagramas. Elige dos ejecuciones y el panel enmarca en verde lo que se ha añadido y en naranja lo que ha cambiado.

Cómo funciona

  1. Genera la política de auditor y asóciala a un rol

    Instala la herramienta, genera la política mínima de solo lectura y asóciala a un rol de la cuenta que quieras mapear. También puedes usar la política gestionada de AWS ReadOnlyAccess.

    pipx install git+https://github.com/vpcatlas/vpcatlas
    vpcatlas --help
    
    # Imprime la política mínima de auditor
    vpcatlas iam-policy > auditor-policy.json
  2. Ejecuta vpcatlas discover sobre tu cuenta

    Usa un perfil o asume el rol que acabas de crear. La herramienta escribe los diagramas, el inventario y el grafo en la carpeta de salida. Cada ejecución lee una sola cuenta.

    # Descubre la cuenta y escribe todos los formatos de salida
    vpcatlas discover --profile audit --regions eu-west-1,us-east-1 --output-dir ./out --format all
    
    # Asume un rol en la cuenta destino en vez de usar un perfil
    vpcatlas discover --role-arn arn:aws:iam::111122223333:role/VpcAtlasAuditor --regions eu-west-1 \
      --output-dir ./out --format drawio
  3. Abre los diagramas o lanza el panel

    Abre los ficheros .drawio en draw.io o importa los .lucid en Lucidchart. O lanza el panel y deja que se actualice cada 15 minutos.

    # Diagramas de un descubrimiento anterior
    vpcatlas diagram --cache ./out/vpcatlas-graph.json --format lucid
    
    # Panel, con actualización periódica cada 15 minutos
    VPCATLAS_REFRESH_SECONDS=900 vpcatlas serve --port 8080

Ejemplos

Estos dibujos salen de una landing zone sintética con tres cuentas y datos de ejemplo, no de un cliente. Cada ejecución lee una sola cuenta, así que muestran el estilo y el formato que genera la herramienta.

Página de región de la landing zone de ejemplo: servicios de borde, filas de servicios y VPC.
Página de regiónTamaño completo
Página Global de la landing zone de ejemplo: cuentas, concentrador de Transit Gateway, peering y una cuenta externa.
Página GlobalTamaño completo
Página de VPC de la landing zone de ejemplo: subredes y cargas de trabajo, con tarjetas de tablas de rutas y de target groups.
Página de VPCTamaño completo

Manifiesto

Cinco reglas sobre las que está construida la herramienta.

  1. Solo lectura por diseño

    Solo llama a APIs de lectura e imprime la política de auditor que necesita, para que leas lo que pide antes de concederlo.

  2. El mapa no lo dibuja nadie

    Un mapa dibujado a mano está mal una semana después; la herramienta lo reconstruye desde la cuenta real, bajo demanda o programado.

  3. Misma entrada, mismo dibujo

    Nada se mueve entre dos ejecuciones si la red no se ha movido, y así un diff significa algo.

  4. Honesta con los huecos

    Una llamada denegada se convierte en un hueco documentado, nunca en un agujero silencioso del mapa.

  5. Corre donde tú corres

    Herramienta de línea de comandos, binario e imagen de contenedor; sin agentes ni telemetría; las únicas llamadas van a las APIs de AWS.

Qué lee

Red
  • cuentas
  • regiones
  • VPC
  • subredes
  • tablas de rutas
  • internet gateways y NAT gateways
  • Transit Gateways y sus conexiones
  • VPC peering
  • VPN y Direct Connect
  • endpoints
  • balanceadores de carga y target groups
  • Network Firewall
  • Route 53 Resolver
  • recursos compartidos con RAM
Borde y DNS
  • zonas y registros de Route 53
  • CloudFront
  • WAF
  • ACM
  • Shield
Computación
  • ECS
  • EKS
  • grupos de instancias EC2
  • Lambda
  • API Gateway
Datos
  • RDS y Aurora
  • ElastiCache
  • EFS
  • S3
  • DynamoDB
Servicios de cuenta
  • CloudTrail
  • GuardDuty
  • Config
  • CloudWatch
  • KMS
  • ECR

Quién lo hace

Karina Pérez es ingeniera DevOps y vive en España. Lleva como código, con Terraform, la infraestructura AWS de una plataforma de pagos en producción, tras años de Kubernetes, CI/CD y landing zones multicuenta. Empezó VPC Atlas porque en cada equipo al que llegaba lo primero que le pedían era el diagrama de red, y el diagrama siempre estaba desactualizado. Es ingeniera en Ciencias de la Computación, certificada AWS Cloud Practitioner, y cursa un máster en IA aplicada.

Descargar