This is a repackaged open source software product wherein additional charges apply for security hardening, optimization, and pre-integration of the Tomcat 9 and MySQL 8.4 stack provided by Hanwei. Both components are service-enabled at build time, on a base running SELinux enforcing with root login locked and key-only SSH access.
Charges for this image cover the security hardening, optimization, and pre-integration work Hanwei performs on top of the upstream Tomcat 9 and MySQL 8.4 and CentOS Stream 9 projects. Two components start with the instance: Tomcat 9 as the servlet container and MySQL 8.4 LTS with its data directory initialized, so a war file and its database are both ready after one boot. This version supersedes the earlier MySQL 5.7 pairing. The operating system underneath carries the same hardened and tuned baseline used across this catalogue.
What Hanwei Adds to Upstream Tomcat 9 and MySQL 8.4
Component sources: Tomcat 9 from the distribution repository, MySQL 8.4 LTS from the vendor repository with its data directory initialized. Both services are enabled.
Database version advanced: the previous image carried MySQL 5.7; this one moves to the 8.4 long-term support series.
Transparent huge pages disabled at boot: a oneshot unit sets them to never before the database starts, following the vendor's guidance. This is not the distribution default, where the tuned virtual-guest profile leaves them enabled.
TLS material generated per instance, not baked into the image: the MySQL certificate, CA and RSA key pair are removed before sealing and regenerated on first boot, so no two subscribers share a private key.
Tuning baseline applied identically across the catalogue: the file descriptor limit goes from 1024 to 65536 and the memory-map ceiling from 65530 to 262144; the device receive backlog goes from 1000 to 16384 and the TCP SYN backlog from 128 to 8192, so bursts queue instead of being dropped; socket buffer maxima reach 16 MB for larger autotuned windows; connections keep their congestion window across idle periods; and the journal is capped at 500 MB. The profile raises ceilings only and does not alter protocol semantics or application behaviour.
Applied hardening beyond the distribution default: SSH is limited to a vetted cipher, key exchange and MAC list, X11 forwarding is off, the login grace period is shortened and verbose authentication logging is on; auditd runs a base rule set for privileged command execution; the kernel drops ICMP redirects on IPv4 and IPv6, logs martian packets, filters reverse paths in loose mode, restricts dmesg, disables setuid core dumps and turns off sysrq.
AWS operational integration: the SSM Agent is installed and enabled for Session Manager and Patch Manager without an inbound SSH rule; chrony points at the Amazon Time Sync Service; and the root filesystem extends at boot when the volume exceeds the image default.
Patch level and repeatable build: packages come from official upstream repositories at the newest level published when the image was built, and each version is launched and exercised on EC2 before release.
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 and password authentication is not accepted.
No authorized keys and no SSH private keys are embedded in the image.
Operational Impact on EC2
Launch-to-serving time is reduced to a single boot cycle for both components.
Every instance starts from an identical configuration, removing drift between development, staging and production hosts.
Network services need no per-host limit or backlog adjustment before handling load.
Clock accuracy comes from the Amazon Time Sync Service, which matters for log correlation and request signing.
Where This Image Fits
Java web applications needing a servlet container and a database on one host.
Migration target for deployments still pairing Tomcat with MySQL 5.7.
Development and demonstration environments reproducible from an image.
Small production workloads where a single host is a deliberate cost decision.
About Tomcat 9 and MySQL 8.4 and CentOS Stream 9
Apache Tomcat is a servlet container implementing the Java Servlet, JSP and WebSocket specifications. Version 9 implements Servlet 4.0 under the javax.* namespace, which is what the large body of existing Java web applications is compiled against, so a war file built for a Servlet 4.0 container deploys here without source changes. MySQL 8.4 LTS provides the relational store, with the InnoDB engine and JSON document support, supported to 2032.
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 - This image provides Tomcat 9 and MySQL 8.4 LTS both service-enabled at build time, advancing from the previous MySQL 5.7 pairing, with transparent huge pages disabled and per-instance MySQL TLS material generated on first boot.
HOW THE BASELINE IS HARDENED AND TUNED - SELinux enforcing, root login locked and SSH limited to key-based authentication with a vetted cipher, key exchange and MAC list. auditd runs a base rule set for privileged commands. The kernel drops ICMP redirects, logs martian packets and restricts dmesg. The file descriptor limit goes from 1024 to 65536 and the memory-map ceiling from 65530 to 262144; receive and SYN backlogs are enlarged and socket buffers reach 16 MB.
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.
AWS Marketplace now accepts line of credit payments through the PNC Vendor Finance program. This program is available to select AWS customers in the US, excluding NV, NC, ND, TN, & VT.
Pricing is based on actual usage, with charges varying according to how much you consume. Subscriptions have no end date and may be canceled any time. Alternatively, you can pay upfront for a contract, which typically covers your anticipated usage for the contract duration. Any usage beyond contract will incur additional usage-based costs.
Additional AWS infrastructure costs may apply. Use the AWS Pricing Calculator to estimate your infrastructure costs.
If you are an AWS Free Tier customer with a free plan, you are eligible to subscribe to this offer. You can use free credits to cover the cost of eligible AWS infrastructure. See AWS Free Tier for more details. If you created an AWS account before July 15th, 2025, and qualify for the Legacy AWS Free Tier, Amazon EC2 charges for Micro instances are free for up to 750 hours per month. See Legacy AWS Free Tier for more details.
You pay by the hour based on the AWS EC2 instance type you run. Each dimension maps to a specific instance size, so pricing scales with the compute, memory, and storage capacity of the instance you choose. Smaller instances like t2 and t3 sizes cost less per hour, while larger compute, memory, and storage-optimized instances such as metal and 24xlarge sizes cost more. You select the instance that fits your workload, and billing accrues only for the hours the software runs. The application is self-contained and bundles the required libraries, databases, and runtimes.
Top-of-mind questions for buyers
What does one billed unit represent for each dimension?
Each dimension maps to one running AWS EC2 instance of a specific type, billed per hour. One unit equals one hour that a single instance runs. Running two instances of the same type doubles the hourly charge. The instance size sets the compute, memory, and storage you receive.
Am I charged when my instance is stopped or paused?
The software charge meters running hours only. When you stop an instance, the hourly software charge stops accruing. Stopped instances may still incur separate AWS storage fees for attached volumes, but those are AWS infrastructure costs, not the software license charge.
Does the hourly price change if I switch to a larger instance type?
Yes. Each instance type has its own hourly rate. Moving to an instance with more compute, memory, or storage changes your dimension and the hourly charge that applies. You pay the rate tied to whichever instance type you run, with no upfront commitment.
www.proimage.cloud
Helpful?
Vendor refund policy
Contact the Hanwei for a Refund
How can we make this page better?
Tell us how we can improve this page, or report an issue with this product.
Give us feedbackReport a problem with this product or seller
Legal
Vendor terms and conditions
Upon subscribing to this product, you must acknowledge and agree to the terms and conditions outlined in the vendor's End User License Agreement (EULA).
Content disclaimer
Vendors are responsible for their product descriptions and other product content. AWS does not warrant that vendors' product descriptions or other product content are accurate, complete, reliable, current, or error-free.
Tomcat-9 and MySQL-8.4 on CentOS Stream 9 - latest
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
Update to latest
Additional details
Usage instructions
How To Use
Connection Methods: SSH as user 'ec2-user' to the running instance and use sudo to run commands requiring root access.
Tomcat Service Management: To start/stop/status Service: sudo systemctl start/stop/status tomcat
Tomcat Port: 8080 this is by default not allowed on cloud firewall for security.
MySQL:
MySQL Version: 8.4.11 MySQL Community Server
Installation Information: The MySQL installation user in the system: mysql
MySQL data directory: /var/lib/mysql
MySQL configuration file directory: /etc/my.cnf
MySQL Port: 3306
Local login method: mysql -uroot -p
To view the initial MySQL root user password, you can check the file located at '/root/mysql-password'. Use the command 'sudo cat /root/mysql-password' to view the initial password for the MySQL root user.
Service Management:
To start/stop/status MySQL Service: sudo systemctl start/stop/status mysqld
Please allow SSH port 22, MySQL Port 3306 and Tomcat port 8080 to limited IPs for access.
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.
This is a repackaged open source software product wherein additional charges apply for security hardening, optimization, and pre-integration of the MySQL 8.4 stack provided by Hanwei. MySQL 8.4 is initialized at build time and starts with the instance, on a base running SELinux enforcing with root login locked and key-only SSH access.
This is a repackaged open source software product wherein additional charges apply for security hardening, optimization, and pre-integration of the Node.js, Nginx and MySQL 8.4 stack provided by Hanwei. All three components are service-enabled at build time, on a base running SELinux enforcing with root login locked and key-only SSH access.
This is a repackaged open source software product wherein additional charges apply for security hardening, optimization, and pre-integration of the Tomcat 9 stack provided by Hanwei. Tomcat 9 is installed and service-enabled at build time, on a base running SELinux enforcing with root login locked and key-only SSH access.
This is a repackaged open source software product wherein additional charges apply for security hardening, optimization, and pre-integration of the MySQL 8.0 stack provided by Hanwei. MySQL 8.0 is initialized at build time and starts with the instance, on a base running SELinux enforcing with root login locked and key-only SSH access.
Be the first to review this product. We've partnered with PeerSpot to gather customer feedback. You can share your experience by writing or recording a review, or scheduling a call with a PeerSpot analyst.