View a markdown version of this page

Configurer les options de métadonnées d’instance pour les instances existantes - 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.

Configurer les options de métadonnées d’instance pour les instances existantes

Vous pouvez modifier les options des métadonnées d’instance pour les instances existantes.

De même, vous pouvez créer une politique IAM qui empêche les utilisateurs de modifier les options des métadonnées d’instance sur des instances existantes. Pour contrôler quels utilisateurs peuvent modifier les options de métadonnées de l'instance, définissez une politique qui empêche tous les utilisateurs autres que ceux ayant un rôle spécifié d'utiliser l'ModifyInstanceMetadataOptionsAPI. Pour examiner l’exemple de stratégie IAM, consultez Utiliser des métadonnées d’instance.

Note

Si une politique déclarative a été utilisée pour configurer les options de métadonnées de l’instance, vous ne pouvez pas les modifier directement dans le compte. Pour plus d’informations, consultez la rubrique Politiques déclaratives dans le Guide de l’utilisateur AWS Organizations .

Exigence d’utilisation d’IMDSv2

Utilisez l’une des méthodes suivantes pour modifier les options des métadonnées d’instance sur une instance existante afin d’imposer l’utilisation d’IMDSv2 pour pouvoir demander des métadonnées d’instance. Lorsque IMDSv2 est requis, IMDSv1 ne peut pas être utilisé.

Note

Avant de demander l’utilisation d’IMDSv2, assurez-vous que l’instance n’effectue pas d’appels IMDSv1. La MetadataNoToken CloudWatch métrique suit les appels IMDSv1. Lorsqu’aucune utilisation d’IMDSv1 MetadataNoToken n’est enregistrée pour une instance, celle-ci est alors prête à nécessiter IMDSv2.

Console
Imposition de l’utilisation d’IMDSv2 sur une instance existante
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Sélectionnez votre instance.

  4. Choisissez Actions, Paramètres de l’instance, puis Modifier les options des métadonnées d’instance.

  5. Dans la boîte de dialogue Modifier les options des métadonnées d’instance, procédez comme suit :

    1. Pour Service de métadonnées d’instance, sélectionnez Activer.

    2. Pour IMDSv2, choisissez Requis.

    3. Choisissez Enregistrer.

AWS CLI
Imposition de l’utilisation d’IMDSv2 sur une instance existante

Utilisez la commande d’interface de ligne de commande modify-instance-metadata-options et définissez le paramètre http-tokens sur required. Lorsque vous spécifiez une valeur pour http-tokens, vous devez également définir http-endpoint sur enabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-tokens required \ --http-endpoint enabled
PowerShell
Imposition de l’utilisation d’IMDSv2 sur une instance existante

Utilisez l'Edit-EC2InstanceMetadataOptionapplet de commande et définissez le HttpTokens paramètre sur. required Lorsque vous spécifiez une valeur pour HttpTokens, vous devez également définir HttpEndpoint sur enabled.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -HttpTokens required ` -HttpEndpoint enabled).InstanceMetadataOptions

Restaurer l’utilisation d’IMDSv1

Lorsque IMDSv2 est requis sur une instance, l'utilisation d'une requête IMDSv1 échouera. Lorsque IMDSv2 est facultatif, IMDSv2 et IMDSv1 fonctionnent. Par conséquent, pour restaurer IMDSv1, définissez IMDSv2 sur optional (httpTokens = optional) en utilisant l'une des méthodes suivantes.

La propriété httpTokensEnforced IMDS empêche également les tentatives d'activation d'IMDSv1 sur une instance existante. Lorsque cette option est activée pour un compte dans une région, toute tentative httpTokens de réglage optional entraîne une UnsupportedOperation exception. Pour plus d'informations, consultezRésolution des problèmes.

Important

Si le lancement de votre instance échoue en raison de l'application de l'IMDSv2, deux options s'offrent à vous pour permettre le succès des lancements :

  • Lancer les instances en tant que IMDSv2-only  : si le logiciel qui s'exécute sur les instances utilise uniquement IMDSv2 (aucune dépendance vis-à-vis d'IMDSv1), vous pouvez lancer les instances en tant qu'IMDSv2 uniquement. Pour ce faire, configurez IMDSv2 uniquement en le définissant httpTokens = required soit dans les paramètres de lancement, soit dans les valeurs par défaut des métadonnées pour le compte de la Région.

  • Désactiver l'application — Si votre logiciel dépend toujours d'IMDSv1, configurez cette option httpTokensEnforced disabled pour le compte de la région. Pour de plus amples informations, veuillez consulter Appliquez IMDSv2 au niveau du compte.

