Follow-up to #98 (warm AMI baked into spawn image import).
#98 ships a non-generalized warm AMI: it images a fully-booted seed, so every
instance launched from it shares the seed's machine SID. That's correct for
spawn's ephemeral single-instance model and was verified to boot fast (SSM-ready
~4 min vs ~28 min cold).
For fleet/multi-instance or domain-join scenarios that need unique SIDs, add an
optional --generalize: before imaging the seed, run EC2Launch/Sysprep
generalize (e.g. via SSM RunCommand: the EC2Launch v2 sysprep task, or
C:\ProgramData\Amazon\EC2Launch\settings\... ; ec2launch sysprep), let it
shut down, then image. The generalized warm AMI re-specializes on launch (still
far faster than the raw import, just not as instant as non-generalized).
Considerations:
- Sysprep generalize on Win11 client has limits (e.g. provisioned appx packages
can fail it); needs testing.
- Must handle the seed shutting itself down (image a stopped instance) vs the
current running-image flow.
- Keep non-generalized the default.
Refs #98.
Follow-up to #98 (warm AMI baked into
spawn image import).#98 ships a non-generalized warm AMI: it images a fully-booted seed, so every
instance launched from it shares the seed's machine SID. That's correct for
spawn's ephemeral single-instance model and was verified to boot fast (SSM-ready
~4 min vs ~28 min cold).
For fleet/multi-instance or domain-join scenarios that need unique SIDs, add an
optional
--generalize: before imaging the seed, run EC2Launch/Sysprepgeneralize (e.g. via SSM RunCommand: the EC2Launch v2
syspreptask, orC:\ProgramData\Amazon\EC2Launch\settings\... ; ec2launch sysprep), let itshut down, then image. The generalized warm AMI re-specializes on launch (still
far faster than the raw import, just not as instant as non-generalized).
Considerations:
can fail it); needs testing.
current running-image flow.
Refs #98.