Artikel teilen

Amazon Web Services hat einen Emulator der eigenen Cloud veröffentlicht, der ohne AWS-Konto und ohne Zusatzgebühr auf dem Rechner läuft. Der Emulator besteht 24.243 von 42.937 öffentlichen Prüfungen, bei CloudFormation sind es nur 19 Prozent.

Ein Klick · kostenlosDr. Web bei Google bevorzugenMarkieren Sie drweb.de als bevorzugte Quelle. Dann sehen Sie unsere Artikel öfter unter den Top-Meldungen.Jetzt hinzufügen
Inhalt 4 Abschnitte
  1. Was kann der AWS Emulator und was nicht?
  2. Wie genau bildet der Emulator AWS nach?
  3. Was heißt das für Entwicklerteams im deutschsprachigen Raum?
  4. Mehr Newshunger?

Amazon Web Services bietet auf GitHub den AWS Emulator an, aktuell in der Version 1.0.322 vom 11. November.[1] Das Programm beantwortet Anfragen an AWS-Schnittstellen auf dem eigenen Rechner und hält alle Ressourcen im Arbeitsspeicher. Bei AWS entsteht dabei nichts, abgerechnet wird auch nichts.

Auf einen Blick

Das Wichtigste in Kürze

  • Unter Linux läuft der Emulator als Paket, unter macOS und Windows in einem selbst gebauten Docker-Image.
  • Der Emulator besteht 24.243 von 42.937 Prüfungen (56 Prozent), bei CloudFormation nur 19 Prozent.
  • Für Sicherheitstests und den Produktivbetrieb ist er laut AWS nicht gedacht.
  • Die Telemetrie ist standardmäßig eingeschaltet.

Was kann der AWS Emulator und was nicht?

Ein weißes Lenkrad auf einem Sockel mit einem blauen Anhänger mit der Aufschrift „Probefahrt“
Der DynamoDB-Emulator läuft ohne Benutzeroberfläche. AWS CLI und SDKs verbinden sich über Umgebungsvariablen mit dem lokalen Endpunkt

Der Emulator ist ein Programm ohne Oberfläche. Über Umgebungsvariablen zeigen AWS-Kommandozeile oder SDK auf den lokalen Endpunkt, danach läuft Ihr Code unverändert.[1] Unter Linux installieren Sie ein Paket, auf macOS und Windows bauen Sie das Docker-Image aus einem kurzen Dockerfile selbst.[1] Für Tests in Rust gibt es einen eingebetteten Modus.

Die Grenzen nennt AWS selbst: „Verwenden Sie den AWS Emulator nicht, um zu prüfen, ob Ihre Anwendung sicher ist.“[2] Der Emulator prüft weder Bucket- noch KMS-Richtlinien und weist keine Anfrage ab, die mit seinem eigenen Schlüssel signiert ist.[2] Was AWS ablehnen würde, kann dort also durchgehen.

Wie genau bildet der Emulator AWS nach?

AWS veröffentlicht zu jeder Version Fidelity-Werte: Wie viele Prüfungen verhalten sich exakt wie das Original, bis hin zur Fehlermeldung.[3] Die Auswertung der Version 1.0.322 ergibt 24.243 bestandene von 42.937 Prüfungen, das sind 56 Prozent (eigene Auswertung).[4] Bei Lambda sind es 52 Prozent, bei CloudFormation 795 von 4.206 Prüfungen.

Kennt der Emulator eine Operation nicht, antwortet er mit HTTP 501 und dem Code NotImplemented. Der Test scheitert dann sofort, statt falsche Daten zu liefern.[3] Am genauesten arbeitet er bei den Verwaltungsschnittstellen (Control Plane), bei Datenzugriffen sowie bei CloudFormation, Terraform und CDK schwankt die Qualität je nach Dienst.[3] Der Stand ändert sich schnell: Seit dem ersten Commit am 21. Oktober sind rund 29.700 Commits zusammengekommen.[1]

Ein Emulator, der 56 Prozent der Prüfungen besteht, spart Rechnungen, ersetzt aber keine Abnahme auf echter AWS.

Markus Seyfferth, Chefredakteur Dr. Web
Zitat teilen
AWS Emulator: Wie oft verhält er sich wie AWS?
Fidelity-Prüfungen der Version 1.0.322 vom 11. November 2026, bestanden im Verhältnis zu allen Prüfungen
56 %
aller Prüfungen bestanden: 24.243 von 42.937
63 %
bei S3: 1.763 von 2.814 Prüfungen
52 %
bei Lambda: 1.561 von 3.006 Prüfungen
19 %
bei CloudFormation: 795 von 4.206 Prüfungen
So starten Sie den Emulator
Linux
RPM- oder Debian-Paket installieren, Programm aws-emulator starten
macOS, Windows
Docker-Image aus einem kurzen Dockerfile selbst bauen
Rust-Tests
Emulator läuft im Testprozess, ohne Endpunkt und ohne Umgebungsvariable
Quelltext
Eigener Build braucht mindestens 100 GB freien Speicher

Was heißt das für Entwicklerteams im deutschsprachigen Raum?

Integrationstests laufen in der Build-Pipeline ohne AWS-Konto, die Testdaten bleiben auf dem Rechner. Die Telemetrie überträgt unter anderem Betriebssystem, SDK-Version und Aufrufzahlen je Operation, keine Inhalte von Anfragen.[5] Abschalten gelingt mit --telemetry off oder der Umgebungsvariable EMULATOR_TELEMETRY=off.[1] Klären Sie den Einsatz in einer Firmen-CI mit dem Datenschutzbeauftragten.

Gleichen Sie zuerst die AWS-Operationen Ihres Projekts mit dem Prüfkatalog ab.[3] Legen Sie eine Version fest, wie es die README für den eingebetteten Modus rät.[1] Berechtigungs-, Verschlüsselungs- und CloudFormation-Tests gehören weiter auf echte AWS.

Der Markt für lokale AWS-Nachbauten ordnet sich neu: Das öffentliche Repository von LocalStack ist archiviert, LocalStack verweist auf ein einheitliches Image mit einem kostenlosen Tarif nur für nicht kommerzielle Nutzung.[6] Kommerzielle Teams bekommen mit dem AWS Emulator, weitgehend unter CC0 lizenziert, eine Alternative vom Hersteller.[1] Dass die Marktstellung von AWS ein Thema ist, zeigt die geplante Einstufung als Gatekeeper.

Quellen

6 Quellen anzeigenQuellen ausblenden
  1. AWSAWS Emulator, README
  2. AWSSecurity in AWS Emulator
  3. AWSFidelity in AWS Emulator
  4. AWSRelease v1.0.322 mit scores.json.gz
  5. AWSTelemetry in AWS Emulator
  6. LocalStackLocalStack, README

Mehr Newshunger?

4,4 10 Bewertungen

Wie hat Ihnen dieser Artikel gefallen?

Dr. Web Newsletter

Jede Woche ein bisschen klüger.

Der Dr. Web Newsletter: die besten Artikel, Anbieter-Tipps und neue Tools, kompakt zusammengefasst, jeden Donnerstag. Kostenlos und jederzeit abbestellbar.