Wie handhaben Personen, die eine unveränderliche Infrastruktur verwenden, Konfigurationsänderungen zwischen ihren verschiedenen Umgebungen? Ich kann keine gute Möglichkeit finden, ein AMI pro Rolle zu erstellen und es in allen Umgebungen zu verwenden.
Was ich meine, ist, wie ich ein einzelnes AMI erstelle, das ich für Entwicklung, Staging und Produktion einsetzen kann, das aber auf den richtigen ELB usw. für diese Umgebung verweist. Im Moment sind die einzigen Optionen, die mir einfallen, folgende:
- Erstellen Sie ein AMI pro Umgebung und Rolle (Produktionswebserver, Produktions-App-Server, Staging-Webserver usw.). Dies scheint den Zweck von II zunichte zu machen, dasselbe Image in alle Umgebungen zu übertragen.
- Erstellen Sie ein fast vollständiges AMI und nehmen Sie die endgültige Konfiguration nach dem Start, aber vor dem Hinzufügen zum ELB vor. Das scheint nahe genug zu sein, aber ich habe das Gefühl, dass etwas fehlt.
Gibt es für mich eine Möglichkeit, bei der Erstellung eines AMI einen Parametersatz oder etwas anderes an dieses zu übergeben? Wie verwenden andere eine unveränderliche Infrastruktur?
Danke.
Antwort1
BeiKastensicherungWir leben und atmen unveränderliche Infrastruktur. Wir empfehlen eine Kombination der folgenden beiden Ansätze:
- Backen Sie so viele Konfigurationen wie möglich für alle Umgebungen direkt im AMI (und wählen Sie zur Laufzeit automatisch den richtigen Satz aus).
- Übergeben Sie die restlichen Einstellungen als InstanzBenutzerdatenShell-Skript (Cloud-Init), das Umgebungen mit den Werten exportiert, die Sie für diese Maschine/Umgebung benötigen