Running a system designed with CloudFormation that experienced a series of unfortunate hardware failures recently. For cost-effectiveness of this not heavily used system, it is backed by only a single instance and does not use a load balancer. I want to add an auto-scaling group to it to make sure that at least no manual intervention is necessary to react to similar faults in the future. However, since the system is publicly accessible the instance needs to have an elastic IP associated, which is where I'm struggling. My idea was that the IP will simply be re-associated to a new instance after it started up. No need to care about user sessions, etc here.
As far as I'm aware it's not possible to configure a single elastic IP to be reused in an auto-scaling group (which I understand, I know that this is a niche use-case). Therefore I ended up trying to re-associate the IP during CloudFormation::Init. Is there a more elegant solution?