

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Identifizieren Sie jede Instance, die in einer einzelnen Anfrage gestartet wurde
<a name="AMI-launch-index-examples"></a>

In diesem Beispiel wird gezeigt, wie Sie Ihre Amazon-EC2-Instances sowohl mit Benutzerdaten als auch mit Instance-Metadaten konfigurieren können.

**Anmerkung**  
Die Beispiele in diesem Abschnitt verwenden die IPv4 Adresse des IMDS:`169.254.169.254`. Wenn Sie Instanz-Metadaten für EC2-Instances über die IPv6 Adresse abrufen, stellen Sie sicher, dass Sie stattdessen die IPv6 Adresse aktivieren und verwenden:. `[fd00:ec2::254]` Die IPv6 Adresse des IMDS ist mit Befehlen kompatibel. IMDSv2 Die IPv6 Adresse ist nur auf [Nitro-basierten Instances](instance-types.md#instance-hypervisor-type) in [Subnetzen zugänglich, die von IPv6 -unterstützt werden](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-ip-address-range) (Dual-Stack oder nur). IPv6 

Alice möchte vier Instances ihres bevorzugten Datenbank-AMI starten; die erste soll dabei als Master-Instance fungieren, die übrigen drei als Replikate. Beim Start der Instances möchte sie Benutzerdaten für die Replikationsstrategien der einzelnen Replikate hinzufügen. Sie weiß, dass diese Daten in allen vier Instances verwendet werden, d. h. sie muss die Benutzerdaten so strukturieren, dass jede Instance erkennt, welcher Teile für sie gedacht ist. Dies kann mithilfe des Instance-Metadatenwerts `ami-launch-index` erreicht werden; dieser ist für jede Instance eindeutig. Wenn sie mehrere Instances gleichzeitig startet, gibt das `ami-launch-index` die Reihenfolge an, in der die Instances gestartet wurden. Der Wert für die zuerst gestartete Instance ist `0`.

Hier sind die Benutzerdaten, die Alice erstellt hat.

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

Die `replicate-every=1min`-Daten definieren die Konfiguration für das erste Replikat, `replicate-every=5min` definiert die Konfiguration für das zweite Replikat usw. Alice beschließt, diese Daten als ASCII-Zeichenfolge bereitzustellen; die Daten für die einzelnen Instances werden dabei durch ein Pipe-Symbol (`|`) voneinander getrennt.

Alice startet vier Instances mit dem Befehl [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) unter Angabe der Benutzerdaten.

```
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"
```

Nach dem Start sind in jeder Instance eine Kopie der Benutzerdaten und die folgenden Metadaten vorhanden:
+ AMI-ID: ami-0abcdef1234567890
+ Reservation ID: r-1234567890abcabc0
+ Public keys: none 
+ Security group name: default
+ Instance type: t2.micro

Jede Instance hat jedoch eindeutige Metadaten, wie in den folgenden Tabellen dargestellt.


| Metadaten | Value | 
| --- | --- | 
| 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 | 


| Metadaten | Value | 
| --- | --- | 
| 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 | 


| Metadaten | Value | 
| --- | --- | 
| 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 | 


| Metadaten | Value | 
| --- | --- | 
| 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 mit dem Wert unter `ami-launch-index` bestimmen, welcher Teil der Benutzerdaten für eine bestimmte Instance anzuwenden ist.

1. Sie stellt eine Verbindung mit einer der Instances her und ruft den `ami-launch-index` für diese Instance ab, um sicherzustellen, dass es sich um eines der Replikate handelt:

------
#### [ 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
   ```

   Für die folgenden Schritte verwenden die IMDSv2 Anfragen das gespeicherte Token aus dem vorherigen IMDSv2 Befehl, vorausgesetzt, das Token ist nicht abgelaufen.

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

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

------

1. Sie speichert das `ami-launch-index` als Variable.

------
#### [ 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. Sie speichert die Benutzerdaten als Variable.

------
#### [ 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. Schließlich verwendet Alice den Befehl **cut**, um den Teil der Benutzerdaten zu extrahieren, der für diese Instance gilt.

------
#### [ 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
   ```

------