View a markdown version of this page

Configuration du service des métadonnées d’instance - Amazon Elastic Compute Cloud

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.

Configuration du service des métadonnées d’instance

Le service de métadonnées d’instance (IMDS) s’exécute localement sur chaque instance EC2. Les options de métadonnées d’instance font référence à un ensemble de configurations qui contrôlent l’accessibilité et le comportement de l’IMDS sur une instance EC2.

Vous pouvez configurer les options de métadonnées d’instance suivantes.

Service de métadonnées d’instance (IMDS) : enabled | disabled

Vous pouvez activer ou désactiver l’IMDS sur une instance. Lorsque cette option est désactivée, ni vous ni aucun code ne pouvez accéder aux métadonnées de l’instance.

L’IMDS possède deux points de terminaison sur une instance : IPv4 (169.254.169.254) et IPv6 (). [fd00:ec2::254] Lorsque vous activez l’IMDS, le point de terminaison IPv4 est automatiquement activé. Si vous souhaitez activer le point de terminaison IPv6, vous devez le faire explicitement.

Point de terminaison IPv6 IMDS : | enabled disabled

Vous pouvez activer explicitement le point de terminaison IPv6 IMDS sur une instance. Lorsque le point de terminaison IPv6 est activé, le point de terminaison IPv4 reste activé. Le point de terminaison IPv6 n'est pris en charge que sur les Nitro-based instances IPv6-supported des sous-réseaux (double pile ou IPv6 uniquement).

Version des métadonnées : IMDSv1 or IMDSv2 (token optional) | IMDSv2 only (token required)

Lors de la demande de métadonnées d’instance, les appels IMDSv2 nécessitent un jeton. Les appels IMDSv1 ne nécessitent pas de jeton. Vous pouvez configurer une instance pour autoriser les appels IMDSv1 ou IMDSv2 (où un jeton est facultatif), ou pour autoriser uniquement les appels IMDSv2 (lorsqu’un jeton est requis).

Limite de saut de réponse des métadonnées : 164

La limite de saut est le nombre de saut de réseau que la réponse PUT est autorisée à effectuer. Vous pouvez définir la limite de sauts sur un minimum 1 et un maximum de64. Dans un environnement de conteneurs, une limite de saut de 1 peut entraîner des problèmes. Pour plus d’informations sur la manière d’atténuer ces problèmes, consultez les informations sur les environnements de conteneurs sous Considérations sur l’accès aux métadonnées d’instance.

Autoriser l’accès aux balises dans les métadonnées de l’instance : enabled | disabled

Vous pouvez activer ou désactiver l’accès aux balises de l’instance à partir des métadonnées de l’instance. Pour de plus amples informations, veuillez consulter Affichez les balises pour vos instances EC2 à l'aide des métadonnées d'instance.

Pour consulter la configuration actuelle d’une instance, consultez la section Interroger les options de métadonnées d’instance pour les instances existantes.

Où configurer les options de métadonnées d’instance

Les options de métadonnées d’instance peuvent être configurées à différents niveaux, comme suit :

  • Compte : vous pouvez définir des valeurs par défaut pour les options de métadonnées de l’instance au niveau du compte pour chacune d’entre elles Région AWS. Lorsqu’une instance est lancée, les options de métadonnées de l’instance sont automatiquement définies sur les valeurs au niveau du compte. Vous pouvez modifier ces valeurs au lancement. Account-level les valeurs par défaut n'affectent pas les instances existantes.

  • AMI – Vous pouvez définir le paramètre imds-support vers v2.0 lorsque vous enregistrez ou modifiez une AMI. Lorsqu’une instance est lancée avec cette AMI, la version des métadonnées de l’instance est automatiquement définie sur IMDSv2 et la limite de sauts est définie sur 2.

  • Instance : vous pouvez modifier toutes les options de métadonnées d’une instance au lancement, en remplaçant les paramètres par défaut. Vous pouvez également modifier les options de métadonnées de l’instance après le lancement sur une instance en cours d’exécution ou arrêtée. Notez que les modifications peuvent être limitées par une politique IAM ou SCP.

Pour plus d’informations, consultez Configurer les options de métadonnées d’instance pour les nouvelles instances et Configurer les options de métadonnées d’instance pour les instances existantes.

Ordre de priorité pour les options de métadonnées des instances

