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 Amazon EC2 EC2-Startvorlage mit AWS CloudFormation. Mithilfe von Startvorlagen können Sie Vorlagen für die Konfiguration und Bereitstellung von Amazon EC2 EC2-Instances innerhalb von Vorlagen erstellen. AWS 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::LaunchTemplateRessource, 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::SecurityGroupRessource abmyNewEC2SecurityGroup
, die an anderer Stelle in der Stack-Vorlage deklariert ist.
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::RoleRessource für die Startvorlage, die die IamInstanceProfile
Eigenschaft verwendet, um die IAM-Rolle zu spezifizieren. Die Ref-Funktion ruft den Namen der AWS::IAM::InstanceProfileRessource 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