- Newest
- Most votes
- Most comments
I would recommend you consider auto scaling EC2 instances. You can setup a minimum and maximum group size and your service wouldn't be disrupted when you need to scale up or down. It would also provide more fault tolerance when you spread the group over 2-3 availability zones. This also allows you to define your scale up and down criteria and pay only for the compute that you need.
https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html
EC2 instances can be resized, but you will need to stop the instance (shut it down, not terminate), then reconfigure it to the new size, then start it again. If you want to perform this automatically in response to CloudWatch metrics or other events, then there's a Systems Manager Runbook which can do it for you.
The documentation is here: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html and I'd recommend reviewing the "Considerations" section carefully to see if anything there will apply to you.
You could also consider using a burstable performance instance - T instances. The T instance family provides a baseline CPU performance with the ability to burst above the baseline at any time for as long as required. You can read more in the EC2 User Guide at this link: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/burstable-performance-instances.html
Relevant content
- asked 2 months ago
- asked 10 months ago
- asked 10 months ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 10 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 3 years ago