

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

# Esempi di creazione e gestione di modelli di lancio con AWS CLI
<a name="examples-launch-templates-aws-cli"></a>

Puoi creare e gestire modelli di lancio tramite Console di gestione AWS, AWS Command Line Interface (AWS CLI) o SDK. Questa sezione mostra esempi di creazione e gestione di modelli di lancio per Amazon EC2 Auto AWS CLI Scaling da.

**Topics**
+ [Esempio di utilizzo](#example-usage)
+ [Creare un modello di avvio di base](#example-simple-launch-template)
+ [Specificare dei tag che etichettano le istanze all'avvio](#example-tag-instances)
+ [Specificare un ruolo IAM da passare alle istanze](#example-iam-profile)
+ [Assegnare un indirizzo IP pubblico](#example-primary-network-interface)
+ [Specificare uno script di dati utente che configura le istanze all'avvio](#example-user-data)
+ [Specificare di una mappatura dei dispositivi a blocchi di un'AMI](#example-block-device-mapping)
+ [Specificare gli host dedicati per portare licenze software da fornitori esterni](#example-dedicated-hosts)
+ [Specificare un'interfaccia di rete esistente](#example-existing-eni-launch-template)
+ [Creare più interfacce di rete](#example-multiple-efa-enabled-network-interfaces)
+ [Gestire i modelli di avvio](#launch-templates-additional-cli-commands)
+ [Aggiornare un gruppo con dimensionamento automatico per utilizzare un modello di avvio](#update-asg-launch-template-cli)

## Esempio di utilizzo
<a name="example-usage"></a>

```
{
    "LaunchTemplateName": "my-template-for-auto-scaling",
    "VersionDescription": "test description",
    "LaunchTemplateData": {
        "ImageId": "ami-04d5cc9b88example",
        "InstanceType": "t2.micro",
        "SecurityGroupIds": [
            "sg-903004f88example"
        ], 
        "KeyName": "MyKeyPair",
        "Monitoring": {
            "Enabled": true
        },
        "Placement": {
            "Tenancy": "dedicated"
        },
        "CreditSpecification": {
            "CpuCredits": "unlimited"
        },
        "MetadataOptions": {
            "HttpTokens": "required",
            "HttpPutResponseHopLimit": 1,
            "HttpEndpoint": "enabled"
        }
    }
}
```

## Creare un modello di avvio di base
<a name="example-simple-launch-template"></a>

Per creare un modello di lancio di base, usa il [create-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-launch-template.html)comando come segue, con queste modifiche: 
+ Replace (Sostituisci) `ami-04d5cc9b88example` con l'ID dell'AMI da cui avviare le istanze.
+ Sostituisci `t2.micro` con un tipo di istanza compatibile con l'AMI specificata.

Questo esempio crea un modello di lancio con il nome*my-template-for-auto-scaling*. Se le istanze create da questo modello di avvio vengono avviate in un VPC predefinito, ricevono un indirizzo IP pubblico per impostazione predefinita. Se le istanze vengono avviate in un VPC non predefinito, non ricevono un indirizzo IP pubblico per impostazione predefinita.

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
  --launch-template-data '{"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
```

Per ulteriori informazioni sulla citazione di parametri in formato JSON, consulta [ Utilizzo di virgolette con stringhe nella AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html)nella * Guida per l'utente della AWS Command Line Interface )*.

In alternativa, puoi specificare i parametri formattati JSON in un file di configurazione.

Nell'esempio seguente viene creato un modello di avvio di base, facendo riferimento a un file di configurazione per i valori dei parametri del modello di avvio. 

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
  --launch-template-data file://config.json
```

Contenuto di `config.json`.

```
{ 
    "ImageId":"ami-04d5cc9b88example",
    "InstanceType":"t2.micro"
}
```

## Specificare dei tag che etichettano le istanze all'avvio
<a name="example-tag-instances"></a>

Nell'esempio seguente viene aggiunto un tag (ad esempio `purpose=webserver`) alle istanze al momento dell'avvio.

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
  --launch-template-data '{"TagSpecifications":[{"ResourceType":"instance","Tags":[{"Key":"purpose","Value":"webserver"}]}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
```

**Nota**  
Se si specificano i tag delle istanze nel modello di avvio e si sceglie di propagare i tag del gruppo con dimensionamento automatico alle relative istanze, tutti i tag vengono uniti. Se viene specificata la stessa chiave tag per un tag nel modello di avvio e un tag nel gruppo con dimensionamento automatico, il valore del tag del gruppo ha la precedenza. 

## Specificare un ruolo IAM da passare alle istanze
<a name="example-iam-profile"></a>

L'esempio seguente specifica il nome del profilo di istanza associato al ruolo IAM da passare alle istanze all'avvio. Per ulteriori informazioni, consulta [Ruoli IAM per le applicazioni in esecuzione sulle istanze Amazon EC2](us-iam-role.md).

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
--launch-template-data '{"IamInstanceProfile":{"Name":"my-instance-profile"},"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
```

## Assegnare un indirizzo IP pubblico
<a name="example-primary-network-interface"></a>

L'[create-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-launch-template.html)esempio seguente configura il modello di avvio per assegnare indirizzi pubblici alle istanze avviate in un VPC non predefinito. 

**Nota**  
Quando specifichi un'interfaccia di rete, specifica un valore per `Groups` che corrisponda ai gruppi di sicurezza per il VPC nel quale il gruppo con dimensionamento automatico avvierà le istanze. Specificare il VPC e le sottoreti come proprietà del gruppo con dimensionamento automatico. 



```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
  --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"AssociatePublicIpAddress":true,"Groups":["sg-903004f88example"],"DeleteOnTermination":true}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
```

## Specificare uno script di dati utente che configura le istanze all'avvio
<a name="example-user-data"></a>

Nell'esempio seguente viene specificato uno script di dati utente come stringa con codifica base64 che configura le istanze all'avvio. Il [create-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-launch-template.html)comando richiede dati utente con codifica base64.

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
--launch-template-data '{"UserData":"IyEvYmluL2Jhc...","ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
```

## Specificare di una mappatura dei dispositivi a blocchi di un'AMI
<a name="example-block-device-mapping"></a>

L'[create-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-launch-template.html)esempio seguente crea un modello di avvio con una mappatura del dispositivo a blocchi: un volume EBS da 22 gigabyte mappato su. `/dev/xvdcz` Il volume `/dev/xvdcz` utilizza il tipo di volume a scopo generico SSD (gp2) e viene eliminato quando termina l'istanza a cui è allegato. 

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
  --launch-template-data '{"BlockDeviceMappings":[{"DeviceName":"/dev/xvdcz","Ebs":{"VolumeSize":22,"VolumeType":"gp2","DeleteOnTermination":true}}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
```

## Specificare gli host dedicati per portare licenze software da fornitori esterni
<a name="example-dedicated-hosts"></a>

Se specifichi un tenancy *host*, è possibile specificare un gruppo di risorse host e una configurazione delle licenze di License Manager per ottenere licenze software idonee da fornitori esterni. Quindi, puoi utilizzare le licenze sulle istanze EC2 utilizzando il seguente comando. [create-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-launch-template.html)

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
  --launch-template-data '{"Placement":{"Tenancy":"host","HostResourceGroupArn":"arn"},"LicenseSpecifications":[{"LicenseConfigurationArn":"arn"}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
```

## Specificare un'interfaccia di rete esistente
<a name="example-existing-eni-launch-template"></a>

L'[create-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-launch-template.html)esempio seguente configura l'interfaccia di rete principale per utilizzare un'interfaccia di rete esistente.

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
  --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"NetworkInterfaceId":"eni-b9a5ac93","DeleteOnTermination":false}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
```

## Creare più interfacce di rete
<a name="example-multiple-efa-enabled-network-interfaces"></a>

L'[create-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-launch-template.html)esempio seguente aggiunge un'interfaccia di rete secondaria. L'interfaccia di rete primaria ha un indice dispositivo pari a 0 e l'interfaccia di rete secondaria ha un indice dispositivo pari a 1. 

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
  --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"Groups":["sg-903004f88example"],"DeleteOnTermination":true},{"DeviceIndex":1,"Groups":["sg-903004f88example"],"DeleteOnTermination":true}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
```

Se utilizzi un tipo di istanza che supporta più schede di rete ed Elastic Fabric Adapters (EFAs), puoi aggiungere un'interfaccia secondaria a una scheda di rete secondaria e abilitare EFA utilizzando il comando seguente [create-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-launch-template.html). Per ulteriori informazioni, consulta [Aggiungere un EFA a un modello di lancio nella Guida](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-efa.html#efa-launch-template) per l'utente di *Amazon EC2*. 

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
  --launch-template-data '{"NetworkInterfaces":[{"NetworkCardIndex":0,"DeviceIndex":0,"Groups":["sg-7c2270198example"],"InterfaceType":"efa","DeleteOnTermination":true},{"NetworkCardIndex":1,"DeviceIndex":1,"Groups":["sg-7c2270198example"],"InterfaceType":"efa","DeleteOnTermination":true}],"ImageId":"ami-09d95fab7fexample","InstanceType":"p4d.24xlarge"}'
```

**avvertimento**  
Il tipo di istanza p4d.24xlarge comporta costi superiori, rispetto agli altri esempi in questa sezione. Per ulteriori informazioni sui prezzi delle istanze P4d, consulta [Prezzi delle istanze P4d di Amazon EC2](https://aws.amazon.com/ec2/instance-types/p4/).

**Nota**  
Allegare più interfacce di rete della stessa sottorete a un'istanza può introdurre il routing asimmetrico, specialmente nelle istanze che utilizzano una variante di Linux non Amazon. Se hai bisogno di questo tipo di configurazione, dovrai anche configurare l'interfaccia di rete secondaria all'interno del sistema operativo. Per un esempio, vedi [Come posso far funzionare la mia interfaccia di rete secondaria nella mia istanza di Ubuntu EC2?](https://repost.aws/knowledge-center/ec2-ubuntu-secondary-network-interface) nel AWS Knowledge Center.

## Gestire i modelli di avvio
<a name="launch-templates-additional-cli-commands"></a>

 AWS CLI Include diversi altri comandi che consentono di gestire i modelli di lancio. 

**Topics**
+ [Pubblicare e descrivere i modelli di avvio](#describe-launch-template-aws-cli)
+ [Creazione di una versione del modello di avvio](#example-create-launch-template-version)
+ [Eliminare una versione del modello di avvio](#example-delete-launch-template-version)
+ [Eliminare un modello di avvio](#example-delete-launch-template)

### Pubblicare e descrivere i modelli di avvio
<a name="describe-launch-template-aws-cli"></a>

Puoi usare due AWS CLI comandi per ottenere informazioni sui tuoi modelli di lancio: [describe-launch-templates](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-launch-templates.html)e [describe-launch-template-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-launch-template-versions.html). 

Il [describe-launch-templates](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-launch-templates.html)comando consente di ottenere un elenco di tutti i modelli di avvio creati. È possibile utilizzare un'opzione per filtrare i risultati in base al nome di un modello di avvio, creare ora, chiave tag o combinazione chiave-valore tag. Questo comando restituisce informazioni di riepilogo su uno qualsiasi dei modelli di avvio, inclusi l'identificativo, la versione più recente e la versione di default del modello di avvio. 

L'esempio seguente fornisce un riepilogo del modello di avvio specificato.

```
aws ec2 describe-launch-templates --launch-template-names my-template-for-auto-scaling
```

Di seguito è riportata una risposta di esempio.

```
{
    "LaunchTemplates": [
        {
            "LaunchTemplateId": "lt-068f72b729example",
            "LaunchTemplateName": "my-template-for-auto-scaling",
            "CreateTime": "2020-02-28T19:52:27.000Z",
            "CreatedBy": "arn:aws:iam::123456789012:user/Bob",
            "DefaultVersionNumber": 1,
            "LatestVersionNumber": 1
        }
    ]
}
```

Se non utilizzi l'opzione `--launch-template-names` per limitare l'output a un modello di avvio, vengono restituite le informazioni su tutti i modelli di avvio.

Il [describe-launch-template-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-launch-template-versions.html)comando seguente fornisce informazioni che descrivono le versioni del modello di avvio specificato.

```
aws ec2 describe-launch-template-versions --launch-template-id lt-068f72b729example
```

Di seguito è riportata una risposta di esempio.

```
{
    "LaunchTemplateVersions": [
        {
            "VersionDescription": "version1",
            "LaunchTemplateId": "lt-068f72b729example",
            "LaunchTemplateName": "my-template-for-auto-scaling",
            "VersionNumber": 1,
            "CreatedBy": "arn:aws:iam::123456789012:user/Bob",
            "LaunchTemplateData": {
                "TagSpecifications": [
                    {
                        "ResourceType": "instance",
                        "Tags": [
                            {
                                "Key": "purpose",
                                "Value": "webserver"
                            }
                        ]
                    }
                ],
                "ImageId": "ami-04d5cc9b88example",
                "InstanceType": "t2.micro",
                "NetworkInterfaces": [
                    {
                        "DeviceIndex": 0,
                        "DeleteOnTermination": true,
                        "Groups": [
                            "sg-903004f88example"
                        ],
                        "AssociatePublicIpAddress": true
                    }
                ]
            },
            "DefaultVersion": true,
            "CreateTime": "2020-02-28T19:52:27.000Z"
        }
    ]
}
```

### Creazione di una versione del modello di avvio
<a name="example-create-launch-template-version"></a>

Il [create-launch-template-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-launch-template-version.html)comando seguente crea una nuova versione del modello di avvio basata sulla versione 1 del modello di avvio e specifica un ID AMI diverso.

```
aws ec2 create-launch-template-version --launch-template-id lt-068f72b729example --version-description version2 \
  --source-version 1 --launch-template-data "ImageId=ami-c998b6b2example"
```

Per impostare la versione predefinita del modello di lancio, utilizzate il [modify-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/modify-launch-template.html)comando.

### Eliminare una versione del modello di avvio
<a name="example-delete-launch-template-version"></a>

Il [delete-launch-template-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/delete-launch-template-versions.html)comando seguente elimina la versione del modello di lancio specificata.

```
aws ec2 delete-launch-template-versions --launch-template-id lt-068f72b729example --versions 1
```

### Eliminare un modello di avvio
<a name="example-delete-launch-template"></a>

Se non è più necessario un modello di avvio, è possibile eliminarlo utilizzando il [delete-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/delete-launch-template.html)comando seguente. L'eliminazione di un modello di avvio ne elimina tutte le versioni. 

```
aws ec2 delete-launch-template --launch-template-id lt-068f72b729example
```

## Aggiornare un gruppo con dimensionamento automatico per utilizzare un modello di avvio
<a name="update-asg-launch-template-cli"></a>

È possibile utilizzare il [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)comando per aggiungere un modello di avvio a un gruppo Auto Scaling esistente.

### Aggiornare un gruppo con dimensionamento automatico affinché utilizzi la versione più recente di un modello di avvio
<a name="example-update-asg-launch-template-latest-version"></a>

Il [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)comando seguente aggiorna il gruppo Auto Scaling specificato per utilizzare la versione più recente del modello di avvio specificato.

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \
  --launch-template LaunchTemplateId=lt-068f72b729example,Version='$Latest'
```

### Aggiornare un gruppo con dimensionamento automatico affinché utilizzi la versione specifica di un modello di avvio
<a name="example-update-asg-launch-template-specific-version"></a>

Il [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)comando seguente aggiorna il gruppo Auto Scaling specificato per utilizzare una versione specifica del modello di avvio specificato.

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \
  --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='2'
```