Console
Restauration de l’utilisation d’IMDSv1 sur une instance
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Sélectionnez votre instance.

  4. Choisissez Actions, Paramètres de l’instance, puis Modifier les options des métadonnées d’instance.

  5. Dans la boîte de dialogue Modifier les options des métadonnées d’instance, procédez comme suit :

    1. Pour Service de métadonnées d’instance, assurez-vous que l’option Activer est sélectionnée.

    2. Pour IMDSv2, choisissez Facultatif.

    3. Choisissez Enregistrer.

AWS CLI
Restauration de l’utilisation d’IMDSv1 sur une instance

Vous pouvez utiliser la commande de l’interface de ligne de commande modify-instance-metadata-options avec http-tokens défini sur optional pour restaurer l’utilisation de IMDSv1 lors de la demande de métadonnées d’instance.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-tokens optional \ --http-endpoint enabled
PowerShell
Restauration de l’utilisation d’IMDSv1 sur une instance

Vous pouvez utiliser l'Edit-EC2InstanceMetadataOptionapplet de commande avec HttpTokens set optional to pour rétablir l'utilisation d'IMDSv1 lors de la demande de métadonnées d'instance.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -HttpTokens optional ` -HttpEndpoint enabled).InstanceMetadataOptions

Modifier la durée de vie de la réponse PUT

Pour les instances existantes, vous pouvez modifier les paramètres de la durée de vie (hop limit) de la réponse PUT.

Actuellement, seuls les AWS SDK AWS CLI et prennent en charge la modification de la limite de sauts de réponse PUT.

AWS CLI
Pour modifier la durée de vie (hop limit) de la réponse PUT

Utilisez la commande d’interface de ligne de commande modify-instance-metadata-options et définissez le paramètre http-put-response-hop-limit sur la durée de vie (hop limit) requise. Dans l’exemple suivant, la durée de vie (hop limit) est définie 3. Notez que lorsque vous spécifiez une valeur pour http-put-response-hop-limit, vous devez également définir http-endpoint sur enabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-put-response-hop-limit 3 \ --http-endpoint enabled
PowerShell
Pour modifier la durée de vie (hop limit) de la réponse PUT

Utilisez l'Edit-EC2InstanceMetadataOptionapplet de commande et définissez le HttpPutResponseHopLimit paramètre sur le nombre de sauts requis. Dans l’exemple suivant, la durée de vie (hop limit) est définie 3. Notez que lorsque vous spécifiez une valeur pour HttpPutResponseHopLimit, vous devez également définir HttpEndpoint sur enabled.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -HttpPutResponseHopLimit 3 ` -HttpEndpoint enabled).InstanceMetadataOptions

Activer les points de terminaison IPv4 et IPv6 IMDS

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é. Le point de terminaison IPv6 reste désactivé même si vous lancez une instance dans un IPv6-only sous-réseau. Pour activer le point de terminaison IPv6, vous devez le faire explicitement. Lorsque vous activez le point de terminaison IPv6, le point de terminaison IPv4 reste activé.

Vous pouvez activer le point de terminaison IPv6 au lancement de l’instance ou après.

Conditions requises pour activer le point de terminaison IPv6

Actuellement, seuls les AWS SDK AWS CLI et prennent en charge l'activation du point de terminaison IPv6 IMDS après le lancement de l'instance.

AWS CLI
Pour activer le point de terminaison IMDS IPv6 pour votre instance

Utilisez la commande d’interface de ligne de commande modify-instance-metadata-options et définissez le paramètre http-protocol-ipv6 sur enabled. Notez que lorsque vous spécifiez une valeur pour http-protocol-ipv6, vous devez également définir http-endpoint sur enabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-protocol-ipv6 enabled \ --http-endpoint enabled
PowerShell
Pour activer le point de terminaison IMDS IPv6 pour votre instance

Utilisez l'Edit-EC2InstanceMetadataOptionapplet de commande et définissez le HttpProtocolIpv6 paramètre sur. enabled Notez que lorsque vous spécifiez une valeur pour HttpProtocolIpv6, vous devez également définir HttpEndpoint sur enabled.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -HttpProtocolIpv6 enabled ` -HttpEndpoint enabled).InstanceMetadataOptions

Activer l’accès aux métadonnées d’instance

