AWS Emulator is een gratis lokale kopie van de AWS-API’s die op je laptop of in je CI-pipeline draait, en volgens Amazon schreef of las geen enkele mens er een regel code van. Honderden AI-agents bouwden hem en controleerden elk gedrag tegen de echte AWS-cloud. Je kan er vandaag mee bouwen en testen zonder AWS-account. De eigen scorekaart toont ook de grenzen: bij de lancering slaagt 56,5% van de 42.937 fidelity-tests, en IAM-policies controleert hij niet zoals AWS dat doet.

Daarmee is AWS Emulator op twee manieren interessant. Voor ontwikkelaars is het een nieuwe, gratis manier om AWS lokaal te testen, maanden nadat LocalStack zijn gratis versie achter een account zette. Voor wie met AI-agents bouwt, is het een zeldzame publieke blik op wat een agentfabriek oplevert als de vangrails het werk dragen, niet het model.

Wat is AWS Emulator?

AWS Emulator beantwoordt AWS-API-oproepen op je eigen computer. Je richt de AWS CLI, een AWS SDK of een codeeragent op een lokaal HTTPS-adres op poort 9297, en je code maakt wachtrijen, tabellen en buckets aan die alleen in het geheugen bestaan. AWS bracht hem uit op 11 november 2026, met de broncode op GitHub.

  • Bereik. AWS bouwde hem uit 438 API-modellen voor meer dan 200 diensten. De scorekaart van de eerste release bevat testresultaten voor 355 diensten.
  • Installeren. RPM- en Debian-pakketten voor Linux, een container voor macOS en Windows, en een ingebedde modus die de emulator in Rust-testprogramma’s compileert. Codeeragents installeren een skill aws-emulator met AWS CLI 2.35.0 of nieuwer.
  • Prijs en licentie. Er hangt geen prijs aan. De code is publiek domein onder CC0, met meegeleverde code onder Apache 2.0. Pull requests aanvaardt AWS niet, meldingen van fouten en afwijkingen wel.
  • Telemetrie. Gebruiksgegevens gaan standaard naar AWS. Je zet dat uit met --telemetry off, de variabele EMULATOR_TELEMETRY=off of een regel in config.toml. Volgens de README verzamelt AWS nooit de inhoud van je verzoeken, je code of je sleutels.

De emulator is geschreven in Rust, met één crate per AWS-dienst. Zelf bouwen vraagt minstens 100 GB vrije schijfruimte, dus de meeste teams nemen de kant-en-klare pakketten.

Zo bouwden AI-agents AWS Emulator zonder menselijke review

Het begon als weekendexperiment van Matthew Goldberg, senior principal engineer bij AWS. Hij liet zich inspireren door het experiment van Anthropic waarin agents een C-compiler bouwden. Zijn les: agents bouwen een getrouwe kopie als ze een precieze specificatie hebben en een voorbeeld om tegen te controleren. AWS heeft allebei. De publieke AWS-API-modellen zijn de specificatie, de echte AWS-cloud is het voorbeeld.

Goldberg gaf Kiro, de codeeragent van Amazon, een opdracht in drie stappen: schrijf tests op basis van de AWS CLI, herhaal tot ze slagen tegen de echte AWS, en bouw dan een versie in het geheugen die dezelfde tests haalt. Een ruwe kopie van Amazon SQS stond er na een kwartier. Op maandag testte zijn team al met het weekendprototype. Er een product van maken duurde veel langer, en daarvoor waren vangrails nodig die de agents op koers houden.

Animatie: testschrijvers toetsen aan echte AWS, foutzoekers spelen tests af, fixers passeren een poort met vier controles.
Elke wijziging gaat door dezelfde poort. Testschrijvers toetsen elk scenario aan de echte AWS, foutzoekers spelen die tests af tegen de emulator, en een fix komt pas in de hoofdcode na controles op bouw, codeerregels, veiligheid en fidelity. Bron: AWS, Matthew Goldberg (11 november 2026).

In het echte systeem werken drie afgebakende teams, omdat agents beter presteren op smalle taken.

  • Testschrijvers maken van de API-modellen realistische scenario’s, zoals een wachtrij aanmaken, een bericht sturen, ontvangen en verwijderen. Elke test wordt eerst tegen de echte AWS gecontroleerd voor hij meetelt. Intussen zijn het er tienduizenden.
  • Foutzoekers spelen die tests af tegen de emulator en zetten elk verschil op een lijst, gegroepeerd per vermoedelijke oorzaak. De code begon als een lege webserver die verzoeken voor alle 438 API-modellen aannam en niets deed.
  • Fixers nemen elk één probleem, zoeken de oorzaak en passen de code aan. Een wijziging komt pas binnen na vier controles: ze moet compileren, aan de codeerregels voldoen, een veiligheidscontrole doorstaan en geen bestaande test breken.

