Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
REL07-BP01 Automatisiertes Abrufen oder Skalieren von Ressourcen
Ein Eckpfeiler der Zuverlässigkeit in der Cloud ist die programmatische Definition, Bereitstellung und Verwaltung Ihrer Infrastruktur und Ihrer Ressourcen. Die Automatisierung hilft Ihnen dabei, die Ressourcenbereitstellung zu optimieren, konsistente und sichere Bereitstellungen zu ermöglichen und Ressourcen in Ihrer gesamten Infrastruktur zu skalieren.
Gewünschtes Ergebnis: Sie verwalten Ihre Infrastructure as Code (IaC). Sie definieren und verwalten Ihren Infrastrukturcode in Versionsverwaltungssystemen (VCS, Version Control Systems). Sie delegieren die Bereitstellung von AWS-Ressourcen an automatisierte Mechanismen und nutzen verwaltete Services wie Application Load Balancer (ALB), Network Load Balancer (NLB) und Auto-Scaling-Gruppen. Sie stellen Ihre Ressourcen mithilfe von CI/CD-Pipelines (Continuous Integration/Continuous Delivery) bereit, sodass Codeänderungen automatisch Ressourcenaktualisierungen einleiten, einschließlich Aktualisierungen Ihrer Auto-Scaling-Konfigurationen.
Typische Anti-Muster:
-
Sie stellen Ressourcen manuell über die Befehlszeile oder in der AWS Management Console bereit (auch als ClickOps bezeichnet).
-
Sie koppeln Ihre Anwendungskomponenten oder Ressourcen eng miteinander und schaffen dadurch unflexible Architekturen.
-
Sie implementieren starre Skalierungsrichtlinien, die sich nicht an geänderte Geschäftsanforderungen, Datenverkehrsmuster oder neue Ressourcentypen anpassen.
-
Sie schätzen die Kapazität manuell ein, um den erwarteten Bedarf zu decken.
Vorteile der Einführung dieser bewährten Methode: Mit Infrastructure as Code (IaC) kann Infrastruktur programmgesteuert definiert werden. Auf diese Weise können Sie Infrastrukturänderungen über denselben Softwareentwicklungszyklus verwalten wie Anwendungsänderungen. Dies fördert die Konsistenz und Wiederholbarkeit und verringert das Risiko manueller, fehleranfälliger Aufgaben. Sie können den Prozess der Bereitstellung und Aktualisierung von Ressourcen weiter optimieren, indem Sie IaC mit automatisierten Bereitstellungspipelines implementieren. Sie können Infrastrukturupdates zuverlässig und effizient bereitstellen, ohne dass manuelle Eingriffe erforderlich sind. Diese Flexibilität ist besonders wichtig, wenn Ressourcen skaliert werden, um schwankenden Anforderungen gerecht zu werden.
In Verbindung mit IaC und Bereitstellungspipelines können Sie eine dynamische, automatisierte Ressourcenskalierung erreichen. Durch die Überwachung wichtiger Metriken und die Anwendung vordefinierter Skalierungsrichtlinien kann Auto Scaling Ressourcen nach Bedarf automatisch bereitstellen oder die Bereitstellung aufheben, was die Leistung und Kosteneffizienz verbessert. Dadurch wird das Risiko manueller Fehler oder Verzögerungen bei der Reaktion auf Änderungen der Anwendungs- oder Workload-Anforderungen reduziert.
Die Kombination aus IaC, automatisierten Bereitstellungspipelines und Auto Scaling hilft Unternehmen dabei, ihre Umgebungen zuverlässig bereitzustellen, zu aktualisieren und zu skalieren. Diese Automatisierung ist für die Aufrechterhaltung einer reaktionsschnellen, belastbaren und effizient verwalteten Cloud-Infrastruktur unerlässlich.
Risikostufe bei fehlender Befolgung dieser bewährten Methode: Hoch
Implementierungsleitfaden
Um die Automatisierung mit CI/CD-Pipelines und Infrastructure as Code (IaC) für Ihre AWS-Architektur einzurichten, wählen Sie ein Versionskontrollsystem wie Git, um Ihre IaC-Vorlagen und die Konfiguration zu speichern. Diese Vorlagen können mit Tools wie AWS CloudFormation
Integrieren Sie dann diese IaC-Vorlagen in eine CI/CD-Pipeline, um den Bereitstellungsprozess zu automatisieren. AWS CodePipeline
Konfigurieren Sie Auto Scaling für Ressourcen wie Amazon-EC2-Instances, Amazon-ECS-Aufgaben und Datenbankreplikate in Ihrer IaC, um bei Bedarf ein automatisches Aufskalieren und Abskalieren zu ermöglichen. Auf diese Weise verbessert sich die Verfügbarkeit und Leistung der Anwendungen und die Kosten werden optimiert, da die Ressourcen dynamisch an den Bedarf angepasst werden. Eine Liste der unterstützten Ressourcen finden Sie unter Amazon EC2 Auto Scaling und AWS Auto Scaling.
Implementierungsschritte
-
Erstellen und verwenden Sie ein Quellcode-Repository, um den Code zu speichern, der Ihre Infrastrukturkonfiguration steuert. Übernehmen Sie die Änderungen in dieses Repository, um alle laufenden Änderungen widerzuspiegeln, die Sie vornehmen möchten.
-
Wählen Sie eine Infrastructure-as-Code-Lösung wie AWS CloudFormation, um Ihre Infrastruktur auf dem neuesten Stand zu halten und Abweichungen (Drift) gegenüber dem geplanten Zustand zu erkennen.
-
Integrieren Sie Ihre IaC-Plattform mit Ihrer CI/CD-Pipeline, um Bereitstellungen zu automatisieren.
-
Ermitteln und erfassen Sie die geeigneten Metriken für eine automatische Skalierung von Ressourcen.
-
Konfigurieren Sie die automatische Skalierung von Ressourcen mithilfe von Richtlinien für das Auf- und Abskalieren, die für Ihre Workload-Komponenten geeignet sind. Erwägen Sie die Verwendung einer geplanten Skalierung bei vorhersehbaren Nutzungsmustern.
-
Überwachen Sie Bereitstellungen, um Fehler und Regressionen zu erkennen. Implementieren Sie Rollback-Mechanismen innerhalb Ihrer CI/CD-Plattform, um Änderungen bei Bedarf rückgängig zu machen.
Ressourcen
Zugehörige Dokumente:
Zugehörige Videos:
-
Zurück zu den Grundlagen: Stellen Sie Ihren Code in Amazon EC2 bereit
-
Optimieren des Prozesses zur Software-Veröffentlichung mit AWS CodePipeline
-
Überwachen von AWS-Ressourcen mithilfe von Amazon-CloudWatch-Dashboards
-
Erstellen von konto- und regionsübergreifenden CloudWatch-Dashboards | Amazon Web Services