Vous pouvez activer l’accès aux métadonnées d’instance en activant le point de terminaison HTTP de l’IMDS sur votre instance, quelle que soit la version de ce dernier que vous utilisez. Vous pouvez annuler cette modification à tout moment en désactivant à nouveau le point de terminaison HTTP.

Pour activer l’accès aux métadonnées d’instance sur une instance, utilisez l’une des méthodes suivantes.

Console
Activation de l’accès aux métadonnées d’instance
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Sélectionnez votre instance.

  4. Choisissez Actions, Paramètres de l’instance, puis Modifier les options des métadonnées d’instance.

  5. Dans la boîte de dialogue Modifier les options des métadonnées d’instance, procédez comme suit :

    1. Pour Service de métadonnées d’instance, sélectionnez Activer.

    2. Choisissez Enregistrer.

AWS CLI
Activation de l’accès aux métadonnées d’instance

Utilisez la commande d’interface de ligne de commande modify-instance-metadata-options et définissez le paramètre http-endpoint sur enabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-endpoint enabled
PowerShell
Activation de l’accès aux métadonnées d’instance

Utilisez l'Edit-EC2InstanceMetadataOptionapplet de commande et définissez le HttpEndpoint paramètre sur. enabled

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -HttpEndpoint enabled).InstanceMetadataOptions

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

Vous pouvez désactiver l’accès aux métadonnées d’instance en désactivant le point de terminaison HTTP de l’IMDS sur votre instance, quelle que soit la version de ce dernier que vous utilisez. Vous pouvez annuler cette modification à tout moment en activant à nouveau le point de terminaison HTTP.

Pour désactiver l’accès aux métadonnées d’instance sur une instance, utilisez l’une des méthodes suivantes.

Console
Désactivation de l’accès aux métadonnées d’instance
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Sélectionnez votre instance.

  4. Choisissez Actions, Paramètres de l’instance, puis Modifier les options des métadonnées d’instance.

  5. Dans la boîte de dialogue Modifier les options des métadonnées d’instance, procédez comme suit :

    1. Pour Service de métadonnées d’instance, désélectionnez Activer.

    2. Choisissez Enregistrer.

AWS CLI
Désactivation de l’accès aux métadonnées d’instance

Utilisez la commande d’interface de ligne de commande modify-instance-metadata-options et définissez le paramètre http-endpoint sur disabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-endpoint disabled
PowerShell
Désactivation de l’accès aux métadonnées d’instance

Utilisez l'Edit-EC2InstanceMetadataOptionapplet de commande et définissez le HttpEndpoint paramètre sur. disabled

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -HttpEndpoint disabled).InstanceMetadataOptions

Autoriser l’accès aux identifications dans les métadonnées d’instance

Vous pouvez autoriser l’accès aux balises dans les métadonnées de l’instance sur une instance en cours d’exécution ou arrêtée. Pour chaque instance, vous devez explicitement autoriser l’accès. Si l’accès est autorisé, les clés des balises d’instance doivent respecter des restrictions de caractères spécifiques, sinon vous obtenez une erreur. Pour de plus amples informations, veuillez consulter Activation de l’accès aux balises dans les métadonnées d’instance.

Résolution des problèmes

La modification d'une IMDSv1-enabled instance échoue

Description

Le message d'erreur suivant s'affiche :

You can't launch instances with IMDSv1 because httpTokensEnforced is enabled for this account. Either launch the instance with httpTokens=required or contact your account owner to disable httpTokensEnforced using the ModifyInstanceMetadataDefaults API or the account settings in the EC2 console.

Cause

Cette erreur est générée lorsque vous tentez de modifier une instance existante pour activer IMDSv1 (httpTokens = optional) dans un compte où les paramètres du compte EC2 ou une politique déclarative de AWS l'organisation impose l'utilisation d'IMDSv2 (). httpTokensEnforced = enabled

Solution

Si vous avez besoin de la prise en charge d'IMDSv1 sur des instances existantes, vous devez désactiver l'application de l'IMDSv2 pour le compte de la Région. Pour désactiver l'application de la norme IMDSv2, définissez surHttpTokensEnforced. disabled Pour plus d'informations, consultez ModifyInstanceMetadataDefaults la référence de l'API Amazon EC2. Si vous préférez configurer ce paramètre à l'aide de la console, consultezAppliquez IMDSv2 au niveau du compte.

Nous vous recommandons d'utiliser uniquement IMDSv2 ()httpTokens=required. Pour de plus amples informations, veuillez consulter Passer à l’utilisation de Service des métadonnées d’instance Version 2.