I'll be writing more articles here shortly, but in the meantime you might like to read through this article I wrote for the CirrusHQ engineering blog covering EC2 Image Builder.
The title is a bit of a mouthful, but the solution is a fantastic starting point for full automation of a deployment pipeline. EC2 Image Builder as part of a CodePipeline and combined with other components such as Lambda is great for building out a deployment pipeline (full CI/CD as well if required) so you can, for example, commit to a GitHub repository, that then kicks off a process that ends up with you having a Golden Amazon Machine Image that contains:
- The Latest Amazon Base Image
- O/S Level Updates
- Package Updates
- Hardening Scripts
- Your software installed
- Integration Tests
- Functional Tests
You can then use that AMI as the start of other processes. Such as spinning up a test Auto Scaling Group with the new AMI and notifying your testers that a new version is up and running, ready for UAT.
There are a lot of possibilities with EC2 Image Builder once you combine it with other AWS tools, if you use EC2 or ECS image based workflows.