La valeur de chaque option de métadonnées d’instance est déterminée au lancement de l’instance, selon un ordre de priorité hiérarchique. La hiérarchie, avec la priorité la plus élevée au sommet, est la suivante :

  • Priorité 1 : Configuration de l’instance au lancement — Les valeurs peuvent être spécifiées dans le modèle de lancement ou dans la configuration de l’instance. Toutes les valeurs spécifiées ici remplacent les valeurs spécifiées au niveau du compte ou dans l’AMI.

  • Priorité 2 : paramètres du compte — Si aucune valeur n'est spécifiée au lancement de l'instance, elle est déterminée par les paramètres au niveau du compte (qui sont définis pour chaque instance). Région AWS Account-levelles paramètres incluent une valeur pour chaque option de métadonnées ou n'indiquent aucune préférence.

  • Priorité 3 : configuration de l’AMI — Si aucune valeur n’est spécifiée au lancement de l’instance ou au niveau du compte, elle est déterminée par la configuration de l’AMI. Cela s’applique uniquement à HttpTokens et HttpPutResponseHopLimit.

Chaque option de métadonnées est évaluée séparément. L’instance peut être configurée à l’aide d’une combinaison de configuration directe, de paramètres par défaut au niveau du compte et de configuration depuis l’AMI.

Vous pouvez modifier la valeur de n’importe quelle option de métadonnées après le lancement sur une instance en cours d’exécution ou arrêtée, sauf si les modifications sont limitées par une politique IAM ou SCP.

Note

Le paramètre d'application IMDSv2 au niveau du compte est évalué une fois que l'ordre de priorité a déterminé les paramètres IMDS de l'instance. Lorsque l'application IMDSv2 est activée, les instances activées avec IMDSv1 échoueront. Pour plus d'informations sur l'exécution, consultezAppliquez IMDSv2 au niveau du compte.

Avertissement

Si l'application IMDSv2 est activée et n'httpTokensa pas été définie required dans la configuration de l'instance au lancement, dans les paramètres du compte ou dans la configuration de l'AMI, votre lancement échouera.

Exemple 1 — Déterminer les valeurs des options de métadonnées

Dans cet exemple, une instance EC2 est lancée dans une région où le paramètre HttpPutResponseHopLimit est défini 1 au niveau du compte. L’AMI spécifiée est ImdsSupport définie surv2.0. Aucune option de métadonnées n’est spécifiée directement sur l’instance au lancement. L’instance est lancée avec les options de métadonnées suivantes :

