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.
Identifiez chaque instance lancée en une seule demande
Cet exemple montre comment vous pouvez utiliser à la fois les données utilisateur et les métadonnées des instances pour configurer vos EC2 instances Amazon.
Note
Les exemples de cette section utilisent l'IPv4adresse du IMDS :169.254.169.254
. Si vous récupérez des métadonnées d'instance pour EC2 des instances via l'IPv6adresse, assurez-vous d'activer et d'utiliser plutôt l'IPv6adresse :[fd00:ec2::254]
. L'IPv6adresse du IMDS est compatible avec IMDSv2 les commandes. L'IPv6adresse n'est accessible que sur les instances basées sur Nitro situées dans des sous-réseaux IPv6 pris en charge (double pile ou IPv6 uniquement).
Alice souhaite lancer quatre instances de sa base de données préféréeAMI, la première faisant office d'instance d'origine et les trois autres de répliques. 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 forme de ASCII chaîne avec un symbole en forme de tube (|
) 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 :
-
AMIIdentifiant : 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.