¿Qué es AWS Dry-Run?
- Paulo Srulevitch
- hace 7 días
- 2 Min. de lectura
A veces queremos saber si tenemos los permisos necesarios para ejecutar un comando, pero no necesitamos ejecutarlo realmente. Y, digamos que, por alguna razón, no podemos acceder a IAM para verificar nuestros permisos. Para eso existe --dry-run, un parámetro que aplican ciertos comandos del AWS CLI.

¿Cómo usamos el dry run?
Supongamos que queremos saber si nuestro usuario tiene permisos para lanzar instancias. En este caso, vamos a usar un usuario de prueba llamado teratip.
Un ejemplo correcto del comando run-instances sería:
aws ec2 run-instances --image-id ami-02edf5731752693cc --instance-type t2.micro
Pero no queremos ejecutar este comando porque, si tenemos los permisos correctos, la instancia se va a crear y eso podría impactar en la facturación. Así que agregamos --dry-run para validar los permisos sin ejecutar nada:
aws ec2 run-instances --dry-run --image-id ami-02edf5731752693cc --instance-type t2.micro

Este mensaje indica que hubo un error al llamar a la operación RunInstances, pero que la solicitud habría sido exitosa si no hubiéramos incluido el flag --dry-run. Esto confirma que tenemos los permisos correctos para ejecutar la operación.
Ahora, usando un usuario con acceso a IAM, revisamos la política asignada al usuario Teratip.

Vemos que tiene permisos adecuados para ejecutar ec2 run-instances.
Hagamos una prueba: le quitamos la política asignada al usuario y volvemos a ejecutar el comando con --dry-run.
¿Qué pasa?
Recibimos un error más extenso que nos indica que no tenemos los permisos necesarios. Esta es una excelente forma de probar llamadas a la API sin afectar la facturación.

Rodrigo González
DevOps Engineer
Teracloud