"MetadataOptions": { ... "HttpTokens": "required", "HttpPutResponseHopLimit": 1, ...

Ces valeurs ont été déterminées comme suit :

  • Aucune option de métadonnées spécifiée au lancement : lors du lancement de l’instance, aucune valeur spécifique pour les options de métadonnées n’était fournie ni dans les paramètres de lancement de l’instance ni dans le modèle de lancement.

  • Les paramètres du compte ont la priorité suivante : en l’absence de valeurs spécifiques spécifiées au lancement, les paramètres au niveau du compte dans la région sont prioritaires. Cela signifie que les valeurs par défaut configurées au niveau du compte sont appliquées. Dans ce cas, le HttpPutResponseHopLimit a été réglé sur1.

  • Les paramètres de l’AMI ont la dernière priorité : en l’absence de valeur spécifique spécifiée au lancement ou au niveau du compte pour HttpTokens (la version des métadonnées de l’instance), le paramètre de l’AMI est appliqué. Dans ce cas, le paramètre AMI a ImdsSupport: v2.0 déterminé que ce paramètre HttpTokens était défini surrequired. Notez que bien que le paramètre AMI ImdsSupport: v2.0 soit conçu pour être définiHttpPutResponseHopLimit: 2, il a été remplacé par le paramètre au niveau du compteHttpPutResponseHopLimit: 1, qui a une priorité plus élevée.

Exemple 2 — Déterminer les valeurs des options de métadonnées

Dans cet exemple, l’instance EC2 est lancée avec les mêmes paramètres que dans l’exemple 1 précédent, mais avec la valeur HttpTokens définie sur optional directement sur l’instance au lancement. L’instance est lancée avec les options de métadonnées suivantes :

"MetadataOptions": { ... "HttpTokens": "optional", "HttpPutResponseHopLimit": 1, ...

La valeur pour HttpPutResponseHopLimit est déterminée de la même manière que dans l’exemple 1. Toutefois, la valeur pour HttpTokens est déterminée comme suit : Les options de métadonnées configurées sur l’instance au lancement sont prioritaires. Même si l’AMI était configurée avec ImdsSupport: v2.0 (en d’autres termes, elle HttpTokens est définie surrequired), la valeur spécifiée sur l’instance au lancement (HttpTokensdéfinie suroptional) était prioritaire.

Exemple 3 — Déterminer les valeurs des options de métadonnées avec HttpTokensEnforced activé

Dans cet exemple, le compte de la Région possède HttpTokens = required etHttpTokensEnforced = enabled.

Prenez en compte les tentatives de lancement d'instance EC2 suivantes :

  • Tentative de lancement avec HttpTokens défini sur optional : le lancement échoue car l'application au niveau du compte est activée (HttpTokensEnforced = enabled) et le paramètre de lancement est prioritaire sur le compte par défaut.

  • Tentative de lancement avec HttpTokens réglé sur required — Le lancement réussit car il est conforme à l'application au niveau du compte.

  • Tentative de lancement sans HttpTokens valeur spécifiée — Le lancement réussit car la valeur par défaut est required basée sur les paramètres du compte.

Définissez la version des métadonnées de l’instance

Lorsqu'une instance est lancée, la valeur de la version des métadonnées de l'instance est IMDSv1 ou IMDSv2 (jeton facultatif) () ou IMDSv2 uniquement (jeton requishttpTokens=optional) (). httpTokens=required

Au lancement de l’instance, vous pouvez soit spécifier manuellement la valeur de la version des métadonnées, soit utiliser la valeur par défaut. Si vous spécifiez manuellement la valeur, elle remplace toutes les valeurs par défaut. Si vous choisissez de ne pas spécifier la valeur manuellement, elle sera déterminée par une combinaison de paramètres par défaut.

L'organigramme suivant montre comment la version des métadonnées d'une instance au lancement est déterminée par les paramètres aux différents niveaux de la configuration et où l'application est évaluée. Le tableau suivant présente les paramètres spécifiques à chaque niveau.

Organigramme qui montre les points d'évaluation relatifs à la version des métadonnées de l'instance et à l'application de la norme IMDSv2.

Le tableau montre comment la version des métadonnées d’une instance au lancement (indiquée par Configuration de l’instance résultante dans la colonne 4) est déterminée par les paramètres aux différents niveaux de configuration. L’ordre de priorité est de gauche à droite, la première colonne ayant la priorité la plus élevée, comme suit :

  • Colonne 1 : paramètre de lancement : représente le paramètre de l’instance que vous spécifiez manuellement au lancement.

  • Colonne 2 : Niveau de compte par défaut — Représente le paramètre du compte.

  • Colonne 3 : valeur par défaut de l’AMI — Représente le paramètre de l’AMI.

Paramètre de lancement Niveau du compte par défaut AMI par défaut Configuration des instances qui en résulte
V2 uniquement (jeton requis) Aucune préférence V2 uniquement V2 uniquement
V2 uniquement (jeton requis) V2 uniquement V2 uniquement V2 uniquement
V2 uniquement (jeton requis) V1 ou V2 V2 uniquement V2 uniquement
V1 ou V2 (jeton facultatif) Aucune préférence V2 uniquement V1 ou V2
V1 ou V2 (jeton facultatif) V2 uniquement V2 uniquement V1 ou V2
V1 ou V2 (jeton facultatif) V1 ou V2 V2 uniquement V1 ou V2
Non défini Aucune préférence V2 uniquement V2 uniquement
Non défini V2 uniquement V2 uniquement V2 uniquement
Non défini V1 ou V2 V2 uniquement V1 ou V2
V2 uniquement (jeton requis) Aucune préférence null V2 uniquement
V2 uniquement (jeton requis) V2 uniquement null V2 uniquement
V2 uniquement (jeton requis) V1 ou V2 null V2 uniquement
V1 ou V2 (jeton facultatif) Aucune préférence null V1 ou V2
V1 ou V2 (jeton facultatif) V2 uniquement null V1 ou V2
V1 ou V2 (jeton facultatif) V1 ou V2 null V1 ou V2
Non défini Aucune préférence null V1 ou V2
Non défini V2 uniquement null V2 uniquement
Non défini V1 ou V2 null V1 ou V2

Utiliser les clés de condition IAM pour restreindre les options de métadonnées de l’instance

Vous pouvez utiliser les clés de condition IAM dans une politique IAM ou un SCP comme suit :

  • Autoriser le lancement d’une instance uniquement si elle est configurée pour exiger l’utilisation d’IMDSv2

  • Restreindre le nombre de sauts autorisés

  • Désactiver l’accès aux métadonnées d’instance

Note

Vous devez procéder avec précautions et effectuer des tests méticuleux avant toute modification. Notez les informations suivantes :

  • Si vous imposez l’utilisation de IMDSv2, les applications ou agents qui utilisent IMDSv1 pour l’accès aux métadonnées d’instance cesseront de fonctionner.

  • Si vous désactivez tous les accès aux métadonnées d’instance, les applications ou agents dont le fonctionnement repose sur l’accès aux métadonnées d’instance cesseront de fonctionner.

  • Pour IMDSv2, vous devez utiliser /latest/api/token lors de la récupération du jeton.

  • (Windows uniquement) Si votre PowerShell version est antérieure à 4.0, vous devez effectuer une mise à jour vers Windows Management Framework 4.0 pour nécessiter l'utilisation d'IMDSv2.