I'm currently working on migrating my on-premise monitoring setup, which includes UptimeKuma and healthchecks.io, to AWS, but I'm feeling overwhelmed by the options. Here's a breakdown of my current configuration:
- Portainer for container management on a Ubuntu Server VM
- UptimeKuma and healthchecks.io containers
- A Caddy container for reverse proxy and SSL certificates
I want to keep my monitoring services separate from the server, but deciding on the right AWS service is confusing.
I see several options:
- **EC2:** A virtual machine-based solution where I'd need to reinstall Docker and all my containers.
- **ECS:** This seems like a more suitable fit, but I'm unsure about the role of Fargate, which builds on ECS.
- **Lightsail:** This looks like a simplified version of ECS, but I'm not sure if it's appropriate for running containers.
What started as a straightforward task has turned into a couple of days filled with confusion. Can anyone give me some clarity on which AWS service would work best for my setup?
4 Answers
We've had good success running UptimeKuma as a form of external monitoring in a different AWS region. It's simple and runs well on a basic EC2 instance using Docker.
Using EC2 for everything could lead to some pain. The beauty of cloud services is in leveraging native solutions. I personally recommend using CloudTrail, CloudWatch, and EventBridge for monitoring. Just a heads up, I'm not too familiar with UptimeKuma.
The best approach actually depends on the kind of computing resources you need. If you're planning to use something lightweight like Lambda, monitoring needs might differ from using a Kubernetes setup or EC2, which would require a more comprehensive monitoring solution.
For your setup, consider AWS services like AWS Prometheus, Grafana, CloudWatch, X-Ray, and Route53 health checks. However, be cautious as the stack really hinges on the compute power you're utilizing.
Definitely go with Fargate instead of Lightsail. Reserve EC2 for tasks that need privileged access—Fargate is generally easier and requires less management. For all your containers (including monitoring), I suggest running them on Fargate. As for your reverse proxy and SSL, an Application Load Balancer (ALB) combined with AWS Certificate Manager (ACM) would work seamlessly.
Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures