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 mit den SDKs AWS-Managementkonsole, AWS Command Line Interface (AWS CLI) oder verwalten. 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
{ "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-template
-
Ersetzen Sie
ami-04d5cc9b88examplemit der ID des AMI, von dem aus die Instances gestartet werden sollen. -
Ersetzen Sie
t2.micromit einem Instance-Typ, der kompatibel mit dem angegebenen AMI ist.
In diesem Beispiel wird eine Startvorlage mit dem Namen my-template-for-auto-scaling erstellt. Wenn die mit dieser Einführungsvorlage erstellten Instances in einer Standard-VPC gestartet werden, erhalten sie standardmäßig eine öffentliche IP-Adresse. Wenn die Instances in einer nicht standardmäßigen VPC gestartet werden, erhalten sie keine öffentliche Adresse.
aws ec2 create-launch-template --launch-template-namemy-template-for-auto-scaling--version-descriptionversion1\ --launch-template-data '{"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
Weitere Informationen zum Anführungszeichen von JSON-formatted Parametern finden Sie unter Verwenden von Anführungszeichen mit Zeichenfolgen AWS CLI im im AWS Command Line Interface Benutzerhandbuch.
Alternativ können Sie die JSON-formatted 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-namemy-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-namemy-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.
Angeben einer IAM-Rolle, die an Instances übergeben wird
Im folgenden Beispiel wird der Name des Instance-Profils angegeben, das der IAM-Rolle zugeordnet ist, das beim Start an Instances übergeben wird. Weitere Informationen finden Sie unter IAM-Rollen für Anwendungen, die auf Amazon EC2-Instances ausgeführt werden.
aws ec2 create-launch-template --launch-template-namemy-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-template
Anmerkung
Wenn Sie eine Netzwerkschnittstelle angeben, geben Sie einen Wert für Groups an, der den Sicherheitsgruppen der VPC, in der Ihre Auto-Scaling-Gruppe Instances starten wird, entspricht. Geben Sie die VPC-Subnetze als Eigenschaften der Auto-Scaling-Gruppe an.
aws ec2 create-launch-template --launch-template-namemy-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. Der create-launch-template
aws ec2 create-launch-template --launch-template-namemy-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-template/dev/xvdcz zugeordnet ist. Das Volume /dev/xvdcz verwendet den Volume-Typ General Purpose SSD (gp2) und wird beim Beenden der Instance, an die es angehängt ist, gelöscht.
aws ec2 create-launch-template --launch-template-namemy-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 auf EC2-Instances verwenden, indem Sie den folgenden create-launch-template
aws ec2 create-launch-template --launch-template-namemy-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
Das folgende create-launch-template
aws ec2 create-launch-template --launch-template-namemy-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
Das folgende create-launch-template
aws ec2 create-launch-template --launch-template-namemy-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 EFA mithilfe des folgenden create-launch-template
aws ec2 create-launch-template --launch-template-namemy-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 Preisen für P4d-Instances erhalten 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 EC2-Instance funktioniert
Verwalten Ihrer Startvorlagen
Das AWS CLI beinhaltet mehrere andere Befehle, die Ihnen bei der Verwaltung Ihrer Startvorlagen helfen.
Inhalt
Auflisten und Beschreiben Ihrer Startvorlagen
Sie können zwei AWS CLI Befehle verwenden, um Informationen zu Ihren Startvorlagen abzurufen: describe-launch-templates und describe-launch-template-versions
Mit dem describe-launch-templates
Das folgende Beispiel bietet eine Zusammenfassung der angegebenen Startvorlage.
aws ec2 describe-launch-templates --launch-template-namesmy-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 Befehl describe-launch-template-versions
aws ec2 describe-launch-template-versions --launch-template-idlt-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-version
aws ec2 create-launch-template-version --launch-template-idlt-068f72b729example--version-descriptionversion2\ --source-version1--launch-template-data "ImageId=ami-c998b6b2example"
Um die Standardversion der Startvorlage festzulegen, verwenden Sie den launch-template
Löschen einer Startvorlagenversion
Der folgende launch-template-versions
aws ec2 delete-launch-template-versions --launch-template-idlt-068f72b729example--versions 1
Löschen einer Startvorlage
Wenn eine Startvorlage nicht mehr benötigt wird, können Sie sie mit dem folgenden launch-template
aws ec2 delete-launch-template --launch-template-idlt-068f72b729example
Aktualisieren einer Auto-Scaling-Gruppe zum Verwenden einer Startvorlage
Sie können den update-auto-scaling-group
Aktualisieren einer Auto-Scaling-Gruppe, um die neueste Version einer Startvorlage zu verwenden
Der folgende update-auto-scaling-group
aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --launch-template LaunchTemplateId=lt-068f72b729example,Version='$Latest'
Eine Auto-Scaling-Gruppe aktualisieren, um eine bestimmte Version einer Startvorlage zu verwenden
Der folgende update-auto-scaling-group
aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='2'