Script de administración de AWS EC2 por línea de comandos que usa directamente tu configuración activa de aws-cli (perfil/región)
Find a file
2026-04-13 21:39:44 -03:00
ec2-admin.sh Handle AMI cleanup and bash set -u array edge cases 2026-04-13 21:39:44 -03:00
LICENSE docs: add README and LICENSE 2026-04-13 14:32:26 -03:00
README.md Handle AMI cleanup and bash set -u array edge cases 2026-04-13 21:39:44 -03:00

aws-cli-admin

Script de administración básica para AWS EC2 usando aws-cli.

Este proyecto provee un comando imperativo (ec2-admin.sh) para operar sobre EC2 en la región/perfil activos del entorno de aws-cli, sin pasar credenciales ni región por parámetro.

Requisitos

  • bash
  • aws-cli instalado y configurado
  • Credenciales válidas en tu entorno (AWS_PROFILE, AWS_REGION, ~/.aws/config, etc.)

Comandos

./ec2-admin.sh list
./ec2-admin.sh list-running
./ec2-admin.sh list-stopped
./ec2-admin.sh start <instance-id> [instance-id ...]
./ec2-admin.sh stop <instance-id> [instance-id ...]
./ec2-admin.sh terminate <instance-id> [instance-id ...]
./ec2-admin.sh cost
./ec2-admin.sh terminate-everything

Qué hace cada comando

  • list: Lista todas las instancias EC2.
  • list-running: Lista solo instancias en estado running.
  • list-stopped: Lista solo instancias en estado stopped.
  • start: Inicia una o más instancias por ID.
  • stop: Detiene una o más instancias por ID.
  • terminate: Termina una o más instancias por ID.
  • cost: Muestra únicamente recursos EC2 activos que potencialmente generan costo en la región activa.
  • terminate-everything: Muestra recursos con costo que serán eliminados, pide confirmación yes/no y luego ejecuta la limpieza.

Detalle del comando cost

cost muestra secciones solo cuando hay datos:

  • Instancias en ejecución.
  • Volúmenes EBS excluyendo los que están adjuntos a instancias running.
  • AMIs propias.
  • Snapshots EBS asociados a AMIs propias.
  • Snapshots EBS propios no asociados a AMIs.
  • Elastic IPs.
  • NAT Gateways (available o pending).
  • Elastic Load Balancers:
    • Classic ELB.
    • ELBv2 (ALB/NLB/Gateway Load Balancer).

Si no hay recursos para mostrar, no imprime secciones.

Limpieza total (terminate-everything)

Este comando es destructivo y elimina recursos EC2 en la región activa:

  • Termina instancias (pending/running/stopping/stopped).
  • Borra NAT Gateways.
  • Borra Elastic Load Balancers (Classic y ELBv2).
  • Deregistra AMIs propias.
  • Libera Elastic IPs (desasocia primero si aplica).
  • Borra snapshots EBS asociados a esas AMIs.
  • Borra snapshots EBS propios no asociados a AMIs.
  • Borra volúmenes EBS en estado available.

Antes de ejecutar, muestra el detalle y solicita confirmación explícita:

Confirmas la limpieza total de estos recursos? (yes/no):

Ejemplos

./ec2-admin.sh list
./ec2-admin.sh stop i-0123456789abcdef0
./ec2-admin.sh start i-0123456789abcdef0 i-0fedcba9876543210
./ec2-admin.sh cost
./ec2-admin.sh terminate-everything

License

Licensed under the WTFPL v2.

http://www.wtfpl.net/

WTFPL badge