AWS CloudFormation Konzepte - AWS CloudFormation

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.

AWS CloudFormation Konzepte

Wenn Sie es verwenden AWS CloudFormation, arbeiten Sie mit Vorlagen und Stacks. Sie erstellen Vorlagen, um Ihre AWS Ressourcen und ihre Eigenschaften zu beschreiben. Jedes Mal, wenn Sie einen Stapel erstellen CloudFormation , werden die Ressourcen bereitgestellt, die in Ihrer Vorlage beschrieben sind.

Vorlagen

Eine CloudFormation Vorlage ist eine Textdatei im JSON- oder YAML-Format. Sie können diese Dateien mit einer beliebigen Erweiterung speichern, z. B..json, .yaml.template, oder. .txt CloudFormation verwendet diese Vorlagen als Vorlagen für den Aufbau Ihrer AWS Ressourcen. In einer Vorlage können Sie beispielsweise eine Amazon EC2-Instance erstellen, z. B. den Instance-Typ, die AMI-ID, die Blockgerät-Zuweisungen und den Namen des Amazon EC2-Schlüsselpaars. Immer wenn Sie einen Stapel erstellen, geben Sie auch eine Vorlage an, CloudFormation mit der alles erstellt wird, was Sie in der Vorlage beschrieben haben.

Wenn Sie beispielsweise einen Stack mit der folgenden Vorlage erstellt haben, CloudFormation wird eine Instance mit einer ami-0ff8a91507f77f867 AMI-ID, einem t2.micro Instance-Typ, einem testkey Schlüsselpaarnamen und einem Amazon EBS-Volume bereitgestellt.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "A sample template", "Resources": { "MyEC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0ff8a91507f77f867", "InstanceType": "t2.micro", "KeyName": "testkey", "BlockDeviceMappings": [ { "DeviceName": "/dev/sdm", "Ebs": { "VolumeType": "io1", "Iops": 200, "DeleteOnTermination": false, "VolumeSize": 20 } } ] } } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Description: A sample template Resources: MyEC2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-0ff8a91507f77f867 InstanceType: t2.micro KeyName: testkey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20

Sie können auch mehrere Ressourcen in einer einzigen Vorlage angeben und diese Ressourcen so konfigurieren, dass sie zusammenarbeiten. Sie können beispielsweise die vorherige Vorlage so ändern, dass sie eine Elastic IP-Adresse (EIP) enthält und diese der Amazon-EC2-Instance zuordnen, wie im folgenden Beispiel dargestellt:

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "A sample template", "Resources": { "MyEC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0ff8a91507f77f867", "InstanceType": "t2.micro", "KeyName": "testkey", "BlockDeviceMappings": [ { "DeviceName": "/dev/sdm", "Ebs": { "VolumeType": "io1", "Iops": 200, "DeleteOnTermination": false, "VolumeSize": 20 } } ] } }, "MyEIP": { "Type": "AWS::EC2::EIP", "Properties": { "InstanceId": { "Ref": "MyEC2Instance" } } } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Description: A sample template Resources: MyEC2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-0ff8a91507f77f867 InstanceType: t2.micro KeyName: testkey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20 MyEIP: Type: 'AWS::EC2::EIP' Properties: InstanceId: !Ref MyEC2Instance

Die vorherigen Vorlagen konzentrieren sich auf eine einzelne Amazon EC2 EC2-Instance. CloudFormation Vorlagen verfügen jedoch über zusätzliche Funktionen, mit denen Sie komplexe Ressourcensätze erstellen und diese Vorlagen in mehreren Kontexten wiederverwenden können. Sie können beispielsweise Eingabeparameter hinzufügen, deren Werte bei der Erstellung eines CloudFormation Stacks angegeben werden. Mit anderen Worten: Sie können einen Wert wie den Instance-Typ beim Erstellen eines Stacks und nicht beim Erstellen der Vorlage angeben, sodass die Vorlage in anderen Situationen einfacher wiederverwendet werden kann.

Weitere Informationen zum Erstellen von Vorlagen und zu Funktionen finden Sie unter Aufbau einer Vorlage.

Weitere Informationen zum Deklarieren von bestimmten Ressourcen finden Sie unter AWS Referenz zu Ressourcen- und Eigenschaftstypen.

Um mit dem Entwerfen eigener Vorlagen mit AWS CloudFormation Designer zu beginnen, gehen Sie zu https://console.aws.amazon.com/cloudformation/designer.

Stacks

Wenn Sie es verwenden CloudFormation, verwalten Sie zugehörige Ressourcen als eine einzige Einheit, die als Stapel bezeichnet wird. Sie können eine Sammlung von Ressourcen durch Erstellen, Aktualisieren und Löschen von Stacks erstellen und löschen. Alle Ressourcen in einem Stapel werden durch die CloudFormation Vorlage des Stacks definiert. Angenommen, Sie erstellen eine Vorlage, die eine Auto-Scaling-Gruppe, einen Elastic Load Balancing Load Balancer und eine Amazon Relational Database Service (Amazon RDS)-Datenbank-Instance enthält. Um diese Ressourcen zu erstellen, erstellen Sie einen Stapel, indem Sie die von Ihnen erstellte Vorlage einreichen CloudFormation und all diese Ressourcen für Sie bereitstellen. Sie können mit Stacks arbeiten, indem Sie die CloudFormation Konsole, die API oder AWS CLIverwenden.

Weitere Informationen zum Erstellen, Aktualisieren oder Löschen von Stacks, finden Sie unter Arbeiten mit -Stacks.

Änderungssätze

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, eine Zusammenfassung der von Ihnen vorgeschlagenen Änderungen. 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.

Wenn Sie beispielsweise den Namen einer Amazon RDS-Datenbank-Instance ändern, CloudFormation wird eine neue Datenbank erstellt und die alte gelöscht. Sofern Sie die Daten in der alten Datenbank nicht gesichert haben, gehen diese verloren. Wenn Sie einen Änderungssatz generieren, sehen Sie, dass die Änderung dazu führt, dass die Datenbank ersetzt wird. So können Sie entsprechend planen, bevor Sie den Stack aktualisieren. Weitere Informationen finden Sie unter Aktualisieren von Stacks mithilfe von Änderungssätzen.