

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

# Identificazione di ciascuna istanza lanciata in una singola richiesta
<a name="AMI-launch-index-examples"></a>

Questo esempio illustra come puoi utilizzare sia i dati utente che i metadati dell'istanza per configurare le istanze Amazon EC2.

**Nota**  
Gli esempi in questa sezione utilizzano l' IPv4 indirizzo dell'IMDS:`169.254.169.254`. Se stai recuperando i metadati dell'istanza per le istanze EC2 tramite l' IPv6 indirizzo, assicurati di abilitare e utilizzare invece l'indirizzo:. IPv6 `[fd00:ec2::254]` L' IPv6 indirizzo dell'IMDS è compatibile con i comandi. IMDSv2 L' IPv6 indirizzo è accessibile solo su [istanze basate su Nitro](instance-types.md#instance-hypervisor-type) in [sottoreti IPv6 supportate](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-ip-address-range) (dual stack o solo). IPv6 

Alice vuole avviare quattro istanze dell'AMI del suo database preferito, dove la prima istanza funge da istanza originale e le altre tre fungono da repliche. Al momento dell'avvio vuole aggiungere i dati utente relativi alla strategia di replica per ciascuna replica. Consapevole del fatto che questi dati saranno disponibili per tutte e quattro le istanze, deve strutturare i dati utente in modo da consentire a ciascuna istanza di riconoscere le parti valide. A tale scopo, utilizza il valore `ami-launch-index` dei metadati dell'istanza, che sarà univoco per ogni istanza. Se hai avviato più di un'istanza contemporaneamente, il `ami-launch-index`indica l'ordine in base al quale sono state avviate le istanze. Il valore della prima istanza avviata è `0`.

Di seguito sono descritti i dati utente strutturati da Alice.

```
replicate-every=1min | replicate-every=5min | replicate-every=10min
```

I dati `replicate-every=1min` definiscono la configurazione della prima replica, `replicate-every=5min` definisce la configurazione della seconda replica e così via. Alice decide di specificare questi dati come stringa ASCII con una barra verticale (`|`) per delimitare i dati per le singole istanze.

Alice avvia le quattro istanze utilizzando il comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) e specificando i dati utente.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count 4 \
    --instance-type t2.micro \
    --user-data "replicate-every=1min | replicate-every=5min | replicate-every=10min"
```

Dopo l'avvio, le istanze includono una copia dei dati utente e i metadati comuni riportati di seguito:
+ ID AMI: ami-0abcdef1234567890
+ ID prenotazione: r-1234567890abcabc0
+ Chiavi pubbliche: nessuna 
+ Nome del gruppo di sicurezza: nome di default
+ Tipo di istanza: t2.micro

Tuttavia, ciascuna istanza ha metadati univoci, come mostrato nelle tabelle seguenti.


| Metadati | Valore | 
| --- | --- | 
| instance-id | i-1234567890abcdef0 | 
| ami-launch-index | 0 | 
| public-hostname | ec2-203-0-113-25.compute-1.amazonaws.com | 
| public-ipv4 | 67.202.51.223 | 
| local-hostname | ip-10-251-50-12.ec2.internal | 
| local-ipv4 | 10.251.50.35 | 


| Metadati | Valore | 
| --- | --- | 
| instance-id | i-0598c7d356eba48d7 | 
| ami-launch-index | 1 | 
| public-hostname | ec2-67-202-51-224.compute-1.amazonaws.com | 
| public-ipv4 | 67.202.51.224 | 
| local-hostname | ip-10-251-50-36.ec2.internal | 
| local-ipv4 | 10.251.50.36 | 


| Metadati | Valore | 
| --- | --- | 
| instance-id | i-0ee992212549ce0e7 | 
| ami-launch-index | 2 | 
| public-hostname | ec2-67-202-51-225.compute-1.amazonaws.com | 
| public-ipv4 | 67.202.51.225 | 
| local-hostname | ip-10-251-50-37.ec2.internal | 
| local-ipv4 | 10.251.50.37 | 


| Metadati | Valore | 
| --- | --- | 
| instance-id | i-1234567890abcdef0 | 
| ami-launch-index | 3 | 
| public-hostname | ec2-67-202-51-226.compute-1.amazonaws.com | 
| public-ipv4 | 67.202.51.226 | 
| local-hostname | ip-10-251-50-38.ec2.internal | 
| local-ipv4 | 10.251.50.38 | 

Alice può utilizzare il valore `ami-launch-index` per determinare la parte di dati utente validi per un'istanza specifica.

1. Collega una delle istanze e recupera il valore `ami-launch-index` per tale istanza per assicurarsi che sia una delle repliche:

------
#### [ IMDSv2 ]

   ```
   [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/meta-data/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
   && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/ami-launch-index
   2
   ```

   Per i passaggi seguenti, le IMDSv2 richieste utilizzano il token memorizzato del IMDSv2 comando precedente, supponendo che il token non sia scaduto.

------
#### [ IMDSv1 ]

   ```
   [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/ami-launch-index
   2
   ```

------

1. Salva il valore `ami-launch-index` come una variabile.

------
#### [ IMDSv2 ]

   ```
   [ec2-user ~]$ ami_launch_index=`curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/ami-launch-index`
   ```

------
#### [ IMDSv1 ]

   ```
   [ec2-user ~]$ ami_launch_index=`curl http://169.254.169.254/latest/meta-data/ami-launch-index`
   ```

------

1. Salva i dati utente come una variabile.

------
#### [ IMDSv2 ]

   ```
   [ec2-user ~]$ user_data=`curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/user-data`
   ```

------
#### [ IMDSv1 ]

   ```
   [ec2-user ~]$ user_data=`curl http://169.254.169.254/latest/user-data`
   ```

------

1. Alice utilizza infine il comando **cut** per estrarre la parte di dati utente valida per l'istanza specifica.

------
#### [ IMDSv2 ]

   ```
   [ec2-user ~]$ echo $user_data | cut -d"|" -f"$ami_launch_index"
   replicate-every=5min
   ```

------
#### [ IMDSv1 ]

   ```
   [ec2-user ~]$ echo $user_data | cut -d"|" -f"$ami_launch_index"
   replicate-every=5min
   ```

------