AWS má vlastní oficiální emulátor svých API
AWS zveřejnil na GitHubu projekt AWS Emulator, lokální emulátor AWS API. Umožňuje testovat software bez volání skutečného AWS, tedy na vlastním stroji, vývojovém serveru nebo v CI, a bez AWS účtu. Za emulátor se neplatí žádný poplatek.
- Jak funguje: Běží jako program bez grafického rozhraní a nabízí AWS endpoint. AWS CLI nebo SDK na něj nasměrujete přes proměnné prostředí a kód pak spouštíte jako obvykle.
- Server mód: Na Linuxu stačí nainstalovat RPM nebo DEB balíček. Na Windows a macOS běží v Dockeru.
- Embedded mód: V Rustu lze emulátor spouštět přímo v testech, každý test má vlastní izolovanou instanci a nepotřebuje žádný endpoint ani certifikát.
- Technologie: Je napsaný v Rustu a každá AWS služba má svůj vlastní crate.
- Licence: CC0-1.0, kód ve složce
vendor/je pod Apache 2.0. Repozitář má zatím přes 2,8 tisíce hvězdiček.
Na co si dát pozor:
- Je určený jen pro vývoj a testování, ne pro produkci ani testování bezpečnosti.
- Věrnost jednotlivých služeb se liší. Skóre je u každého vydání, nedostatky se vedou ve složce
issues/. - Telemetrie je ve výchozím stavu zapnutá, vypnete ji přepínačem
--telemetry offnebo proměnnouEMULATOR_TELEMETRY=off. - Repozitář nepřijímá pull requesty, chyby se hlásí přes GitHub Issues.
- Build ze zdrojů je náročný, chce asi 100 GB místa na disku.
Repozitář: https://github.com/aws/aws-emulator
Dokumentace: https://docs.aws.amazon.com/emulator/latest/userguide/what-is-service.html