Spent today trying to get a custom Windows-based AMI instance to work within AWS OpsWorks. Here are the steps that worked for me:
- Launch new Windows 2012 R2-based instance (in our case it was the MS 2012 R2 w/ SQL Server 2014 Web AMI)
- Log into new instance and run EC2ConfigService Settings
- Navigate to “Image” tab
- Choose “Random” under “Administrator Password”
- Click “Shutdown with Sysprep”
- Wait for instance to shutdown and then create AMI from it (Right-click->Image->Create Image in the EC2 Instances Console)
- Create a new OpsWorks stack (choosing “Microsoft Windows Server 2012 R2 Base” or “Use custom Windows AMI” for the “Default operating system”)
- Create a new layer in your stack
- Add a new instance to your layer (choosing the AMI you created in Step 6 under Advanced -> Operating system)
- Start your new instance
- Wait to see instance status change from “booting” to “running_setup” (may take quite some time, 20+ minutes)
Hope this helps someone else. The part I was missing originally was steps 2-5 which resulted in the OpsWorks instance starting but failing to configure and remaining in the “booting…” state.