Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.
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, pubblicazione e chiusura di EC2 istanze Amazon nel AWS CLI
Puoi utilizzare AWS Command Line Interface (AWS CLI) per avviare, elencare e terminare le istanze di Amazon Elastic Compute Cloud EC2 (Amazon). 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 guida AWS CLI di AWS CLI
Argomenti
Prerequisiti
Per eseguire i ec2
comandi descritti in questo argomento, è necessario:
Istalla e configura la AWS CLI. Per ulteriori informazioni, consulta Installazione, aggiornamento e disinstallazione di AWS CLI e Credenziali di autenticazione e accesso per AWS CLI.
-
Imposta le tue IAM autorizzazioni per consentire l'EC2accesso ad Amazon. Per ulteriori informazioni sulle IAM autorizzazioni per AmazonEC2, consulta IAMle politiche per Amazon EC2 nella Amazon EC2 User Guide.
-
Crea una key pair e un gruppo di sicurezza.
-
Seleziona un'Amazon Machine Image (AMI) e annota l'AMIID. Per ulteriori informazioni, consulta Finding a Suitable AMI in the Amazon EC2 User Guide.
Lancio dell'istanza
Per avviare un'EC2istanza Amazon utilizzando il comando AMI selezionato, utilizza 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't2.micro
istanza nella sottorete specificata di aVPC. Sostituire il italicized
valori dei parametri con i propri.
$
aws ec2 run-instances --image-id
ami-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 } ] }
Aggiunta di un dispositivo a blocchi all'istanza
A ogni istanza avviata è associato un volume dispositivo root. Puoi utilizzare la mappatura dei dispositivi a blocchi per specificare volumi Amazon Elastic Block Store (AmazonEBS) aggiuntivi o volumi di instance store da collegare a un'istanza al momento del lancio.
Per aggiungere un dispositivo a blocchi all'istanza, specifica l'opzione --block-device-mappings
quando utilizzi run-instances
.
Il seguente parametro di esempio fornisce un EBS volume Amazon standard di 20 GB e lo mappa alla tua istanza utilizzando l'identificatore/dev/sdf
.
--block-device-mappings "[{\"DeviceName\":\"
/dev/sdf
\",\"Ebs\":{\"VolumeSize\":20
,\"DeleteOnTermination\":false}}]"
L'esempio seguente aggiunge un EBS volume Amazon, 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 chiave "Name
" e il valore "MyInstance
" all'istanza specificata, utilizzando il aws ec2
create-tags
comando.
$
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 aws ec2
describe-instances
comando.
Il comando seguente elenca tutte le 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 comandiAMIs:ami-x0123456
,ami-y0123456
, e. ami-z0123456
$
aws ec2 describe-instances --filters "Name=image-id,Values=
ami-x0123456
,ami-y0123456
,ami-z0123456
"
Interruzione di un'istanza
Se termini un'istanza, questa viene eliminata. Dopo averla terminata, non puoi più connetterti a un'istanza.
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.
Per eliminare un'istanza, usi il comando aws ec2
terminate-instances
per eliminarla.
$
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:
Altro riferimento:
-
Per visualizzare e contribuire a AWS SDK esempi di AWS CLI codice, consulta il AWS Code Examples Repository
su GitHub.