Diese Dokumentation bezieht sich AWS CLI nur auf Version 1 von.
Wir haben die end-of-support bevorstehende AWS CLI Version 1 angekündigt. Wir empfehlen Ihnen, auf die AWS CLI Version 2 zu migrieren. Termine, zusätzliche Details und Informationen zur Migration finden Sie in der Ankündigung
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.
EC2Amazon-Instances starten, auflisten und löschen in der AWS CLI
Sie können die AWS Command Line Interface (AWS CLI) verwenden, um Amazon Elastic Compute Cloud (Amazon EC2) -Instances zu starten, aufzulisten und zu löschen. Wenn Sie eine Instance starten, die nicht unter das AWS kostenlose Kontingent fällt, wird Ihnen nach dem Start der Instance eine Rechnung gestellt und die Zeit berechnet, in der die Instance läuft, auch wenn sie inaktiv bleibt.
Anmerkung
Weitere Befehlsbeispiele finden Sie im AWS CLIAWS CLI Referenzhandbuch
Themen
Voraussetzungen
Um die ec2-Befehle in diesem Thema auszuführen, sind folgende Schritte erforderlich:
Installieren und Konfigurieren der AWS CLI. Weitere Informationen erhalten Sie unter Installation, Aktualisierung und Deinstallation der AWS CLI und Authentifizierung und Anmeldeinformationen für die AWS CLI.
-
Richten Sie Ihre IAM-Berechtigungen so ein, dass Sie EC2 Zugriff auf Amazon haben. Weitere Informationen zu IAM-Berechtigungen für Amazon EC2 finden Sie unter IAM-Richtlinien für Amazon EC2 im EC2 Amazon-Benutzerhandbuch.
-
Erstellen Sie ein Schlüsselpaar und eine Sicherheitsgruppe.
-
Wählen Sie ein Amazon Machine Image (AMI) aus und notieren Sie sich die AMI-ID. Weitere Informationen finden Sie unter Finding a Passing AMI im EC2 Amazon-Benutzerhandbuch.
Starten Ihrer Instance
Verwenden Sie den aws ec2
run-instances Befehl, um eine EC2 Amazon-Instance mit dem von Ihnen ausgewählten AMI zu starten. Sie können die Instance in einer Virtual Private Cloud (VPC) starten.
Die Instance weist zu Beginn den Status pending auf. Sie wechselt aber nach wenigen Minuten in den Status running.
Im folgenden Beispiel wird gezeigt, wie eine t2.micro-Instance im angegebenen Subnetz einer VPC gestartet wird. Ersetzen Sie die italicized Parameterwerte durch eigene.
$aws ec2 run-instances --image-idami-xxxxxxxx--count 1 --instance-type t2.micro --key-nameMyKeyPair--security-group-idssg-903004f8--subnet-idsubnet-6e7f829e{ "OwnerId": "123456789012", "ReservationId": "r-5875ca20", "Groups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": null, "Platform": "windows", "State": { "Code": 0, "Name": "pending" }, "EbsOptimized": false, "LaunchTime": "2013-07-19T02:42:39.000Z", "PrivateIpAddress": "10.0.1.114", "ProductCodes": [], "VpcId": "vpc-1a2b3c4d", "InstanceId": "i-5203422c", "ImageId": "ami-173d747e", "PrivateDnsName": "ip-10-0-1-114.ec2.internal", "KeyName": "MyKeyPair", "SecurityGroups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "ClientToken": null, "SubnetId": "subnet-6e7f829e", "InstanceType": "t2.micro", "NetworkInterfaces": [ { "Status": "in-use", "SourceDestCheck": true, "VpcId": "vpc-1a2b3c4d", "Description": "Primary network interface", "NetworkInterfaceId": "eni-a7edb1c9", "PrivateIpAddresses": [ { "PrivateDnsName": "ip-10-0-1-114.ec2.internal", "Primary": true, "PrivateIpAddress": "10.0.1.114" } ], "PrivateDnsName": "ip-10-0-1-114.ec2.internal", "Attachment": { "Status": "attached", "DeviceIndex": 0, "DeleteOnTermination": true, "AttachmentId": "eni-attach-52193138", "AttachTime": "2013-07-19T02:42:39.000Z" }, "Groups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "SubnetId": "subnet-6e7f829e", "OwnerId": "123456789012", "PrivateIpAddress": "10.0.1.114" } ], "SourceDestCheck": true, "Placement": { "Tenancy": "default", "GroupName": null, "AvailabilityZone": "us-west-2b" }, "Hypervisor": "xen", "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "Status": "attached", "DeleteOnTermination": true, "VolumeId": "vol-877166c8", "AttachTime": "2013-07-19T02:42:39.000Z" } } ], "Architecture": "x86_64", "StateReason": { "Message": "pending", "Code": "pending" }, "RootDeviceName": "/dev/sda1", "VirtualizationType": "hvm", "RootDeviceType": "ebs", "Tags": [ { "Value": "MyInstance", "Key": "Name" } ], "AmiLaunchIndex": 0 } ] }
Hinzufügen eines Blockgeräts zu Ihrer Instance
Jede gestartete Instance hat ein zugehöriges Root-Gerät-Volume. Sie können das Blockgerät-Mapping verwenden, um zusätzliche Amazon-Elastic-Block-Store (Amazon EBS)-Volumes oder Instance-Speicher-Volumes anzugeben, die an eine Instance angehängt werden, wenn diese gestartet wird.
Zum Hinzufügen eines Blockgeräts zu Ihrer Instance geben Sie die Option --block-device-mappings an, wenn Sie run-instances verwenden.
Der folgende Beispielparameter stellt ein Standard-Amazon-EBS-Volume von 20 GB bereit und ordnet dieses mit der ID /dev/sdf Ihrer Instance zu.
--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false}}]"
Im folgenden Beispiel wird ein Amazon-EBS-Volume hinzugefügt, das /dev/sdf zugeordnet ist, basierend auf einem vorhandenen Snapshot. Ein Snapshot stellt ein Image dar, das für Sie in das Volume geladen wurde. Wenn Sie einen Snapshot angeben, müssen Sie keine Volume-Größe angeben; es wird groß genug für Ihr Image sein. Wenn Sie aber einen Größenwert angeben, muss dieser größer oder gleich der Snapshot-Größe sein.
--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"SnapshotId\":\"snap-a1b2c3d4\"}}]"
Im folgenden Beispiel werden zwei Volumes zu Ihrer Instance hinzugefügt. Die Anzahl der Volumes, die für Ihre Instance verfügbar sind, hängt vom Instance-Typ ab.
--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"VirtualName\":\"ephemeral0\"},{\"DeviceName\":\"/dev/sdg\",\"VirtualName\":\"ephemeral1\"}]"
Das folgende Beispiel erstellt das Mapping (/dev/sdj), stellt aber kein Volume für die Instance bereit.
--block-device-mappings "[{\"DeviceName\":\"/dev/sdj\",\"NoDevice\":\"\"}]"
Weitere Informationen finden Sie unter Block Device Mapping im EC2 Amazon-Benutzerhandbuch.
Hinzufügen eines Tags zu Ihrer Instance
Ein Tag ist eine Bezeichnung, die Sie einer AWS Ressource zuweisen. Damit können Sie Metadaten zu Ressourcen hinzufügen, die Sie für eine Vielzahl von Zwecken einsetzen können. Weitere Informationen finden Sie unter Tagging Your Resources im EC2 Amazon-Benutzerhandbuch.
Das folgende Beispiel zeigt, wie Sie ein Tag mit dem Schlüsselnamen „Name“ und den Wert „MyInstance“ zur angegebenen Instance hinzufügen, in dem Sie den Befehl aws ec2
create-tags verwenden.
$aws ec2 create-tags --resourcesi-5203422c--tags Key=Name,Value=MyInstance
Herstellen einer Verbindung zu Ihrer Instance
Wenn die Instance ausgeführt wird, können Sie eine Verbindung mit ihr herstellen und sie genau so verwenden wie einen Computer, der sich direkt vor Ihnen befindet. Weitere Informationen finden Sie unter Connect to Your Amazon EC2 Instance im EC2 Amazon-Benutzerhandbuch.
Auflisten Ihrer Instances
Sie können den verwenden AWS CLI , um Ihre Instances aufzulisten und Informationen zu ihnen einzusehen. Sie können alle Ihre Instances auflisten oder die Ergebnisse auf der Grundlage der Instances, die für Sie von Interesse sind, filtern.
Die folgenden Beispiele demonstrieren die Verwendung des aws ec2
describe-instances-Befehls.
Mit dem folgenden Befehl werden alle Ihre Instances aufgelistet.
$aws ec2 describe-instances
Der folgende Befehl filtert die Liste nur nach Ihren t2.micro-Instances und gibt nur die InstanceId-Werte für die einzelnen Übereinstimmungen aus.
$aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro" --query "Reservations[].Instances[].InstanceId"[ "i-05e998023d9c69f9a" ]
Der folgende Befehl listet alle Ihre Instances mit dem Tag Name=MyInstance auf.
$aws ec2 describe-instances --filters "Name=tag:Name,Values=MyInstance"
Der folgende Befehl listet Ihre Instances auf, die mit einer der folgenden Methoden gestartet wurden AMIs: ami-x0123456ami-y0123456, undami-z0123456.
$aws ec2 describe-instances --filters "Name=image-id,Values=ami-x0123456,ami-y0123456,ami-z0123456"
Löschen Ihrer Instance
Sie können die verwenden AWS CLI , um eine EC2 Amazon-Instance zu beenden (zu löschen), wenn Sie sie nicht mehr benötigen.
Wichtig
Das Beenden einer Instance ist dauerhaft und irreversibel.
Nachdem Sie eine Instance beendet haben, können Sie keine Verbindung mehr zu ihr herstellen und sie kann nicht wiederhergestellt werden. Alle angehängten Amazon-EBS-Volumes, die so konfiguriert sind, dass sie beim Beenden gelöscht werden, werden ebenfalls dauerhaft gelöscht und können nicht wiederhergestellt werden. Alle auf den Instance-Speicher-Volumes gespeicherten Daten gehen dauerhaft verloren. Weitere Informationen finden Sie unter So funktioniert die Instance-Kündigung.
Bevor Sie eine Instance beenden, stellen Sie sicher, dass Sie alle Daten, die Sie nach der Beendigung behalten müssen, im persistenten Speicher gesichert haben.
Sobald der Status der Instance zu shutting-down oder terminated wechselt, fallen für diese Instance keine Gebühren mehr an. Wenn Sie später eine erneute Verbindung zu einer Instance herstellen möchten, verwenden Sie stop-instances statt terminate-instances. Weitere Informationen finden Sie unter Terminate Your Instance im EC2 Amazon-Benutzerhandbuch.
Das folgende Beispiel zeigt, wie Sie eine Instance mithilfe des aws ec2
terminate-instances Befehls löschen.
$aws ec2 terminate-instances --instance-idsi-5203422c{ "TerminatingInstances": [ { "InstanceId": "i-5203422c", "CurrentState": { "Code": 32, "Name": "shutting-down" }, "PreviousState": { "Code": 16, "Name": "running" } } ] }
Referenzen
AWS CLI Referenz:
Andere Referenz:
-
AWS SDKs und AWS CLI Codebeispiele und Beiträge dazu finden Sie im AWS Codebeispiel-Repository
unter GitHub.