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.
Erstellen Sie Startvorlagen mit AWS CloudFormation
Dieser Abschnitt enthält ein Beispiel für die Erstellung einer EC2 Amazon-Startvorlage mit AWS CloudFormation. Mithilfe von Startvorlagen können Sie Vorlagen für die Konfiguration und Bereitstellung von EC2 Amazon-Instances innerhalb von AWS Vorlagen erstellen. Mit Startvorlagen können Sie Startparameter speichern, sodass Sie sie nicht bei jedem Start einer Instance neu angeben müssen. Weitere Beispiele finden Sie im Abschnitt Beispiele in der AWS::EC2::LaunchTemplate
Ressource.
Weitere Informationen zu Startvorlagen finden Sie unter Starten einer Instance von einer Startvorlage aus.
Informationen zum Erstellen von Startvorlagen für die Verwendung mit Auto Scaling Scaling-Gruppen finden Sie unter Startvorlagen im Amazon EC2 Auto Scaling Scaling-Benutzerhandbuch.
Kategorien von Ausschnitten
Erstellen Sie eine Startvorlage, die Sicherheitsgruppen, Tags, Benutzerdaten und eine IAM Rolle angibt
Dieser Ausschnitt zeigt eine AWS:::EC2: LaunchTemplate Ressource, die die Konfigurationsinformationen zum Starten einer Instance enthält. Sie definieren Werte für die ImageId
-, InstanceType
-, SecurityGroups
-, UserData
- und TagSpecifications
-Eigenschaften. Die SecurityGroups
Eigenschaft gibt eine vorhandene EC2 Sicherheitsgruppe und eine neue Sicherheitsgruppe an. Die Ref
Funktion ruft die ID der AWS:::EC2: SecurityGroup Ressource abmyNewEC2SecurityGroup
, die an anderer Stelle in der Stack-Vorlage deklariert wurde.
Die Einführungsvorlage enthält einen Abschnitt für benutzerdefinierte Benutzerdaten. In diesem Abschnitt können Sie Konfigurations-Aufgaben und Skripts übergeben, die beim Launch einer Instance ausgeführt werden. In diesem Beispiel installieren die Benutzerdaten den AWS Systems Manager Agenten und starten den Agenten.
Die Startvorlage enthält auch eine IAM Rolle, die es Anwendungen, die auf Instances ausgeführt werden, ermöglicht, Aktionen in Ihrem Namen auszuführen. Dieses Beispiel zeigt eine AWS:IAM: :Role-Ressource für die Startvorlage, die die IamInstanceProfile
Eigenschaft verwendet, um die IAM Rolle zu spezifizieren. Die Ref
Funktion ruft den Namen der AWS:::IAM: InstanceProfile Ressource myInstanceProfile
ab. Um die Berechtigungen der IAM Rolle zu konfigurieren, geben Sie einen Wert für die ManagedPolicyArns
Eigenschaft an.
JSON
{ "Resources":{ "myLaunchTemplate":{ "Type":"AWS::EC2::LaunchTemplate", "Properties":{ "LaunchTemplateName":{ "Fn::Sub": "${AWS::StackName}-launch-template" }, "LaunchTemplateData":{ "ImageId":"
ami-02354e95b3example
", "InstanceType":"t3.micro
", "IamInstanceProfile":{ "Name":{ "Ref":"myInstanceProfile" } }, "SecurityGroupIds":[ { "Ref":"myNewEC2SecurityGroup
" }, "sg-083cd3bfb8example
" ], "UserData":{ "Fn::Base64":{ "Fn::Join": [ "", [ "#!/bin/bash\n
", "cd /tmp\n
", "yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm\n
", "systemctl enable amazon-ssm-agent\n
", "systemctl start amazon-ssm-agent\n
" ] ] } }, "TagSpecifications":[ { "ResourceType":"instance", "Tags":[ { "Key":"environment
", "Value":"development
" } ] }, { "ResourceType":"volume", "Tags":[ { "Key":"environment
", "Value":"development
" } ] } ] } } }, "myInstanceRole":{ "Type":"AWS::IAM::Role", "Properties":{ "RoleName":"InstanceRole", "AssumeRolePolicyDocument":{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "ec2.amazonaws.com" ] }, "Action":[ "sts:AssumeRole" ] } ] }, "ManagedPolicyArns":[ "arn:aws:iam::aws:policy/myCustomerManagedPolicy
" ] } }, "myInstanceProfile":{ "Type":"AWS::IAM::InstanceProfile", "Properties":{ "Path":"/", "Roles":[ { "Ref":"myInstanceRole" } ] } } } }
YAML
--- Resources: myLaunchTemplate: Type: AWS::EC2::LaunchTemplate Properties: LaunchTemplateName: !Sub ${AWS::StackName}-launch-template LaunchTemplateData: ImageId:
ami-02354e95b3example
InstanceType:t3.micro
IamInstanceProfile: Name: !Ref myInstanceProfile SecurityGroupIds: - !RefmyNewEC2SecurityGroup
-sg-083cd3bfb8example
UserData: Fn::Base64: !Sub |#!/bin/bash cd /tmp yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm systemctl enable amazon-ssm-agent systemctl start amazon-ssm-agent
TagSpecifications: - ResourceType: instance Tags: - Key:environment
Value:development
- ResourceType: volume Tags: - Key:environment
Value:development
myInstanceRole: Type: AWS::IAM::Role Properties: RoleName: InstanceRole AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: 'Allow' Principal: Service: - 'ec2.amazonaws.com' Action: - 'sts:AssumeRole' ManagedPolicyArns: - 'arn:aws:iam::aws:policy/myCustomerManagedPolicy
' myInstanceProfile: Type: AWS::IAM::InstanceProfile Properties: Path: '/' Roles: - !Ref myInstanceRole