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.
Starten, Auflisten und Löschen von Amazon EC2 EC2-Instances in 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 zum AWS kostenlosen Kontingent gehört, wird Ihnen nach dem Start der Instance eine Rechnung gestellt und die Zeit berechnet, während die Instance läuft, auch wenn sie inaktiv bleibt.
Anmerkung
Weitere Befehlsbeispiele finden Sie im .
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 oder Aktualisierung auf die neueste Version von AWS CLI und Authentifizierungs- und Zugangsdaten für die AWS CLI.
-
Legen Sie Ihre IAM-Berechtigungen fest, um Zugriff auf Amazon EC2 zu ermöglichen. Weitere Informationen zu IAM-Berechtigungen für Amazon EC2 finden Sie unter IAM-Richtlinien für Amazon EC2 im Benutzerhandbuch zu Amazon EC2.
-
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 im Thema Suchen eines geeigneten AMI im Benutzerhandbuch zu Amazon EC2.
Starten Ihrer Instance
Zum Starten einer Amazon-EC2-Instance mithilfe des AMI, das Sie ausgewählt haben, verwenden Sie den Befehl aws ec2
run-instances. 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 im Abschnitt Blockgerät-Zuweisung im Benutzerhandbuch zu Amazon EC2.
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 Ihrer Ressourcen im Benutzerhandbuch zu Amazon EC2.
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 Verbinden mit Ihrer Amazon-EC2-Instance im Benutzerhandbuch zu Amazon EC2.
Auflisten Ihrer Instances
Sie können das verwenden AWS CLI , um Ihre Instanzen aufzulisten und Informationen über sie 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 Amazon EC2 EC2-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 Beenden Ihrer Instance im Amazon-EC2-Benutzerhandbuch.
Das folgende Beispiel zeigt, wie eine Instanz mithilfe des aws
ec2 terminate-instances Befehls gelöscht wird.
$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.