OPS05-BP03 Einsatz von Systemen zur Konfigurationsverwaltung
Verwenden Sie Systeme zur Konfigurationsverwaltung, um Änderungen vorzunehmen und zu verfolgen. Diese Systeme reduzieren Fehler aufgrund von manuellen Prozessen und verringern den Testaufwand.
Bei der statischen Konfigurationsverwaltung werden Werte festgelegt, wenn eine Ressource initialisiert wird, die erwartungsgemäß während der Lebensdauer der Ressource konsistent bleibt. Bei der dynamischen Konfigurationsverwaltung werden bei der Initialisierung Werte festgelegt, die sich während der Lebensdauer einer Ressource ändern können oder voraussichtlich ändern werden. So können Sie zum Beispiel durch eine Konfigurationsänderung ein Feature in Ihrem Code aktivieren oder während eines Vorfalls den Detaillierungsgrad des Protokolls ändern.
Konfigurationen sollten in einem bekannten und konsistenten Zustand bereitgestellt werden. Sie sollten die automatisierte Inspektion verwenden, um die Ressourcenkonfigurationen in mehreren Umgebungen und Regionen kontinuierlich zu überwachen. Diese Kontrollen sollten als automatisierter Code und automatisierte Verwaltung definiert werden, um sicherzustellen, dass Regeln in allen Umgebungen einheitlich angewendet werden. Änderungen an Konfigurationen sollten im Rahmen vereinbarter Verfahren zur Kontrolle von Änderungen aktualisiert und konsistent angewendet werden, sodass die Versionskontrolle gewahrt bleibt. Die Anwendungskonfiguration sollte unabhängig vom Anwendungs- und Infrastrukturcode verwaltet werden. Dies ermöglicht eine konsistente Bereitstellung in mehreren Umgebungen. Konfigurationsänderungen führen nicht dazu, dass die Anwendung neu erstellt oder bereitgestellt wird.
Gewünschtes Ergebnis: Sie konfigurieren, validieren und implementieren als Teil Ihrer CI/CD-Pipeline (Continuous Integration, Continuous Delivery). Sie überwachen, um zu überprüfen, ob die Konfigurationen korrekt sind. Dadurch werden die Auswirkungen auf Endbenutzer und Kunden minimiert.
Typische Anti-Muster:
-
Sie aktualisieren die Konfigurationen aller Webserver manuell und eine Reihe von Servern reagiert aufgrund von Updatefehlern nicht mehr.
-
Sie aktualisieren Ihre Anwendungsserver mehrere Stunden lang auf manuelle Weise. Die Inkonsistenz der Konfiguration während der Änderung führt zu unerwarteten Verhaltensweisen.
-
Jemand hat Ihre Sicherheitsgruppen aktualisiert und auf Ihre Webserver kann nicht mehr zugegriffen werden. Sie wissen nicht, was geändert wurde, und verbringen viel Zeit mit der Suche nach dem Problem – die Zeit bis zur Wiederherstellung nimmt zu.
-
Sie übertragen eine Vorproduktionskonfiguration ohne Validierung über CI/CD in die Produktion. Sie setzen Benutzer und Kunden falschen Daten und Services aus.
Vorteile der Nutzung dieser bewährten Methode: Die Einführung von Konfigurationsverwaltungssystemen reduziert den Aufwand für die Durchführung und Nachverfolgung von Änderungen sowie die Häufigkeit der durch manuelle Verfahren verursachten Fehler. Konfigurationsverwaltungssysteme liefern Garantien in Bezug auf Governance, Compliance und regulatorische Anforderungen.
Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Mittel
Implementierungsleitfaden
Konfigurationsverwaltungssysteme werden verwendet, um Änderungen an Anwendungs- und Umgebungskonfigurationen zu verfolgen und zu implementieren. Konfigurationsverwaltungssysteme werden auch eingesetzt, um Fehler zu reduzieren, die durch manuelle Prozesse verursacht werden, Konfigurationsänderungen wiederholbar und überprüfbar zu machen und den Aufwand zu reduzieren.
In AWS können Sie Ihre AWS-Ressourcenkonfigurationen mit AWS Config über Konten und Regionen hinweg kontinuierlich überwachen. So können Sie den Konfigurationsverlauf besser verfolgen, nachvollziehen, wie sich eine Konfigurationsänderung auf andere Ressourcen auswirkt, und sie im Hinblick auf die erwarteten oder gewünschten Konfigurationen mithilfe von AWS-Config-Regeln und AWS Config-Konformitätspaketen prüfen.
Für dynamische Konfigurationen in Ihren Anwendungen, die auf Amazon EC2-Instances, AWS Lambda, Containern, mobilen Anwendungen oder IoT-Geräten ausgeführt werden, können Sie AWS AppConfig verwenden, um sie in Ihren Umgebungen zu konfigurieren, zu validieren, bereitzustellen und zu überwachen.
Implementierungsschritte
-
Identifizieren Sie die Verantwortlichen der Konfiguration.
-
Informieren Sie die Verantwortlichen der Konfigurationen über alle Compliance-, Governance- oder regulatorischen Anforderungen.
-
-
Identifizieren Sie Konfigurationselemente und Leistungen.
-
Konfigurationselemente sind alle Anwendungs- und Umgebungskonfigurationen, die von einer Bereitstellung innerhalb Ihrer CI/CD-Pipeline betroffen sind.
-
Zu den Leistungen gehören Erfolgskriterien, Validierung und was überwacht werden muss.
-
-
Wählen Sie Tools für die Konfigurationsverwaltung basierend auf Ihren Geschäftsanforderungen und Ihrer Bereitstellungspipeline aus.
-
Ziehen Sie für signifikante Konfigurationsänderungen gewichtete Bereitstellungen wie Canary-Bereitstellungen in Betracht, um die Auswirkungen falscher Konfigurationen zu minimieren.
-
Integrieren Sie Ihre Konfigurationsverwaltung in Ihre CI/CD-Pipeline.
-
Bestätigen Sie alle übermittelten Änderungen.
Ressourcen
Zugehörige bewährte Methoden:
Zugehörige Dokumente:
Zugehörige Videos: