Saltar al contenido

AWS Emulator a prueba: el AWS local y gratuito no comprueba IAM

AWS Emulator arrancó en 0,6 segundos en el puerto 9297 en una prueba de Tech AI Wire. Un usuario sin permisos de IAM pudo aun así crear y borrar recursos.

Por

4 min de lectura

XLinkedIn

Traducido automáticamente del original en inglés, que Claire Whitmore verificó y editó. Prevalece la versión en inglés. Cómo trabajamos

Screenshot of the aws/aws-emulator GitHub repository page, showing the CC0-1.0 license, the v1.0.322 latest release and the repository's file list.

En cifras

servicios de AWS cubiertos, según el blog de Werner Vogels
200+
modelos de API de AWS con los que trabajaron los agentes, según Amazon
438
al mes por licencia en el plan de pago más barato de LocalStack, con pago anual
39 $

AWS lanzó AWS Emulator el 11 de noviembre de 2026, un programa gratuito que copia servicios de AWS en el propio ordenador del desarrollador. Según AWS, agentes de IA escribieron todo su código. Permite a los desarrolladores y a sus agentes de programación probar código para la nube sin factura de AWS ni una cuenta real de AWS. Sin embargo, en una prueba de Tech AI Wire no aplicó los permisos de IAM. Son las reglas que deciden quién puede hacer qué en una cuenta de AWS. Por tanto, no puede decirte si esas reglas funcionan.

Un emulador es un sustituto local que responde a las mismas peticiones que el servicio real. Una entrada del blog de Werner Vogels, All Things Distributed, dice que cubre más de 200 servicios de AWS a través de más de 400 modelos de API. El código está en GitHub bajo CC0, una dedicación al dominio público, según el propio relato de Amazon.

Cómo lo construyó AWS con agentes

"El emulador lo escribieron por completo agentes autónomos. Nuestro equipo no ha escrito ni revisado nada del código", dijo a Help Net Security Matthew Goldberg, ingeniero principal sénior de AWS. Goldberg escribe que el proyecto empezó como una prueba de fin de semana. En ella, un agente construyó en 15 minutos una primera versión de Amazon SQS, la cola de mensajes de AWS.

Ahora hacen el trabajo tres equipos de agentes, informa Help Net Security. Uno escribe pruebas a partir de las especificaciones públicas de las API de AWS y las comprueba contra el AWS real. Un segundo ejecuta esas pruebas contra el emulador. Un tercero arregla lo que falla. Cada cambio debe pasar una puerta de fusión que revisa la compilación, las normas de código, la seguridad y la fidelidad, es decir, cuánto se parece el emulador a AWS. Goldberg cuenta 438 modelos de API, "decenas de miles" de pruebas y cientos de agentes que arreglan miles de problemas al día.

La entrada del blog de Vogels sostiene que el trabajo del ingeniero pasa a ser construir esas comprobaciones. "La calidad del software en la era de la IA depende de las barreras de protección que los ingenieros diseñan alrededor de los agentes", dice.

Prueba de Tech AI Wire: instalación, velocidad y permisos

La prueba se hizo en macOS 26 con Docker 28.4.0, en un Mac con Apple silicon. AWS no publica ninguna imagen lista para usar. Su guía de Docker ofrece en su lugar un Dockerfile corto, con un paquete Arm para Apple silicon. La compilación tardó 65 segundos y dejó una imagen de 1,16 GB. Dentro, aws-emulator -v indicó la versión 1.0.322, con fecha de publicación 2026.11.10.

Arrancado con --telemetry off, el emulador estuvo listo en 0,6 segundos. Su registro dio como punto de acceso https://127.0.0.1:9297, con un certificado autofirmado. También escribió sus propios archivos de configuración y credenciales de AWS, así que la AWS CLI pudo hablar con él sin claves reales. El registro advirtió que el contenedor escucha en todas las interfaces de red. Por eso la guía de AWS publica el puerto solo en 127.0.0.1.