Honderden agents werken tegelijk en lossen volgens AWS dagelijks duizenden problemen op. Bij de lancering telde de publieke geschiedenis 29.684 commits. De agents kozen niet altijd verstandig: een vroege versie bouwde een eigen Python-interpreter om Lambda-functies uit te voeren, tot de agents naar bestaande bibliotheken werden gestuurd. Goldberg vergelijkt de vangrails met een kleurboek. Net als een kind dat leert tekenen, hebben agents duidelijke lijnen nodig om een samenhangend beeld te maken. Dat is harness engineering op industriële schaal: het model is inwisselbaar, de tests, de poort en de releasepijplijn beslissen wat er uitgaat.

Wat de testscores van AWS Emulator tonen

Bij elke release hoort een scorekaart. Wij downloadden scores.json.gz van release v1.0.322, gescoord op 11 november 2026, en telden zelf. Een test slaagt alleen als de emulator precies teruggeeft wat AWS teruggaf: statuscode, antwoord, foutcode en foutmelding, en de toestand die overblijft.

  • 42.937 testunits, waarvan 24.243 slagen of 56,5%. 18.614 falen en 80 werden overgeslagen.
  • Van de 68.007 losse stappen in die tests slaagt 73,2%. Veel scenario’s struikelen op één stap van de vele.
  • Bij de 342 diensten met minstens tien tests is de mediaan 61,3%. Veertig diensten halen 90% of meer, 124 blijven onder 50%.
Staafgrafiek met het slaagpercentage per AWS-dienst, van 71,5% voor EventBridge tot 18,9% voor CloudFormation.
De serverless diensten die je dagelijks gebruikt, zitten tussen 52 en 72%. CloudFormation, dat volledige stacks uitrolt, haalt minder dan één test op vijf. Eigen telling van scores.json.gz, release v1.0.322; een test die meerdere diensten raakt, telt bij elk ervan mee.
DienstTestsGeslaagd
EventBridge96771,5%
KMS50571,3%
Step Functions98270,0%
SNS63569,3%
DynamoDB1.69468,1%
SQS1.52367,8%
S32.81462,7%
Lambda3.00651,9%
EC22.47038,8%
CloudFormation4.20618,9%

Lees die cijfers met twee kanttekeningen. AWS waarschuwt dat nieuwe tests een score kunnen doen dalen terwijl de emulator beter wordt, omdat die tests vaak randgevallen opzoeken. En een gefaalde test betekent vaak één verkeerde foutmelding, geen kapotte dienst. Toch maakt de scorekaart komaf met het idee van een volledige AWS op je laptop. Eerlijker is: een snelle, gratis emulator die de gewone paden van de populaire diensten grotendeels juist heeft, met een publieke lijst van wat nog fout loopt in de map issues/things-that-do-not-work.

Waar je AWS Emulator niet mag vertrouwen

AWS is duidelijk over de grenzen, en die wegen zwaarder dan de gemiddelden. De veiligheidsdocumentatie zet ze op een rij.

  • Rechten. IAM-policies, permission boundaries, S3-bucketpolicies en KMS-sleutelpolicies worden niet beoordeeld zoals AWS dat doet. Een verzoek dat AWS weigert, kan lokaal lukken, en omgekeerd. Test er dus nooit toegangsrechten mee.
  • Eén account, één regio. Oproepen over accounts of regio’s heen werken niet, en alles staat in het geheugen tot de emulator stopt.
  • Code draait niet afgeschermd. Functiecode die je aan de emulator geeft, draait met de rechten van je eigen gebruiker op je computer.
  • Ongetest gedrag. Wat geen geslaagde test heeft, is niet gecontroleerd. Niet-gebouwde functies geven een HTTP 501-fout terug, en dat is beter dan een nep-succes.
  • Niet voor productie of veiligheidstests. Throttling, storingen en belasting vallen erbuiten. De eindcontrole gebeurt nog altijd op de echte AWS.

Eén praktisch risico verdient een regel in elk testscript. Staat AWS_ENDPOINT_URL niet ingesteld, dan roept je SDK stilletjes de echte AWS aan met de sleutels die hij vindt. AWS raadt aan echte sleutels uit je omgeving te halen voor je tests draait.

Een gratis alternatief nu LocalStack achter een account zit

LocalStack was jarenlang de standaard om AWS lokaal te testen. In maart 2026 voegde het de community- en Pro-versie samen. Het gratis image localstack/localstack krijgt geen updates of veiligheidspatches meer, en de huidige versie vraagt een token dat aan een account hangt, met een gratis niveau voor niet-commercieel gebruik. Oudere vastgepinde versies draaien nog, maar zonder fixes. Sindsdien proberen teams open alternatieven zoals Floci en Moto.

