Hey everyone! I'm currently using Packer to create AMI images, but the process takes around 20-25 minutes, and I'm wondering if there are any faster alternatives available. I have the following configuration: ssh_interface = "session_manager". Any insights would be appreciated! Thanks!
6 Answers
You might want to consider scripting your process and using user data for the EC2 instance. It may not be significantly faster, but I find Packer performs reasonably well overall. Definitely worth a shot!
As others have pointed out, AWS Image Builder is a viable alternative. I've been using it, and while it’s functional, it’s not exactly speedy. The build time can vary—having a robust instance type during the build greatly helps. Personally, I don’t stress about the duration; I just kick off my Image Builder tasks whenever AWS drops a new base image and get notified once it's done!
It really depends on your specific needs and the reason for the delays. Have you tried using EC2 Image Builder? It could be a good alternative for your case!
I switched from Packer to EC2 Image Builder, and if multi-cloud support isn't necessary for you, it's a solid choice.
I haven't given EC2 Image Builder a shot yet, but I’m curious too! Not sure what’s slowing things down either, since this is my first time baking.
Great question! You did a fantastic job of outlining your current setup and the hurdles you're facing. I expect you’ll get loads of helpful tips!
Are you utilizing EBS or chroot in your setup?
I'm using EBS. Does that make a difference?
I'd take a step back and really assess why you’re using Packer for AMI creation in the first place. We actually moved away from it entirely—it might not be necessary in your scenario either. That said, it’s definitely situational!
It's the only tool I know of! I just figured out I could use EC2 Image Builder too. I'm still figuring out how to integrate it into our CI/CD pipeline. I updated my post with more details and wondered if the ssh_interface setting affects speed. I'll try a direct connection soon.

That's the method I prefer! I keep it simple with a user data script in my Terraform playbook, which lets me run an Ansible playbook right after the instance is up.