Hey everyone! I'm looking for some advice on managing patches across our 70 AWS accounts, each belonging to a different client, with around 50 EC2 instances per account. We currently have a Maintenance Window for each account, but the execution times differ by client. I'm trying to figure out a scalable way to automate and centralize our patching schedules.
Here's what I'm thinking:
1. Set up a central config file (like CSV or a database) containing details like the AWS Account ID, Region, Maintenance Window Name, Patch Time (using a CRON expression), and any other metadata.
2. Write a script or create an automation pipeline to read from the config, use CloudFormation StackSets to manage deployments across accounts, and update Maintenance Windows without having to delete and recreate them.
I want to make sure that we can manage the patching with minimal effort, enabling quick updates when clients request changes, and avoid the hassle of logging into each account manually. Any suggestions or alternative methods would be really helpful. Thanks in advance!
5 Answers
You should definitely check out AWS’s Managed Service patch maintenance workshop. It could provide you with some solid insights into your patch management process. Also, managing your SSM configs using GitHub for version control could streamline updates significantly.
Consider exploring tools like Ansible or Puppet. They might have the automated patch management solutions you're looking for, especially in a multi-account setup!
A good approach would be to pick one of your accounts as the main patching account. Create an Infrastructure as Code (IaC) template that defines an IAM role for patching. Clients can tag which instances they want updated, and you could have a Lambda set up to check these tags and manage the patching for you. You might also look into AWS’s multi-account automation feature for broader management.
You can mix Tags with EventBridge, SSM Patch Manager, and Lambda to create a powerful patching strategy. This combination lets you automate many tasks related to scheduled patching duties. Just make sure you handle the OS and application-specific patching outside of AWS, it's quite independent!
Have you considered using AWS Systems Manager (SSM) for this task? It’s tailored for fleet management and patching, and it's got a ton of features that can simplify the process for you! Check out the docs if you haven't yet!

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