AWS Emulator springt in dat gat met een ongewoon aanbod: een emulator van de leverancier zelf, getoetst aan de echte dienst, in het publiek domein. Een één-op-één-vervanger is het nog niet: AWS Emulator bewaart niets tussen twee runs, kent één account en één regio, en slaat de beoordeling van IAM-policies over. Op Hacker News vroegen ontwikkelaars of het een experiment of een product is. Een AWS-medewerker antwoordde dat AWS hem blijft onderhouden, anderen merkten op dat een forumreactie geen supportbelofte is. De CC0-licentie dempt dat risico: stopt AWS ooit, dan mag iedereen de code en de tests overnemen.

Zo gebruik je AWS Emulator verstandig

Lokaal testen heeft echte voordelen. Je hebt geen AWS-account nodig, er blijven geen cloudresources achter om op te ruimen, er staan geen toegangssleutels in je CI-systeem en je testdata verlaat je computer niet. De telemetrie is het enige dat je op dag één aanpast.

  • Begin in je CI-pipeline. Laat je integratietests tegen AWS Emulator lopen, en houd een kleinere teststap op een echt AWS-account voor de release.
  • Behandel HTTP 501 als een fout. Stel je tests zo in dat een niet-gebouwde functie de run stopt in plaats van overgeslagen te worden.
  • Zoek je diensten op in de scorekaart. Kijk naar het slaagpercentage en de open problemen van de diensten die je gebruikt. Bij stacks die zwaar op CloudFormation of EC2 leunen, verwacht je gaten.
  • Houd IAM-tests op AWS. Policies, bucketpolicies en KMS-sleutelpolicies test je alleen in de cloud.
  • Zet telemetrie uit in pipelines met EMULATOR_TELEMETRY=off, en noteer die keuze voor wie bij jullie privacy opvolgt.
  • Stel het adres in en haal echte sleutels weg in hetzelfde script dat de tests start, zodat een verkeerd ingestelde job nooit bij productie raakt.

Ook de bouwmethode is het bestuderen waard. Wie al agents code laat schrijven, herkent het patroon uit tests in een nagebouwde wereld: een voorbeeld om tegen te controleren, tests die eerst zelf gecontroleerd worden, en een poort die geen wijziging overslaat. Het AI harness rond het model maakt van een weekendprototype iets wat je kan uitbrengen. Dat zagen we eerder ook bij Flint van Recursive, een codeermodel dat AI grotendeels zelf bouwde.

De tests zijn het echte product

De code van AWS Emulator is door agents geschreven en wordt duizend keer per dag door agents herschreven. Wat mensen bouwden, en wat het project geloofwaardig maakt, is de evaluatiesuite: tienduizenden scenario’s, elk gecontroleerd op minstens twee afgeschermde AWS-accounts en gepubliceerd onder CC0. Iedereen kan ze tegen AWS Emulator laten lopen, en in principe kunnen dezelfde scenario’s de maatstaf worden voor elke AWS-emulator. Wie zelf een agentproject plant, kan die les meenemen. Vraag niet eerst welk model je kiest, maar wat jouw echte AWS is: het voorbeeld waartegen je agents elke wijziging kunnen controleren.

Veelgestelde vragen over AWS Emulator

Is AWS Emulator gratis?

Ja. AWS vraagt er geen geld voor, en de code is publiek domein onder CC0. Je betaalt alleen voor wat je op de echte AWS uitrolt.

Heeft een mens de code van AWS Emulator nagelezen?

Nee. Volgens AWS heeft het team de code niet geschreven en niet nagelezen. Mensen ontwierpen de specificaties, de testmachine, de poort met controles op bouw, codeerregels, veiligheid en fidelity, en de releasepijplijn.

Vervangt AWS Emulator LocalStack?

Voor veel lokale tests en CI-tests van gangbare diensten is hij een gratis alternatief. Hij bewaart niets tussen runs, kent maar één account en één regio en beoordeelt geen IAM-policies, dus kijk eerst naar de scores van jouw diensten.

Kan ik IAM-rechten testen met AWS Emulator?

Nee. De emulator beoordeelt IAM-, bucket- en KMS-sleutelpolicies niet zoals AWS, dus een verzoek dat AWS weigert, kan lokaal lukken. Rechten en andere veiligheidsinstellingen test je op de echte AWS.

Op welke systemen draait AWS Emulator?

Op Linux via RPM- of Debian-pakketten, op macOS en Windows via een container, en in Rust-projecten via een ingebedde modus. Hij luistert op 127.0.0.1:9297 met een zelfondertekend certificaat.