Nach meiner Erfahrung gibt es zwei Ansätze, die Sie hier nehmen könnten.
Erstellen Sie ein AMI aus einer Instanz, die vollständig von ansible bereitgestellt wurde. Dann benutze dieses AMI in deiner Startkonfiguration. Die andere Option besteht darin, eine Bestands-AMI zu verwenden und einen neuen Host bereitzustellen, der von der Autoscaling-Gruppe mit cloud-init gestartet wird.
Der zweite Ansatz fehlt meiner Meinung nach in vielerlei Hinsicht im Vergleich zum ersten Ansatz. Es kann viel länger dauern, um zu skalieren, wenn ansible jedes Mal ausgeführt werden muss. Sie riskieren auch, dass bei der Bereitstellung etwas schief geht, und verhindert, dass die Instanz der Gruppe beitritt, was zu weiteren Verzögerungen führt. Außerdem besteht die Gefahr, dass es zu Abweichungen zwischen den Instanzen kommt (je nachdem, was Sie tun können und ob sich zwischen den Autoscaling-Ereignissen äußere Änderungen ergeben).
Wenn Sie sich entscheiden, ein vollständig bereitgestelltes AMI für Ihre ASG zu erstellen, können Sie dies manuell von einer Instanz tun, die Sie bereits erstellt haben. Wenn Sie jedoch das Bild regelmäßig neu erstellen möchten, sollten Sie sich ein Werkzeug wie packer ansehen, mit dem Sie Bilder auf automatisierte Weise erstellen können.