AWS CloudFormation - Einführung in DevOps in AWS

AWS CloudFormation

AWS CloudFormation ist ein Service, mit dem Entwickler AWS-Ressourcen geordnet und vorhersehbar erstellen können. Ressourcen werden in Textdateien im JavaScript Object Notation (JSON)- oder Yet Another Markup Language (YAML)-Format geschrieben. Die Vorlagen erfordern abhängig von der Art der Ressourcen, die erstellt und verwaltet werden, eine bestimmte Syntax und Struktur. Sie erstellen Ihre Ressourcen in JSON oder YAML mit einem beliebigen Code-Editor wie AWS Cloud9 und checken sie in ein Versionskontrollsystem ein. CloudFormation erstellt dann die angegebenen Services auf sichere, wiederholbare Weise.

Eine CloudFormation-Vorlage wird in der AWS-Umgebung als Stack bereitgestellt. Sie können Stacks über die AWS-Managementkonsole, AWS Command Line Interface oder AWS-CloudFormation-APIs verwalten. Wenn Sie Änderungen an den ausgeführten Ressourcen in einem Stack vornehmen müssen, aktualisieren Sie den Stack. Bevor Sie Änderungen an Ihren Ressourcen vornehmen, können Sie einen Änderungssatz generieren, der eine Zusammenfassung der von Ihnen vorgeschlagenen Änderungen darstellt. Anhand von Änderungssätzen können Sie sehen, wie sich Ihre Änderungen möglicherweise auf die ausgeführten Ressourcen auswirken, bevor Sie sie implementieren, insbesondere bei kritischen Ressourcen.

Abbildung 1

Abbildung 1: AWS CloudFormation erstellt eine gesamte Umgebung (Stack) aus einem Vorlagen-Workflow

Sie können eine einzelne Vorlage verwenden, um eine gesamte Umgebung zu erstellen und zu aktualisieren, oder separate Vorlagen, um mehrere Ebenen innerhalb einer Umgebung zu verwalten. Auf diese Weise können Vorlagen modularisiert werden und es wird eine Governance-Ebene bereitgestellt, die für viele Organisationen wichtig ist.

Wenn Sie einen Stack in der Konsole erstellen oder aktualisieren, werden Ereignisse angezeigt, die den Status der Konfiguration anzeigen. Tritt ein Fehler auf, wird der Stack standardmäßig auf seinen vorherigen Status zurückgesetzt. Amazon Simple Notification Service (Amazon SNS) stellt Benachrichtigungen zu Ereignissen bereit. Sie können Amazon SNS beispielsweise verwenden, um die Stack-Erstellung und den Fortschritt des Löschvorgangs per E-Mail zu verfolgen und programmgesteuert in andere Prozesse zu integrieren.

AWS CloudFormation erleichtert Ihnen die Organisation und Bereitstellung einer Zusammenstellung von AWS-Ressourcen und ermöglicht Ihnen, Abhängigkeiten zu beschreiben oder besondere Parameter zu übergeben, wenn der Stack konfiguriert wird.

Mit CloudFormation-Vorlagen können Sie mit einer Vielzahl von AWS-Services wie Amazon S3, Auto Scaling, Amazon CloudFront, Amazon DynamoDB, Amazon EC2, Amazon ElastiCache, AWS Elastic Beanstalk, Elastic Load Balancing, IAM, AWS OpsWorks und Amazon VPC arbeiten. Die aktuelle Liste der unterstützten Ressourcen finden Sie unter AWS-Ressourcen- und Eigenschaftstypen – Referenz.