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.
Beispiele für die Erstellung und Verwaltung von Startvorlagen mit dem AWS CLI
Sie können Startvorlagen mithilfe von AWS Management Console, AWS Command Line Interface (AWS CLI) oder erstellen und verwaltenSDKs. In diesem Abschnitt finden Sie Beispiele für die Erstellung und Verwaltung von Startvorlagen für Amazon EC2 Auto Scaling aus dem AWS CLI.
Inhalt
- Beispielverwendung
- Erstellen einer grundlegenden Startvorlage
- Angeben von Tags, die Instances beim Start kennzeichnen
- Geben Sie eine IAM Rolle an, die an Instanzen übergeben werden soll
- Zuweisen einer öffentlichen IP-Adresse
- Angeben eines Benutzerdatenskripts, das Instances beim Start konfiguriert
- Angeben einer Blockgerät-Zuweisung für ein AMI
- Festlegen von Dedicated Hosts zur Bereitstellung von Softwarelizenzen externer Anbieter
- Angeben einer vorhandenen Netzwerkschnittstelle
- Erstellen mehrerer Netzwerkschnittstellen
- Verwalten Ihrer Startvorlagen
- Aktualisieren einer Auto-Scaling-Gruppe zum Verwenden einer Startvorlage
Beispielverwendung
{ "LaunchTemplateName": "my-template-for-auto-scaling", "VersionDescription": "test description", "LaunchTemplateData": { "ImageId": "ami-04d5cc9b88example", "InstanceType": "t2.micro", "SecurityGroupIds": [ "sg-903004f88example" ], "KeyName": "MyKeyPair", "Monitoring": { "Enabled": true }, "Placement": { "Tenancy": "dedicated" }, "CreditSpecification": { "CpuCredits": "unlimited" }, "MetadataOptions": { "HttpTokens": "required", "HttpPutResponseHopLimit": 1, "HttpEndpoint": "enabled" } } }
Erstellen einer grundlegenden Startvorlage
Um eine grundlegende Startvorlage zu erstellen, verwenden Sie den create-launch-templateBefehl wie folgt mit den folgenden Änderungen:
-
ami-04d5cc9b88example
Ersetzen Sie es durch die ID der Datei, AMI von der aus die Instances gestartet werden sollen. -
t2.micro
Ersetzen Sie durch einen Instance-Typ, der mit dem von AMI Ihnen angegebenen kompatibel ist.
In diesem Beispiel wird eine Startvorlage mit dem Namen erstellt my-template-for-auto-scaling
. Wenn die mit dieser Startvorlage erstellten Instances standardmäßig gestartet werdenVPC, erhalten sie standardmäßig eine öffentliche IP-Adresse. Wenn die Instances nicht standardmäßig gestartet werdenVPC, erhalten sie standardmäßig keine öffentliche IP-Adresse.
aws ec2 create-launch-template --launch-template-name
my-template-for-auto-scaling
--version-descriptionversion1
\ --launch-template-data '{"ImageId":"ami-04d5cc9b88example
","InstanceType":"t2.micro
"}'
Weitere Informationen zur Angabe von Parametern in JSON Anführungszeichen finden Sie unter Verwenden von Anführungszeichen bei Zeichenfolgen im AWS CLI im Benutzerhandbuch.AWS Command Line Interface
Alternativ können Sie die JSON -formatierten Parameter in einer Konfigurationsdatei angeben.
Im folgenden Beispiel wird eine einfache Startvorlage erstellt, die auf eine Konfigurationsdatei für Startvorlagenparameterwerte verweist.
aws ec2 create-launch-template --launch-template-name
my-template-for-auto-scaling
--version-descriptionversion1
\ --launch-template-data file://config.json
Inhalt von config.json
:
{ "ImageId":"
ami-04d5cc9b88example
", "InstanceType":"t2.micro
" }
Angeben von Tags, die Instances beim Start kennzeichnen
Im folgenden Beispiel wird Instances beim Start ein Tag hinzugefügt (z. B. purpose=webserver
).
aws ec2 create-launch-template --launch-template-name
my-template-for-auto-scaling
--version-descriptionversion1
\ --launch-template-data '{"TagSpecifications":[{"ResourceType":"instance","Tags":[{"Key":"purpose
","Value":"webserver
"}]}],"ImageId":"ami-04d5cc9b88example
","InstanceType":"t2.micro
"}'
Anmerkung
Wenn Sie Instance-Tags in Ihrer Startvorlage angeben und sich dann dafür entschieden haben, die Tags Ihrer Auto-Scaling-Gruppe an ihre Instances zu übertragen, werden alle Tags zusammengeführt. Wenn derselbe Tag-Schlüssel für einen Tag in Ihrer Startvorlage und einen Tag in Ihrer Auto-Scaling-Gruppe angegeben wird, hat der Tag-Wert aus der Gruppe Vorrang.
Geben Sie eine IAM Rolle an, die an Instanzen übergeben werden soll
Das folgende Beispiel gibt den Namen des Instanzprofils an, das der IAM Rolle zugeordnet ist, die beim Start an Instances übergeben werden soll. Weitere Informationen finden Sie unter IAMRolle für Anwendungen, die auf EC2 Amazon-Instances ausgeführt werden.
aws ec2 create-launch-template --launch-template-name
my-template-for-auto-scaling
--version-descriptionversion1
\ --launch-template-data '{"IamInstanceProfile":{"Name":"my-instance-profile
"},"ImageId":"ami-04d5cc9b88example
","InstanceType":"t2.micro
"}'
Zuweisen einer öffentlichen IP-Adresse
Im folgenden create-launch-templateBeispiel wird die Startvorlage so konfiguriert, dass Instances, die nicht VPC standardmäßig gestartet wurden, öffentliche Adressen zugewiesen werden.
Anmerkung
Wenn Sie eine Netzwerkschnittstelle angeben, geben Sie einen Wert an, der den Sicherheitsgruppen für Groups
die entspricht, in VPC denen Ihre Auto Scaling Scaling-Gruppe Instances starten wird. Geben Sie die VPC Subnetze als Eigenschaften der Auto Scaling Scaling-Gruppe an.
aws ec2 create-launch-template --launch-template-name
my-template-for-auto-scaling
--version-descriptionversion1
\ --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"AssociatePublicIpAddress":true
,"Groups":["sg-903004f88example
"],"DeleteOnTermination":true
}],"ImageId":"ami-04d5cc9b88example
","InstanceType":"t2.micro
"}'
Angeben eines Benutzerdatenskripts, das Instances beim Start konfiguriert
Im folgenden Beispiel wird ein Benutzerdatenskript als base64-kodierte Zeichenfolge angegeben, die Instances beim Start konfiguriert. Für den create-launch-templateBefehl sind Base64-kodierte Benutzerdaten erforderlich.
aws ec2 create-launch-template --launch-template-name
my-template-for-auto-scaling
--version-descriptionversion1
\ --launch-template-data '{"UserData":"IyEvYmluL2Jhc...
","ImageId":"ami-04d5cc9b88example
","InstanceType":"t2.micro
"}'
Angeben einer Blockgerät-Zuweisung für ein AMI
Im folgenden create-launch-templateBeispiel wird eine Startvorlage mit einer Blockgerätezuordnung erstellt: ein EBS 22-Gigabyte-Volume, dem zugeordnet ist. /dev/xvdcz
Das /dev/xvdcz
Volume verwendet den Volumetyp General Purpose SSD (gp2) und wird gelöscht, wenn die Instance, an die es angehängt ist, beendet wird.
aws ec2 create-launch-template --launch-template-name
my-template-for-auto-scaling
--version-descriptionversion1
\ --launch-template-data '{"BlockDeviceMappings":[{"DeviceName":"/dev/xvdcz
","Ebs":{"VolumeSize":22
,"VolumeType":"gp2
","DeleteOnTermination":true
}}],"ImageId":"ami-04d5cc9b88example
","InstanceType":"t2.micro
"}'
Festlegen von Dedicated Hosts zur Bereitstellung von Softwarelizenzen externer Anbieter
Wenn Sie eine Host-Tenancy angeben, können Sie eine Host-Ressourcengruppe und eine License Manager-Konfiguration angeben, um berechtigte Softwarelizenzen von externen Anbietern bereitzustellen. Anschließend können Sie die Lizenzen mit dem folgenden create-launch-templateBefehl für EC2 Instances verwenden.
aws ec2 create-launch-template --launch-template-name
my-template-for-auto-scaling
--version-descriptionversion1
\ --launch-template-data '{"Placement":{"Tenancy":"host","HostResourceGroupArn":"arn
"},"LicenseSpecifications":[{"LicenseConfigurationArn":"arn
"}],"ImageId":"ami-04d5cc9b88example
","InstanceType":"t2.micro
"}'
Angeben einer vorhandenen Netzwerkschnittstelle
Im folgenden create-launch-templateBeispiel wird die primäre Netzwerkschnittstelle so konfiguriert, dass sie eine vorhandene Netzwerkschnittstelle verwendet.
aws ec2 create-launch-template --launch-template-name
my-template-for-auto-scaling
--version-descriptionversion1
\ --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"NetworkInterfaceId":"eni-b9a5ac93
","DeleteOnTermination":false
}],"ImageId":"ami-04d5cc9b88example
","InstanceType":"t2.micro
"}'
Erstellen mehrerer Netzwerkschnittstellen
Im folgenden create-launch-templateBeispiel wird eine sekundäre Netzwerkschnittstelle hinzugefügt. Die primäre Netzwerkschnittstelle hat einen Geräteindex von 0, und die sekundäre Netzwerkschnittstelle hat einen Geräteindex von 1.
aws ec2 create-launch-template --launch-template-name
my-template-for-auto-scaling
--version-descriptionversion1
\ --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"Groups":["sg-903004f88example
"],"DeleteOnTermination":true
},{"DeviceIndex":1,"Groups":["sg-903004f88example
"],"DeleteOnTermination":true
}],"ImageId":"ami-04d5cc9b88example
","InstanceType":"t2.micro
"}'
Wenn Sie einen Instance-Typ verwenden, der mehrere Netzwerkkarten und Elastic Fabric-Adapter (EFAs) unterstützt, können Sie einer sekundären Netzwerkkarte eine sekundäre Schnittstelle hinzufügen und diese mit EFA dem folgenden create-launch-templateBefehl aktivieren. Weitere Informationen finden Sie unter Hinzufügen einer Vorlage EFA zu einer Startvorlage im EC2Amazon-Benutzerhandbuch.
aws ec2 create-launch-template --launch-template-name
my-template-for-auto-scaling
--version-descriptionversion1
\ --launch-template-data '{"NetworkInterfaces":[{"NetworkCardIndex":0,"DeviceIndex":0,"Groups":["sg-7c2270198example
"],"InterfaceType":"efa","DeleteOnTermination":true
},{"NetworkCardIndex":1
,"DeviceIndex":1
,"Groups":["sg-7c2270198example
"],"InterfaceType":"efa","DeleteOnTermination":true
}],"ImageId":"ami-09d95fab7fexample
","InstanceType":"p4d.24xlarge
"}'
Warnung
Der Instance-Typ p4d.24xlarge verursacht höhere Kosten als die anderen Beispiele in diesem Abschnitt. Weitere Informationen zu den Preisen für P4d-Instances finden Sie unter Preise für Amazon EC2 P4d-Instances
Anmerkung
Das Anfügen mehrerer Netzwerkschnittstellen aus demselben Subnetz an eine Instance kann asymmetrisches Routing einführen, insbesondere bei Instances, die eine Linux-Variante verwenden, die nicht von Amazon stammt. Wenn Sie diese Art von Konfiguration benötigen, müssen Sie die sekundäre Netzwerkschnittstelle innerhalb des Betriebssystems konfigurieren. Ein Beispiel finden Sie unter Wie kann ich dafür sorgen, dass meine sekundäre Netzwerkschnittstelle in meiner Ubuntu-Instance funktioniert? EC2
Verwalten Ihrer Startvorlagen
Das AWS CLI beinhaltet mehrere andere Befehle, mit denen Sie Ihre Startvorlagen verwalten können.
Inhalt
Auflisten und Beschreiben Ihrer Startvorlagen
Sie können zwei AWS CLI Befehle verwenden, um Informationen zu Ihren Startvorlagen abzurufen: describe-launch-templatesund describe-launch-template-versions.
Mit dem describe-launch-templatesBefehl können Sie eine Liste aller Startvorlagen abrufen, die Sie erstellt haben. Sie können eine Option verwenden, um Ergebnisse nach Namen einer Startvorlage, Zeit, Tag-Schlüssel oder einer Kombination aus Tag und Schlüssel-Wert filtern. Mit diesem Befehl werden zusammenfassende Informationen zu allen Ihren Startvorlagen zurückgegeben, einschließlich der Startvorlagenkennung, der neuesten Version und der Standardversion.
Das folgende Beispiel bietet eine Zusammenfassung der angegebenen Startvorlage.
aws ec2 describe-launch-templates --launch-template-names
my-template-for-auto-scaling
Nachfolgend finden Sie eine Beispielantwort.
{
"LaunchTemplates": [
{
"LaunchTemplateId": "lt-068f72b729example",
"LaunchTemplateName": "my-template-for-auto-scaling",
"CreateTime": "2020-02-28T19:52:27.000Z",
"CreatedBy": "arn:aws:iam::123456789012:user/Bob",
"DefaultVersionNumber": 1,
"LatestVersionNumber": 1
}
]
}
Wenn Sie nicht die --launch-template-names
-Option verwenden, um die Ausgabe auf eine Startvorlage zu beschränken, werden Informationen zu allen Ihren Startvorlagen zurückgegeben.
Der folgende describe-launch-template-versionsBefehl enthält Informationen zur Beschreibung der Versionen der angegebenen Startvorlage.
aws ec2 describe-launch-template-versions --launch-template-id
lt-068f72b729example
Nachfolgend finden Sie eine Beispielantwort.
{
"LaunchTemplateVersions": [
{
"VersionDescription": "version1",
"LaunchTemplateId": "lt-068f72b729example",
"LaunchTemplateName": "my-template-for-auto-scaling",
"VersionNumber": 1,
"CreatedBy": "arn:aws:iam::123456789012:user/Bob",
"LaunchTemplateData": {
"TagSpecifications": [
{
"ResourceType": "instance",
"Tags": [
{
"Key": "purpose",
"Value": "webserver"
}
]
}
],
"ImageId": "ami-04d5cc9b88example",
"InstanceType": "t2.micro",
"NetworkInterfaces": [
{
"DeviceIndex": 0,
"DeleteOnTermination": true,
"Groups": [
"sg-903004f88example"
],
"AssociatePublicIpAddress": true
}
]
},
"DefaultVersion": true,
"CreateTime": "2020-02-28T19:52:27.000Z"
}
]
}
Erstellen einer Startvorlagenversion
Der folgende create-launch-template-versionBefehl erstellt eine neue Version der Startvorlage, die auf Version 1 der Startvorlage basiert, und gibt eine andere AMI ID an.
aws ec2 create-launch-template-version --launch-template-id
lt-068f72b729example
--version-descriptionversion2
\ --source-version1
--launch-template-data "ImageId=ami-c998b6b2example
"
Verwenden Sie den modify-launch-templateBefehl, um die Standardversion der Startvorlage festzulegen.
Löschen einer Startvorlagenversion
Der folgende delete-launch-template-versionsBefehl löscht die angegebene Version der Startvorlage.
aws ec2 delete-launch-template-versions --launch-template-id
lt-068f72b729example
--versions 1
Löschen einer Startvorlage
Wenn Sie eine Startvorlage nicht mehr benötigen, können Sie sie mit dem folgenden delete-launch-templateBefehl löschen. Beim Löschen einer Startvorlage werden alle ihre Versionen gelöscht.
aws ec2 delete-launch-template --launch-template-id
lt-068f72b729example
Aktualisieren einer Auto-Scaling-Gruppe zum Verwenden einer Startvorlage
Sie können den update-auto-scaling-groupBefehl verwenden, um einer vorhandenen Auto Scaling Scaling-Gruppe eine Startvorlage hinzuzufügen.
Aktualisieren einer Auto-Scaling-Gruppe, um die neueste Version einer Startvorlage zu verwenden
Mit dem folgenden update-auto-scaling-groupBefehl wird die angegebene Auto Scaling Scaling-Gruppe aktualisiert, sodass sie die neueste Version der angegebenen Startvorlage verwendet.
aws autoscaling update-auto-scaling-group --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateId=lt-068f72b729example
,Version='$Latest'
Eine Auto-Scaling-Gruppe aktualisieren, um eine bestimmte Version einer Startvorlage zu verwenden
Mit dem folgenden update-auto-scaling-groupBefehl wird die angegebene Auto Scaling Scaling-Gruppe aktualisiert, sodass sie eine bestimmte Version der angegebenen Startvorlage verwendet.
aws autoscaling update-auto-scaling-group --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateName=my-template-for-auto-scaling
,Version='2
'