

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à.

# Utilizzo di Amazon EC2 nella AWS CLI
<a name="cli-services-ec2"></a>


| Un’introduzione ad Amazon Elastic Compute Cloud | 
| --- | 
|  [![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/TsRBftzZsQo/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/TsRBftzZsQo)  | 

Amazon Elastic Compute Cloud (Amazon EC2) fornisce ambienti di elaborazione virtuale altamente scalabili e flessibili. Amazon EC2 consente di effettuare il provisioning e di gestire server virtuali, noti come istanze Amazon EC2, per soddisfare un’ampia gamma di esigenze di elaborazione.

Le istanze di Amazon EC2 sono macchine virtuali che possono essere personalizzate con varie configurazioni di CPU, memoria, archiviazione e capacità di rete. Puoi scegliere tra una vasta gamma di tipi di istanze, che spaziano da opzioni leggere ed economiche a istanze potenti e ad alte prestazioni, a seconda dei requisiti dell’applicazione. Questa flessibilità consente di soddisfare le esigenze di elaborazione per ottimizzare le prestazioni e l’efficienza dei costi. 

Inoltre, Amazon EC2 offre una suite di funzionalità che consente di gestire le risorse di elaborazione in modo efficace. Queste risorse includono la possibilità di avviare rapidamente nuove istanze, creare immagini di macchine (AMI) personalizzate per una rapida implementazione e aumentare o ridurre la capacità di calcolo in base alle esigenze. 

Puoi accedere alle funzionalità di Amazon EC2 utilizzando AWS Command Line Interface (AWS CLI). Per elencare i comandi della AWS CLI per Amazon EC2, usa il comando seguente.

```
aws ec2 help
```

Prima di eseguire qualsiasi comando, imposta le tue credenziali di default. Per ulteriori informazioni, consulta [Configurazione delle impostazioni della AWS CLI.](cli-chap-configure.md).

Questo argomento mostra esempi di comandi della AWS CLI che eseguono operazioni comuni per Amazon EC2.

Per esempi di comandi della AWS CLI in formato lungo, consulta il [repository degli esempi di codice della AWS CLI](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli) su *GitHub*.

**Topics**
+ [

# Creazione, visualizzazione ed eliminazione di coppie di chiavi Amazon EC2 in AWS CLI
](cli-services-ec2-keypairs.md)
+ [

# Creazione, configurazione ed eliminazione di gruppi di sicurezza Amazon EC2 nel AWS CLI
](cli-services-ec2-sg.md)
+ [

# Avvio, elenco ed eliminazione di istanze Amazon EC2 nel AWS CLI
](cli-services-ec2-instances.md)
+ [

# Modifica un tipo di istanza Amazon EC2 con uno script bash nel AWS CLI
](cli-services-ec2-instance-type-script.md)

# Creazione, visualizzazione ed eliminazione di coppie di chiavi Amazon EC2 in AWS CLI
<a name="cli-services-ec2-keypairs"></a>

Puoi usare AWS Command Line Interface (AWS CLI) per creare, visualizzare ed eliminare le tue coppie di chiavi per Amazon Elastic Compute Cloud (Amazon EC2) Elastic Compute Cloud (Amazon EC2). Puoi utilizzare le coppie di chiavi per connetterti a un’istanza Amazon EC2. Puoi fornire la coppia di chiavi a EC2 quando crei l’istanza, quindi devi utilizzare questa coppia di chiavi per autenticarti quando ti connetti all’istanza.

**Nota**  
Per ulteriori esempi di comandi, consulta la [riferimento.](https://docs.aws.amazon.com/cli/latest/reference/index.html)

**Topics**
+ [

## Prerequisiti
](#cli-services-ec2-keypairs-prereqs)
+ [

## Creazione di una coppia di chiavi
](#creating-a-key-pair)
+ [

## Visualizzazione della coppia di chiavi
](#displaying-a-key-pair)
+ [

## Eliminazione della coppia di chiavi
](#deleting-a-key-pair)
+ [

## Riferimenti
](#cli-services-ec2-keypairs-references)

## Prerequisiti
<a name="cli-services-ec2-keypairs-prereqs"></a>

Per eseguire i comandi `ec2`, è necessario:
+ Istalla e configura la AWS CLI. Per ulteriori informazioni, consultare [Installazione o aggiornamento alla versione più recente di AWS CLI](getting-started-install.md) e [Credenziali di autenticazione e accesso per AWS CLI](cli-chap-authentication.md).
+ Impostare le autorizzazioni IAM per consentire l’accesso ad Amazon EC2. Per ulteriori informazioni sulle autorizzazioni IAM per Amazon EC2, consulta [Policy IAM per Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html) nella *Guida per l’utente di Amazon EC2*.

## Creazione di una coppia di chiavi
<a name="creating-a-key-pair"></a>

Per creare una coppia di chiavi, utilizza il comando `[aws ec2 create-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-key-pair.html)` con l’opzione `--query` e l’opzione `--output text` per indirizzare la chiave privata direttamente in un file.

```
$ aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text > MyKeyPair.pem
```

Infatti PowerShell, il `> file` reindirizzamento è impostato per impostazione predefinita sulla codifica UTF-8, che non può essere utilizzata con alcuni client SSH. Pertanto, devi convertire l'output reindirizzandolo al comando `out-file` e impostando esplicitamente la codifica su `ascii`.

```
PS C:\>aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text | out-file -encoding ascii -filepath MyKeyPair.pem
```

L'aspetto del file `MyKeyPair.pem` risultante è simile a quello riportato di seguito.

```
-----BEGIN RSA PRIVATE KEY-----
EXAMPLEKEYKCAQEAy7WZhaDsrA1W3mRlQtvhwyORRX8gnxgDAfRt/gx42kWXsT4rXE/b5CpSgie/
vBoU7jLxx92pNHoFnByP+Dc21eyyz6CvjTmWA0JwfWiW5/akH7iO5dSrvC7dQkW2duV5QuUdE0QW
Z/aNxMniGQE6XAgfwlnXVBwrerrQo+ZWQeqiUwwMkuEbLeJFLhMCvYURpUMSC1oehm449ilx9X1F
G50TCFeOzfl8dqqCP6GzbPaIjiU19xX/azOR9V+tpUOzEL+wmXnZt3/nHPQ5xvD2OJH67km6SuPW
oPzev/D8V+x4+bHthfSjR9Y7DvQFjfBVwHXigBdtZcU2/wei8D/HYwIDAQABAoIBAGZ1kaEvnrqu
/uler7vgIn5m7lN5LKw4hJLAIW6tUT/fzvtcHK0SkbQCQXuriHmQ2MQyJX/0kn2NfjLV/ufGxbL1
mb5qwMGUnEpJaZD6QSSs3kICLwWUYUiGfc0uiSbmJoap/GTLU0W5Mfcv36PaBUNy5p53V6G7hXb2
bahyWyJNfjLe4M86yd2YK3V2CmK+X/BOsShnJ36+hjrXPPWmV3N9zEmCdJjA+K15DYmhm/tJWSD9
81oGk9TopEp7CkIfatEATyyZiVqoRq6k64iuM9JkA3OzdXzMQexXVJ1TLZVEH0E7bhlY9d8O1ozR
oQs/FiZNAx2iijCWyv0lpjE73+kCgYEA9mZtyhkHkFDpwrSM1APaL8oNAbbjwEy7Z5Mqfql+lIp1
YkriL0DbLXlvRAH+yHPRit2hHOjtUNZh4Axv+cpg09qbUI3+43eEy24B7G/Uh+GTfbjsXsOxQx/x
p9otyVwc7hsQ5TA5PZb+mvkJ5OBEKzet9XcKwONBYELGhnEPe7cCgYEA06Vgov6YHleHui9kHuws
ayav0elc5zkxjF9nfHFJRry21R1trw2Vdpn+9g481URrpzWVOEihvm+xTtmaZlSp//lkq75XDwnU
WA8gkn6O3QE3fq2yN98BURsAKdJfJ5RL1HvGQvTe10HLYYXpJnEkHv+Unl2ajLivWUt5pbBrKbUC
gYBjbO+OZk0sCcpZ29sbzjYjpIddErySIyRX5gV2uNQwAjLdp9PfN295yQ+BxMBXiIycWVQiw0bH
oMo7yykABY7Ozd5wQewBQ4AdSlWSX4nGDtsiFxWiI5sKuAAeOCbTosy1s8w8fxoJ5Tz1sdoxNeGs
Arq6Wv/G16zQuAE9zK9vvwKBgF+09VI/1wJBirsDGz9whVWfFPrTkJNvJZzYt69qezxlsjgFKshy
WBhd4xHZtmCqpBPlAymEjr/TOlbxyARmXMnIOWIAnNXMGB4KGSyl1mzSVAoQ+fqR+cJ3d0dyPl1j
jjb0Ed/NY8frlNDxAVHE8BSkdsx2f6ELEyBKJSRr9snRAoGAMrTwYneXzvTskF/S5Fyu0iOegLDa
NWUH38v/nDCgEpIXD5Hn3qAEcju1IjmbwlvtW+nY2jVhv7UGd8MjwUTNGItdb6nsYqM2asrnF3qS
VRkAKKKYeGjkpUfVTrW0YFjXkfcrR/V+QFL5OndHAKJXjW7a4ejJLncTzmZSpYzwApc=
-----END RSA PRIVATE KEY-----
```

***La tua chiave privata non è archiviata AWS e può essere recuperata solo al momento della creazione.*** Non puoi recuperarla successivamente. Se perdi la chiave privata, invece, devi creare una nuova coppia di chiavi.

Se ti connetti all'istanza da un computer Linux, consigliamo di utilizzare il comando seguente per impostare le autorizzazioni del file della chiave privata in modo da essere l'unico a poterlo leggere.

```
$ chmod 400 MyKeyPair.pem
```

## Visualizzazione della coppia di chiavi
<a name="displaying-a-key-pair"></a>

Dalla coppia di chiavi viene generata un’impronta che può essere utilizzata per verificare che la chiave privata che si trova sul tuo computer locale corrisponda alla chiave pubblica archiviata in AWS. 

L'impronta digitale è un SHA1 hash ricavato da una copia codificata in DER della chiave privata. Questo valore viene acquisito al momento della creazione della coppia di chiavi e memorizzato AWS con la chiave pubblica. Puoi visualizzare l'impronta digitale nella console Amazon EC2 o AWS CLI eseguendo il comando. `[aws ec2 describe-key-pairs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html)` 

L'esempio seguente mostra l'impronta per `MyKeyPair`.

```
$ aws ec2 describe-key-pairs --key-name MyKeyPair
{
    "KeyPairs": [
        {
            "KeyName": "MyKeyPair",
            "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f"
        }
    ]
}
```

Per ulteriori informazioni sulle chiavi e sulle impronte, consulta [Coppie di chiavi Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) nella *Guida per l’utente di Amazon EC2*.

## Eliminazione della coppia di chiavi
<a name="deleting-a-key-pair"></a>

Per eliminare una coppia di chiavi, esegui il comando `[aws ec2 delete-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-key-pair.html)`, sostituendo *`MyKeyPair`* con il nome della coppia da eliminare.

```
$ aws ec2 delete-key-pair --key-name MyKeyPair
```

## Riferimenti
<a name="cli-services-ec2-keypairs-references"></a>

**AWS CLI riferimento:**
+ `[aws ec2](https://docs.aws.amazon.com/cli/latest/reference/ec2/index.html)`
+ `[aws ec2 create-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-key-pair.html)`
+ `[aws ec2 delete-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-key-pair.html)`
+ `[aws ec2 describe-key-pairs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html)`

**Altri riferimenti:**
+ [Amazon Elastic Compute Cloud Documentation](https://docs.aws.amazon.com/ec2/)
+ Per visualizzare e contribuire all' AWS SDK e agli esempi di AWS CLI codice, consulta il [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/) su. *GitHub*

# Creazione, configurazione ed eliminazione di gruppi di sicurezza Amazon EC2 nel AWS CLI
<a name="cli-services-ec2-sg"></a>

Puoi creare un gruppo di sicurezza per le istanze Amazon Elastic Compute Cloud (Amazon EC2) che essenzialmente funziona come un firewall, con regole che determinano il traffico di rete a cui è consentito l’ingresso e l’uscita. 

Utilizzate il AWS Command Line Interface (AWS CLI) per creare un gruppo di sicurezza, aggiungere regole ai gruppi di sicurezza esistenti ed eliminare i gruppi di sicurezza. 

**Nota**  
Per ulteriori esempi di comandi, consultate la [di riferimento](https://docs.aws.amazon.com/cli/latest/reference/index.html).

**Topics**
+ [

## Prerequisiti
](#cli-services-ec2-sg-prereqs)
+ [

## Creare un gruppo di sicurezza
](#creating-a-security-group)
+ [

## Aggiunta di regole al gruppo di sicurezza
](#configuring-a-security-group)
+ [

## Eliminazione del gruppo di sicurezza:
](#deleting-a-security-group)
+ [

## Riferimenti
](#cli-services-ec2-sg-references)

## Prerequisiti
<a name="cli-services-ec2-sg-prereqs"></a>

Per eseguire i comandi `ec2`, è necessario:
+ Istalla e configura la AWS CLI. Per ulteriori informazioni, consultare [Installazione o aggiornamento alla versione più recente di AWS CLI](getting-started-install.md) e [Credenziali di autenticazione e accesso per AWS CLI](cli-chap-authentication.md).
+ Impostare le autorizzazioni IAM per consentire l’accesso ad Amazon EC2. Per ulteriori informazioni sulle autorizzazioni IAM per Amazon EC2, consulta [Policy IAM per Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html) nella *Guida per l’utente di Amazon EC2*.

## Creare un gruppo di sicurezza
<a name="creating-a-security-group"></a>

È possibile creare gruppi di sicurezza associati a cloud privati virtuali (VPCs).

Nell’esempio seguente `[aws ec2 create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html)` mostra come creare un gruppo di sicurezza per un VPC specificato.

```
$ aws ec2 create-security-group --group-name my-sg --description "My security group" --vpc-id vpc-1a2b3c4d
{
    "GroupId": "sg-903004f8"
}
```

Per visualizzare le informazioni iniziali per un gruppo di sicurezza, esegui il comando `[aws ec2 describe-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html)`. Puoi fare riferimento a un gruppo di sicurezza EC2-VPC solo utilizzando il relativo `vpc-id`, non il nome.

```
$ aws ec2 describe-security-groups --group-ids sg-903004f8
{
    "SecurityGroups": [
        {
            "IpPermissionsEgress": [
                {
                    "IpProtocol": "-1",
                    "IpRanges": [
                        {
                            "CidrIp": "0.0.0.0/0"
                        }
                    ],
                    "UserIdGroupPairs": []
                }
            ],
            "Description": "My security group"
            "IpPermissions": [],
            "GroupName": "my-sg",
            "VpcId": "vpc-1a2b3c4d",
            "OwnerId": "123456789012",
            "GroupId": "sg-903004f8"
        }
    ]
}
```

## Aggiunta di regole al gruppo di sicurezza
<a name="configuring-a-security-group"></a>

Quando esegui un’istanza Amazon EC2, devi abilitare le regole nel gruppo di sicurezza per consentire il traffico di rete in entrata per il tuo strumento di connessione all’immagine. 

Ad esempio, se avvii un'istanza di Windows, in genere devi aggiungere una regola per consentire il traffico in entrata sulla porta TCP 3389 per supportare Remote Desktop Protocol (RDP). Se avvii un'istanza di Linux, in genere devi aggiungere una regola per consentire il traffico in entrata sulla porta TCP 22 per supportare le connessioni SSH. 

Utilizza il comando `[aws ec2 authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html)` per aggiungere una regola al gruppo di sicurezza. Un parametro obbligatorio di questo comando è l'indirizzo IP pubblico del computer o la rete (sotto forma di intervallo di indirizzi) a cui è collegato il computer, in notazione [CIDR](https://wikipedia.org/wiki/Classless_Inter-Domain_Routing).

**Nota**  
Forniamo il servizio seguente, [https://checkip.global.api.aws/](https://checkip.global.api.aws/), per consentire di determinare l’indirizzo IP pubblico. Per trovare altri servizi che possono aiutarti a identificare il tuo indirizzo IP, utilizza il browser per cercare "*qual è il indirizzo IP*". Se ti connetti tramite un ISP o da dietro un firewall utilizzando un indirizzo IP dinamico (tramite un gateway NAT da una rete privata), l'indirizzo può cambiare periodicamente. In questo caso, devi scoprire l'intervallo di indirizzi IP utilizzato dai computer client.

L’esempio seguente mostra come aggiungere una regola per il protocollo RDP (porta TCP 3389) a un gruppo di sicurezza EC2-VPC con ID `sg-903004f8` utilizzando il tuo indirizzo IP.

Per iniziare, trova il tuo indirizzo IP.

```
$ curl https://checkip.amazonaws.com
x.x.x.x
```

Puoi quindi aggiungere l’indirizzo IP al tuo gruppo di sicurezza eseguendo il comando `[aws ec2 authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html)`.

```
$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 3389 --cidr x.x.x.x/x
```

Il comando seguente aggiunge un'altra regola per abilitare l'autenticazione SSH nelle istanze dello stesso gruppo di sicurezza.

```
$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 22 --cidr x.x.x.x/x
```

Per visualizzare le modifiche al gruppo di sicurezza, esegui il comando `[aws ec2 describe-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html)`.

```
$ aws ec2 describe-security-groups --group-ids sg-903004f8
{
    "SecurityGroups": [
        {
            "IpPermissionsEgress": [
                {
                    "IpProtocol": "-1",
                    "IpRanges": [
                        {
                            "CidrIp": "0.0.0.0/0"
                        }
                    ],
                    "UserIdGroupPairs": []
                }
            ],
            "Description": "My security group"
            "IpPermissions": [
                {
                    "ToPort": 22,
                    "IpProtocol": "tcp",
                    "IpRanges": [
                        {
                            "CidrIp": "x.x.x.x/x"
                        }
                    ]
                    "UserIdGroupPairs": [],
                    "FromPort": 22
                }
            ],
            "GroupName": "my-sg",
            "OwnerId": "123456789012",
            "GroupId": "sg-903004f8"
        }
    ]
}
```

## Eliminazione del gruppo di sicurezza:
<a name="deleting-a-security-group"></a>

Per eliminare un gruppo di sicurezza, utilizza il comando `[aws ec2 delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html)`. 

**Nota**  
Non puoi eliminare un gruppo di sicurezza se è attualmente collegato a un ambiente.

Il comando di esempio seguente elimina un gruppo di sicurezza EC2-VPC.

```
$ aws ec2 delete-security-group --group-id sg-903004f8
```

## Riferimenti
<a name="cli-services-ec2-sg-references"></a>

**AWS CLI riferimento:**
+ `[aws ec2](https://docs.aws.amazon.com/cli/latest/reference/ec2/index.html)`
+ `[aws ec2 authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html)`
+ `[aws ec2 create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html)`
+ `[aws ec2 delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html)`
+ `[aws ec2 describe-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html)`

**Altri riferimenti:**
+ [Amazon Elastic Compute Cloud Documentation](https://docs.aws.amazon.com/ec2/)
+ Per visualizzare e contribuire all' AWS SDK e agli esempi di AWS CLI codice, consulta il [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/) su. *GitHub*

# Avvio, elenco ed eliminazione di istanze Amazon EC2 nel AWS CLI
<a name="cli-services-ec2-instances"></a>

Puoi utilizzare AWS Command Line Interface (AWS CLI) per avviare, elencare ed eliminare le 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.](https://docs.aws.amazon.com/cli/latest/reference/index.html)

**Topics**
+ [

## Prerequisiti
](#cli-services-ec2-instances-prereqs)
+ [

## Lancio dell'istanza
](#launching-instances)
+ [

## Aggiunta di un dispositivo a blocchi all'istanza
](#block-device-mapping)
+ [

## Aggiunta di un tag all'istanza
](#tagging-instances)
+ [

## Connessione all’istanza
](#connecting-to-instances)
+ [

## Elencazione delle istanze
](#listing-instances)
+ [

## Eliminare l'istanza
](#terminating-instances)
+ [

## Riferimenti
](#cli-services-ec2-instances-references)

## Prerequisiti
<a name="cli-services-ec2-instances-prereqs"></a>

Per eseguire i comandi della `ec2` descritti in questo argomento, è necessario:
+ Istalla e configura la AWS CLI. Per ulteriori informazioni, consultare [Installazione o aggiornamento alla versione più recente di AWS CLI](getting-started-install.md) e [Credenziali di autenticazione e accesso per AWS CLI](cli-chap-authentication.md).
+ Impostare le autorizzazioni IAM per consentire l’accesso ad Amazon EC2. Per ulteriori informazioni sulle autorizzazioni IAM per Amazon EC2, consulta [Policy IAM per Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html) nella *Guida per l’utente di Amazon EC2*.
+ Creare una [coppia di chiavi](cli-services-ec2-keypairs.md) e un [gruppo di sicurezza](cli-services-ec2-sg.md).
+ Seleziona un’Amazon Machine Image (AMI) e prendi nota dell’ID AMI. Per ulteriori informazioni, consulta [Come trovare un’AMI appropriata](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) nella *Guida per l’utente di EC2*.

## Lancio dell'istanza
<a name="launching-instances"></a>

Per avviare un’istanza Amazon EC2 con l’AMI selezionata, utilizza il comando `[aws ec2 run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)`. 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 name="block-device-mapping"></a>

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 [Mappatura dei dispositivi a blocchi](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) nella *Guida per l’utente di EC2*.

## Aggiunta di un tag all'istanza
<a name="tagging-instances"></a>

Un tag è un'etichetta che si assegna a una AWS risorsa. Questo consente di aggiungere metadati alle risorse, che possono essere utilizzati per vari scopi. Per ulteriori informazioni, consulta [Tagging delle risorse](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) nella *Guida per l’utente di EC2*.

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](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html)`.

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

## Connessione all’istanza
<a name="connecting-to-instances"></a>

Mentre l'istanza è in esecuzione, puoi connetterti e utilizzarla esattamente come se si trovasse nel tuo computer. Per ulteriori informazioni, consulta [Connessione all’istanza Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html) nella *Guida per l’utente di Amazon EC2*.

## Elencazione delle istanze
<a name="listing-instances"></a>

Puoi utilizzarlo 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](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)`.

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
<a name="terminating-instances"></a>

Puoi utilizzarlo AWS CLI per terminare (eliminare) un'istanza Amazon EC2 quando non è più necessaria.

**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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-ec2-instance-termination-works.html).  
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](https://docs.aws.amazon.com/cli/v1/reference/ec2/stop-instances.html) invece di `terminate-instances`. Per ulteriori informazioni, consulta [Terminazione dell'istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html) nella *Guida per l'utente di Amazon EC2*.

L'esempio seguente mostra come eliminare un'istanza utilizzando il `[aws ec2 terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html)` 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
<a name="cli-services-ec2-instances-references"></a>

**AWS CLI riferimento:**
+ `[aws ec2](https://docs.aws.amazon.com/cli/latest/reference/ec2/index.html)`
+ `[aws ec2 create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html)`
+ `[aws ec2 describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)`
+ `[aws ec2 run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)`
+ `[aws ec2 terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html)`

**Altri riferimenti:**
+ [Amazon Elastic Compute Cloud Documentation](https://docs.aws.amazon.com/ec2/)
+ Per visualizzare e contribuire all' AWS SDK e agli esempi di AWS CLI codice, consulta il [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/) su. *GitHub*

# Modifica un tipo di istanza Amazon EC2 con uno script bash nel AWS CLI
<a name="cli-services-ec2-instance-type-script"></a>

Questo esempio di script bash per Amazon EC2 modifica il tipo di istanza per un'istanza Amazon EC2 utilizzando (). AWS Command Line Interface AWS CLI Arresta l’istanza se è in esecuzione, cambia il tipo di istanza e quindi, se richiesto, riavvia l’istanza. Gli script di shell sono programmi progettati per l’esecuzione in un’interfaccia a riga di comando.

**Nota**  
[Per ulteriori esempi di comandi, consulta la guida di AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/index.html)

**Topics**
+ [

## Prima di iniziare
](#cli-services-ec2-instance-type-script-prereqs)
+ [

## Informazioni sull’esempio
](#cli-services-ec2-instance-type-script-about)
+ [

## Parameters
](#cli-services-ec2-instance-type-script-params)
+ [

## File
](#cli-services-ec2-instance-type-script-files.title)
+ [

## Riferimenti
](#cli-services-ec2-instance-type-script-references)

## Prima di iniziare
<a name="cli-services-ec2-instance-type-script-prereqs"></a>

Prima di poter eseguire uno qualsiasi degli esempi seguenti, è necessario completare le seguenti operazioni.
+ Istalla e configura la AWS CLI. Per ulteriori informazioni, consultare [Installazione o aggiornamento alla versione più recente di AWS CLI](getting-started-install.md) e [Credenziali di autenticazione e accesso per AWS CLI](cli-chap-authentication.md).
+ Il profilo utilizzato deve disporre di autorizzazioni che consentano le AWS operazioni eseguite dagli esempi.
+ Un’istanza Amazon EC2 in esecuzione nell’account per il quale l’utente è autorizzato a interrompere e modificare. Se esegui lo script di test, avvia automaticamente un’istanza, verifica la modifica del tipo e quindi termina l’istanza.
+ Come procedura AWS consigliata, concedi a questo codice il privilegio minimo o solo le autorizzazioni necessarie per eseguire un'operazione. Per ulteriori informazioni sui ruoli IAM, consulta [Assegnare il privilegio minimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) nella *Guida per l’utente di AWS Identity and Access Management*.
+ Questo codice non è stato testato in tutte le AWS regioni. Alcuni AWS servizi sono disponibili solo in regioni specifiche. Per ulteriori informazioni, consulta [ Service Endpoints and Quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) nella *AWS General Reference Guide*. 
+ L'esecuzione di questo codice può comportare addebiti sul tuo AWS account. È tua responsabilità assicurarti che tutte le risorse create da questo script vengano rimosse quando hai finito di utilizzarle. 

## Informazioni sull’esempio
<a name="cli-services-ec2-instance-type-script-about"></a>

Questo esempio è scritto come una funzione nel file di script della shell `change_ec2_instance_type.sh` che è possibile `source` da un altro script o dalla riga di comando. Ogni file di script contiene commenti che descrivono ciascuna delle funzioni. Una volta che la funzione è in memoria, è possibile invocarla dalla riga di comando. Ad esempio, i seguenti comandi modificano il tipo dell’istanza specificata in `t2.nano`:

```
$ source ./change_ec2_instance_type.sh
$ ./change_ec2_instance_type -i *instance-id* -t new-type
```

Per gli esempi completi e i file di script scaricabili, consulta [Change Amazon EC2 Instance](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli/bash-linux/ec2/change-ec2-instance-type) Type nel *Code Examples AWS Repository* su. *GitHub*

## Parameters
<a name="cli-services-ec2-instance-type-script-params"></a>

**-i** - *(stringa)* Specifica l’ID dell’istanza da modificare.

**-t** - *(stringa)* Specifica il tipo di istanza Amazon EC2 a cui passare.

**-r** - *(switch)* Per impostazione predefinita, non è impostato. Se `-r` è impostato, riavvia l’istanza dopo il cambio di tipo.

**-f** - *(switch)* Per impostazione predefinita, lo script richiede all’utente di confermare la chiusura dell’istanza prima di effettuare il passaggio. Se `-f` è impostata, la funzione non richiede all’utente di cambiare tipo prima di chiudere l’istanza

**-v** - *(switch)* Per impostazione predefinita, lo script funziona silenziosamente e visualizza l’output solo in caso di errore. Se `-v` è impostata, la funzione visualizza lo stato durante tutto il suo funzionamento.

## File
<a name="cli-services-ec2-instance-type-script-files.title"></a>

**`change_ec2_instance_type.sh`**  
Il file di script principale contiene la funzione `change_ec2_instance_type()` che effettua le attività seguenti:  
+ Verifica l’esistenza dell’istanza Amazon EC2 specificata.
+ A meno che `-f` non sia selezionata, avvisa l’utente prima di interrompere l’istanza.
+ Modifica il tipo di istanza
+ Se `-r` è impostata, riavvia l’istanza e conferma che l’istanza è in esecuzione
Visualizza il codice per on. `[change\$1ec2\$1instance\$1type.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/ec2/change-ec2-instance-type/change_ec2_instance_type.sh)` *GitHub*

**`test_change_ec2_instance_type.sh`**  
Lo script del file `test_change_ec2_instance_type.sh` verifica i vari percorsi di codice per la funzione `change_ec2_instance_type`. Se tutte le fasi dello script di test sono state eseguite correttamente, lo script di test rimuove tutte le risorse che ha creato.  
Puoi eseguire lo script di test con i parametri seguenti:  
+ **-v** - *(switch)* Ogni test mostra uno pass/failure stato durante l'esecuzione. Per impostazione predefinita, i test vengono eseguiti silenziosamente e l'output include solo lo stato generale pass/failure finale.
+ **-i** - *(switch)* Lo script viene messo in pausa dopo ogni test per consentire all’utente di sfogliare i risultati intermedi di ogni fase. Consente di esaminare lo stato corrente dell’istanza tramite la console Amazon EC2. Lo script procede alla fase successiva dopo aver premuto *INVIO* al prompt.
Visualizza il codice per `[test\$1change\$1ec2\$1instance\$1type.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/ec2/change-ec2-instance-type/test_change_ec2_instance_type.sh)` on. *GitHub*

**`awsdocs_general.sh`**  
Il file di script `awsdocs_general.sh` contiene funzioni generiche utilizzate negli esempi avanzati per la AWS CLI.  
Visualizza il codice per `[awsdocs\$1general.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/ec2/change-ec2-instance-type/awsdocs_general.sh)` on *GitHub*.

## Riferimenti
<a name="cli-services-ec2-instance-type-script-references"></a>

**AWS CLI riferimento:**
+ `[aws ec2](https://docs.aws.amazon.com/cli/v1/reference/ec2/index.html)`
+ `[aws ec2 describe-instances](https://docs.aws.amazon.com/cli/v1/reference/ec2/describe-instances.html)`
+ `[aws ec2 modify-instance-attribute](https://docs.aws.amazon.com/cli/v1/reference/ec2/modify-instance-attribute.html)`
+ `[aws ec2 start-instances](https://docs.aws.amazon.com/cli/v1/reference/ec2/start-instances.html)`
+ `[aws ec2 stop-instances](https://docs.aws.amazon.com/cli/v1/reference/ec2/stop-instances.html)`
+ `[aws ec2 wait instance-running](https://docs.aws.amazon.com/cli/v1/reference/ec2/wait/instance-running.html)`
+ `[aws ec2 wait instance-stopped](https://docs.aws.amazon.com/cli/v1/reference/ec2/wait/instance-stopped.html)`

**Altri riferimenti:**
+ [Amazon Elastic Compute Cloud Documentation](https://docs.aws.amazon.com/ec2/)
+ Per visualizzare e contribuire all' AWS SDK e agli esempi di AWS CLI codice, consulta il [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/) su. *GitHub*