Overview
Charges for this image cover the security hardening, optimization, and pre-integration work Hanwei performs on top of the upstream Rust and CentOS Stream 9 projects. The toolchain is installed during the image build and is on PATH at first boot, while the operating system underneath it is configured to a fixed hardened and tuned baseline and validated on EC2 before publication. A subscriber launches the instance and can compile immediately, with no toolchain installation, no hardening and no kernel tuning work to perform.
What Hanwei Adds to Upstream Rust
- Toolchain installed at build time: rustc and cargo are installed system-wide and present on PATH, removing the download-and-install step that would otherwise run after every launch. The current version ships rustc 1.79.
- Ecosystem tooling and build dependencies preinstalled: clippy and rustfmt are available alongside rustc and cargo, and gcc, pkgconf and the OpenSSL development headers are present so that crates requiring native linkage compile without further setup.
- Applied hardening beyond the distribution default: SSH is limited to modern ciphers, key exchange and MAC algorithms with a reduced authentication attempt limit; auditd is enabled with a base rule set; kernel network parameters reject source-routed and redirected packets and enable SYN cookies; and kernel pointer and dmesg exposure are restricted.
- Tuning baseline applied identically across the catalogue: the per-process file descriptor limit is raised from the distribution default of 1024 to 65536 and the memory-map ceiling from 65530 to 262144; the device receive backlog and the TCP SYN backlog are enlarged so that traffic bursts queue instead of being dropped; socket buffer maxima are raised so the kernel can autotune to larger windows on long-latency paths; TCP connections retain their congestion window across idle periods; and the journal is capped so logs cannot fill the root volume. The profile raises ceilings only and does not alter protocol semantics or application behaviour.
- AWS operational integration: the SSM Agent is installed and enabled, so instances can be reached through Session Manager without an inbound SSH rule and patched through Patch Manager; chrony is pointed at the Amazon Time Sync Service; and the root filesystem extends automatically at boot when the volume is larger than the image default.
- Patch level set at the build date: every package comes from official upstream repositories at the newest patch level published when the image was built, rather than from an older snapshot.
- Repeatable build and EC2 validation: each version is produced by the same build process and is launched and exercised on EC2 before release, so a given version always yields the same system state.
Access and Security Posture
- SELinux runs in enforcing mode and auditd records activity against a base rule set.
- Sign in as 'ec2-user' with the key pair selected at launch, then use 'sudo su -' for a root shell. Session Manager is available as an alternative that needs no inbound port.
- Direct root login over SSH is disabled, password authentication is not accepted, and authentication attempts are capped.
- No authorized keys, default passwords or other credentials are embedded in the image.
Operational Impact on EC2
- Launch-to-first-build time is reduced to a single boot cycle.
- Every instance starts from an identical, documented configuration, removing drift between development, CI and production hosts.
- Network services do not need per-host limit and backlog adjustments before they can handle load.
- Post-launch patching effort is lower because the package set is current as of the release date.
Where This Image Fits
- Build and CI hosts that compile Rust services and binaries.
- Development instances for teams working on Rust codebases.
- Cross-compilation, release-artifact and container build hosts.
- Short-lived instances for benchmarking or dependency auditing.
About Rust and CentOS Stream 9
Rust is a systems programming language that provides memory safety without a garbage collector. Its ownership and borrowing rules are checked at compile time, which removes data races and use-after-free defects from safe code, and its binaries run with no runtime or virtual machine. Cargo, the bundled build tool and package manager, resolves dependencies from the crates.io registry and drives compilation, testing and release builds. It is commonly used for network services, command line tooling and the performance-sensitive parts of larger systems.
CentOS Stream 9 is a Linux distribution that tracks the development stream of Red Hat Enterprise Linux 9. Packages land in CentOS Stream before they appear in a RHEL minor release, so it stays close to the RHEL package set and toolchain while remaining freely redistributable. It uses dnf, systemd and SELinux, which makes it a predictable base for server workloads that need RHEL compatibility.
Highlights
- WHAT IS PACKAGED - rustc, cargo, clippy and rustfmt are installed during the image build and are on PATH at first boot, together with gcc, pkgconf and the OpenSSL development headers that crates requiring native linkage need. The current version ships rustc 1.79, so a launched instance builds a project immediately with no toolchain download or dependency resolution step.
- HOW THE BASELINE IS HARDENED AND TUNED - SSH is limited to modern ciphers, key exchange and MAC algorithms with a capped authentication attempt limit, SELinux is enforcing, auditd runs with a base rule set, and kernel network parameters reject source-routed and redirected packets. The per-process file descriptor limit is raised from 1024 to 65536 and the memory-map ceiling from 65530 to 262144, receive and SYN backlogs are enlarged, and socket buffer maxima allow larger autotuned windows.
- HOW IT FITS AWS OPERATIONS - The SSM Agent is installed and enabled, so instances can be managed through Session Manager and Patch Manager without an inbound SSH rule. chrony is pointed at the Amazon Time Sync Service, the root filesystem extends automatically when the volume exceeds the image default, and cloud-init handles user-data provisioning in launch templates and Auto Scaling groups.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
- ...
Dimension | Cost/hour |
|---|---|
t3.small Recommended | $0.09 |
t3.micro | $0.09 |
t2.micro | $0.09 |
r5a.xlarge | $0.19 |
r6id.12xlarge | $0.69 |
m5n.8xlarge | $0.39 |
p3.16xlarge | $0.99 |
m7i.12xlarge | $0.69 |
t1.micro | $0.09 |
r5.16xlarge | $0.99 |
Vendor refund policy
no refunds
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Updated to the latest
Additional details
Usage instructions
ssh as user 'ec2-user' to the running instance and use sudo to run commands requiring root access.
Use "sudo su - root" to switch to root.
OS: CentOS Stream 9.
Use the command 'rustc --versio' to check the rust version. Rust Version: rustc 1.79.0.
Please allow SSH port 22 to limited IPs for access.
Support
Vendor support
If you encounter problems in the process of using the system, please feel free to contact us by email prosupport@hanweie.com , thank you!
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.