Lo básico funcionó con la AWS CLI 2.24.16. En S3, el almacenamiento de archivos de AWS, la creación de un bucket, una subida y un listado salieron bien. Una cola de SQS aceptó un mensaje y lo devolvió. En DynamoDB, la base de datos clave-valor de AWS, escribir de inmediato en una tabla nueva falló con ResourceNotFoundException, porque la tabla seguía en CREATING. Tras aws dynamodb wait table-exists, la escritura y la lectura funcionaron. Toda la prueba tardó 7 segundos, y el contenedor usó 174 MiB de memoria.

Los permisos fueron el punto débil. Una política de bucket que lo denegaba todo sí bloqueó una descarga, con un error 403. Pero después la prueba creó un usuario de IAM sin ninguna política. Con las claves de ese usuario, las tres llamadas salieron bien:

$ aws sqs list-queues
https://sqs.us-east-1.amazonaws.com/000000000000/taw
$ aws s3 mb s3://nobody-bucket
make_bucket: nobody-bucket
$ aws dynamodb delete-table --table-name taw
DELETING

Esa es la brecha sobre la que advierte AWS. El emulador no evalúa las políticas de IAM ni las basadas en recursos como lo hace AWS, informa Help Net Security. Por eso AWS desaconseja usarlo para pruebas de seguridad. Además, un reinicio lo borró todo, como dice la documentación: tras docker restart, la lista de buckets estaba vacía.

AWS Emulator frente al plan gratuito de LocalStack

LocalStack es otra herramienta que ejecuta servicios de AWS en local. Su plan gratuito tiene condiciones que AWS Emulator no tiene. La tabla usa la página de precios de LocalStack y las propias páginas de AWS.

AWS EmulatorLocalStack Hobby (gratis)
PrecioGratis, sin tarifa de servicioGratis
RegistroNo hizo falta en la pruebaCuenta obligatoria
Uso comercialSin límite indicado; el código es CC0No permitido: "para aficionados y otros usos no comerciales"
Plan de pago más baratoNinguno indicadoBase, 39 $ por licencia al mes con pago anual, o 45 $ al mes

Qué significa para los desarrolladores

AWS Emulator es un sitio rápido y gratuito para ejecutar pruebas de aplicaciones y dejar que los agentes de programación prueben llamadas a AWS. No es el sitio para comprobar quién puede hacer qué.

  • Mantén las pruebas de permisos en AWS real. Aquí, un usuario sin permisos borró una tabla. Prueba los roles y políticas de IAM en una cuenta de AWS de pruebas.
  • Limítalo a localhost. En Docker, usa -p 127.0.0.1:9297:9297, como dice la guía de AWS. Si no, cualquiera en tu red puede llamarlo.
  • Desactiva la telemetría si lo necesitas. Añade --telemetry off o define EMULATOR_TELEMETRY=off. Viene activada por defecto, y Help Net Security informa de que no envía peticiones, respuestas ni datos de recursos.
  • Carga los datos en cada ejecución. Todo vive en memoria y desaparece tras un reinicio.
  • Espera a los recursos, como debería hacer el código real. Las pruebas que escriban en una tabla de DynamoDB antes de que esté lista fallarán aquí.
  • Comprueba la fidelidad antes de confiar en un servicio. AWS publica en GitHub puntuaciones de fidelidad por servicio en cada versión.

Los equipos que pagan LocalStack solo para ejecutar pruebas de AWS en el trabajo tienen ahora una opción gratuita para comparar. La pega es la misma que señala AWS: que las pruebas pasen aquí no dice nada de tus permisos.

Fuentes

  1. How autonomous AI agents built AWS Emulator - About Amazon
  2. AWS Emulator and the engineer's job when agents write the code - All Things Distributed
  3. AWS Emulator: Open-source tool for testing AWS apps locally, built by autonomous AI agents - Help Net Security
  4. Getting started with AWS Emulator in Docker - AWS Documentation
  5. LocalStack pricing - LocalStack

Artículos relacionados