Avvio, elenco ed eliminazione di EC2 istanze Amazon nel AWS CLI - AWS Command Line Interface

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Avvio, elenco ed eliminazione di EC2 istanze Amazon nel AWS CLI

Puoi utilizzare AWS Command Line Interface (AWS CLI) per avviare, elencare ed eliminare istanze di Amazon Elastic Compute Cloud (Amazon EC2). Se avvii un'istanza che non rientra nel piano AWS gratuito, ti verrà fatturata una volta avviata l'istanza e ti verrà addebitato il tempo in cui l'istanza è in esecuzione, anche se rimane inattiva.

Nota

Per ulteriori esempi di comandi, consulta la riferimento.

Prerequisiti

Per eseguire i comandi della ec2 descritti in questo argomento, è necessario:

Lancio dell'istanza

Per avviare un' EC2 istanza Amazon utilizzando l'AMI selezionata, usa il aws ec2 run-instances comando. Puoi avviare l’istanza in un cloud privato virtuale (VPC).

Inizialmente l'istanza viene visualizzata in stato pending, ma dopo pochi minuti passa allo stato running.

L'esempio seguente mostra come avviare un'istanza t2.micro nella sottorete specificata di un VPC. Sostituisci i valori del parametro italicized con i tuoi valori.

$ aws ec2 run-instances --image-id ami-xxxxxxxx --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids sg-903004f8 --subnet-id subnet-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 } ] }

Aggiunta di un dispositivo a blocchi all'istanza

A ogni istanza avviata è associato un volume dispositivo root. Puoi utilizzare una mappatura dei dispositivi a blocchi per specificare volumi di Amazon Elastic Block Store (Amazon EBS) aggiuntivi o i volumi di archivio dell’istanza da collegare a un’istanza quando viene avviata.

Per aggiungere un dispositivo a blocchi all'istanza, specifica l'opzione --block-device-mappings quando utilizzi run-instances.

Il parametro di esempio seguente esegue il provisioning di un volume Amazon EBS standard di 20 GB e lo mappa all’istanza utilizzando l’identificatore /dev/sdf.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false}}]"

L’esempio seguente aggiunge un volume Amazon EBS, mappato a /dev/sdf, basato su uno snapshot esistente. Una snapshot rappresenta un'immagine caricata sul volume per te. Quando specifichi una snapshot, non devi specificare una dimensione del volume perché sarà sufficiente a contenere la tua immagine. Tuttavia, se specifichi la dimensione, questa deve essere maggiore o uguale a quella della snapshot.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"SnapshotId\":\"snap-a1b2c3d4\"}}]"

L'esempio seguente aggiunge due volumi all'istanza. Il numero di volumi disponibili per l'istanza dipende dal tipo di istanza.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"VirtualName\":\"ephemeral0\"},{\"DeviceName\":\"/dev/sdg\",\"VirtualName\":\"ephemeral1\"}]"

L'esempio seguente crea la mappatura (/dev/sdj), ma non esegue il provisioning di un volume per l'istanza.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdj\",\"NoDevice\":\"\"}]"

Per ulteriori informazioni, consulta Block Device Mapping nella Amazon EC2 User Guide.

Aggiunta di un tag all'istanza

Un tag è un'etichetta che assegni a una AWS risorsa. Questo consente di aggiungere metadati alle risorse, che possono essere utilizzati per vari scopi. Per ulteriori informazioni, consulta Tagging Your Resources nella Amazon EC2 User Guide.

L’esempio seguente mostra come aggiungere un tag con il nome della chiave “Name“ e il valore “MyInstance“ all’istanza specificata, utilizzando il comando aws ec2 create-tags.

$ aws ec2 create-tags --resources i-5203422c --tags Key=Name,Value=MyInstance

Connessione all’istanza

Mentre l'istanza è in esecuzione, puoi connetterti e utilizzarla esattamente come se si trovasse nel tuo computer. Per ulteriori informazioni, consulta Connect to Your Amazon EC2 Instance nella Amazon EC2 User Guide.

Elencazione delle istanze

Puoi usare il AWS CLI per elencare le tue istanze e visualizzare le informazioni su di esse. Puoi creare un elenco di tutte le istanze oppure filtrare i risultati in base alle istanze che ti interessano.

Negli esempi seguenti viene illustrato come utilizzare il comando aws ec2 describe-instances.

Il comando seguente elenca tutte le tue istanze.

$ aws ec2 describe-instances

Il comando seguente filtra l'elenco visualizzando solo le istanze t2.micro e restituisce solo i valori InstanceId per ogni corrispondenza.

$ aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro" --query "Reservations[].Instances[].InstanceId" [ "i-05e998023d9c69f9a" ]

Il comando seguente elenca qualsiasi istanza con il tag Name=MyInstance.

$ aws ec2 describe-instances --filters "Name=tag:Name,Values=MyInstance"

Il comando seguente elenca le istanze che sono state avviate utilizzando uno dei seguenti comandi AMIs:ami-x0123456,ami-y0123456, e. ami-z0123456

$ aws ec2 describe-instances --filters "Name=image-id,Values=ami-x0123456,ami-y0123456,ami-z0123456"

Eliminare l'istanza

Puoi usare il AWS CLI per terminare (eliminare) un' EC2 istanza Amazon quando non ne hai più bisogno.

Importante

La terminazione di un’istanza è permanente e irreversibile.

Dopo aver terminato un’istanza, non puoi più connetterti a essa e non puoi ripristinarla. Inoltre, tutti i volumi Amazon EBS collegati e configurati per essere eliminati in caso di terminazione vengono eliminati in modo definitivo e non possono essere recuperati. Tutti i dati archiviati nei volumi di archivio dell’istanza vengono persi in modo definitivo. Per ulteriori informazioni, consulta Come funziona la chiusura dell'istanza.

Prima di terminare un’istanza, assicurati di aver eseguito il backup di tutti i dati che devi mantenere dopo la terminazione sull’archivio persistente.

Appena lo stato dell'istanza cambia in shutting-down o terminated, vengono bloccati i rispettivi addebiti. Per riconnetterti a un'istanza in un secondo momento, utilizza stop-instances invece di terminate-instances. Per ulteriori informazioni, consulta Terminate Your Instance nella Amazon EC2 User Guide.

L'esempio seguente mostra come eliminare un'istanza utilizzando il aws ec2 terminate-instances comando.

$ aws ec2 terminate-instances --instance-ids i-5203422c { "TerminatingInstances": [ { "InstanceId": "i-5203422c", "CurrentState": { "Code": 32, "Name": "shutting-down" }, "PreviousState": { "Code": 16, "Name": "running" } } ] }

Riferimenti

AWS CLI riferimento:

Altri riferimenti: