Brifing

AWS Launches Local Emulator for Cloud API Development and Testing

A new Rust-based tool enables local testing of AWS APIs without cloud connectivity.

4 sources3 min

1Local API Testing Solution

AWS has released a local emulator designed to simulate AWS API endpoints directly on developer machines. This tool allows engineers to test software, run CI pipelines, and validate code without needing an active AWS account or cloud connection. By eliminating remote calls, it provides a free, offline development environment.

2Rust-Based Architecture

The emulator is built using the Rust programming language, a choice intended to keep CPU and memory usage efficient on local laptops. Senior specialist solutions architect Daniel Abib noted that this performance focus ensures the tool remains lightweight during development cycles, even when managing complex service-based workloads on local hardware.

3Operational Modes

Developers can run the emulator in server mode by installing RPM or Debian packages on Linux, or via Docker containers on Windows and macOS. Alternatively, an embedded mode allows the emulator to be compiled directly into test binaries, enabling isolated instances per test without requiring external endpoint URLs or certificates.

4AI Coding Agent Integration

The tool supports AI coding agents via the 'aws-emulator' skill, requiring AWS CLI version 2.35.0 or later. This integration helps developers identify which project dependencies are supported by the emulator. The agent checks project requirements against fidelity scores to determine if specific operations will behave consistently with actual AWS cloud environments.

5Fidelity and Limitations

The emulator does not replicate the entire AWS cloud, but rather supports APIs found in the AWS API models repository. Fidelity scores are published with each release to indicate how closely a service matches actual AWS behavior. It does not evaluate IAM policies or support cross-account and cross-region functionality.

6Security and Production Warning

AWS explicitly advises against using the emulator for production workloads or security testing. Because the tool simulates APIs rather than the full cloud infrastructure, it lacks the comprehensive security controls and policy enforcement mechanisms present in the live AWS environment. It is strictly intended for building and functional testing purposes.

7Setup and Configuration

Upon startup, the emulator generates local credentials, configuration files, and self-signed certificates at ~/.aws/emulator/9297/. Developers must set environment variables to redirect their AWS SDK or CLI traffic from the cloud to the local endpoint. This allows existing application code and test scripts to function without requiring any structural changes.

8Resource Requirements

Building the emulator from source requires a Rust toolchain, a C compiler, and at least 100 GB of free disk space for the target directory. The workspace architecture uses one crate per service, meaning a full debug build is substantial. Multi-core machines are recommended to accelerate the initial compilation process.

9Tracking Development Gaps

Individual functional gaps are tracked within the repository's issues directory. APIs that are currently unsupported are categorized under 'things-that-do-not-work', while resolved issues are moved to 'things-that-now-work'. This transparent tracking helps developers understand the current limitations and progress of the emulator's support for various AWS service features.

10Optimization for CI

For continuous integration environments, AWS recommends reusing a single CARGO_TARGET_DIR across projects and caching the target directory to speed up builds. Pinning the emulator to a specific release commit is also advised to prevent unnecessary rebuilds during the development process, ensuring that test cycles remain fast and efficient.

11Strategic Intent

The release aims to lower barriers for developers by providing a reliable way to verify code before deployment. By facilitating local testing, AWS intends to improve the developer experience and increase confidence in code quality. This approach ultimately encourages more frequent usage of the cloud by streamlining the pre-deployment development workflow.

Original article: Hacker News (news.ycombinator.com) — AWS Launches Local Emulator for Cloud API Development and Testing