Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemple Linux : valeur de l'index de lancement de l'AMI
Cet exemple montre comment vous pouvez utiliser à la fois les données utilisateur et les métadonnées d'instance pour configurer vos instances Linux.
Note
Les exemples de cette section utilisent l’adresse IPv4 de l’IMDS : 169.254.169.254
. Si vous récupérez des métadonnées d’instance pour les instances EC2 sur l’adresse IPv6, assurez-vous d’activer et d’utiliser l’adresse IPv6 à la place : [fd00:ec2::254]
. L’adresse IPv6 de l’IMDS est compatible avec les commandes IMDSv2. L'adresse IPv6 n'est accessible que sur les instances créées sur le système AWS
Nitro et dans un sous-réseau compatible IPv6 (double pile ou IPv6 uniquement).
Alice souhaite lancer quatre instances de son AMI de base de données préférée ; la première instance servant d’instance initiale et les trois autres de réplicas. Lorsqu’elle les lance, elle souhaite ajouter des données utilisateur portant sur la stratégie de réplication pour chaque réplica. Elle sait que ces données seront disponibles pour les quatre instances. Elle a donc besoin de structurer les données utilisateur de sorte que chaque instance reconnaisse quelles parties la concernent. Pour ce faire, elle peut utiliser la valeur de métadonnées d’instance ami-launch-index
qui sera unique pour chaque instance. Si elle démarre plus d’une instance à la fois, la valeur ami-launch-index
indique l’ordre dans lequel les instances ont été lancées. La valeur de la première instance lancée est 0
.
Voici les données utilisateur construites par Alice.
replicate-every=1min | replicate-every=5min | replicate-every=10min
La donnée replicate-every=1min
définit la configuration du premier réplica, replicate-every=5min
définit la configuration du deuxième réplica, et ainsi de suite. Alice décide de fournir ces données sous la forme d’une chaîne ASCII avec un symbole barre verticale (|
) délimitant les données pour les différentes instances.
Alice lance quatre instances à l’aide de la commande run-instances, en spécifiant les données utilisateur.
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"
Après leur lancement, toutes les instances ont une copie des données utilisateur et des métadonnées communes présentées ici :
-
ID d’AMI : ami-0abcdef1234567890
-
ID de réservation : r-1234567890abcabc0
-
Clés publiques : aucune
-
Nom du groupe de sécurité : par défaut
-
Type d’instance : t2.micro
Cependant, chaque instance possède des métadonnées uniques, comme indiqué dans les tableaux suivants.
Metadonnées | Valeur |
---|---|
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 |
Metadonnées | Valeur |
---|---|
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 |
Metadonnées | Valeur |
---|---|
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 |
Metadonnées | Valeur |
---|---|
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 peut utiliser la valeur ami-launch-index
pour déterminer quelle portion des données utilisateur est applicable à une instance particulière.
-
Elle se connecte à l’une des instances et récupère
ami-launch-index
pour cette instance afin de s’assurer qu’il s’agit de l’un des réplicas : -
Elle enregistre les données
ami-launch-index
sous forme de variable. -
Elle enregistre les données utilisateur sous forme de variable.
-
Enfin, Alice utilise la commande cut pour extraire la portion de données utilisateur applicable à cette instance.