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, spécifiez une politique qui empêche tous les utilisateurs autres que les utilisateurs ayant un rôle spécifique 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 .

Exiger l'utilisation de IMDSv2

Utilisez l'une des méthodes suivantes pour modifier les options de métadonnées d'instance sur une instance existante afin d'exiger qu'elle IMDSv2 soit utilisée lors de la demande de métadonnées d'instance. Lorsque cela IMDSv2 est nécessaire, IMDSv1 ne peut pas être utilisé.

Note

Avant de demander que cela IMDSv2 soit utilisé, assurez-vous que l'instance ne passe pas d' IMDSv1 appels. La MetadataNoToken CloudWatch métrique suit les IMDSv1 appels. Lorsqu'MetadataNoTokenaucune IMDSv1 utilisation n'est enregistrée pour une instance, celle-ci est alors prête à être requise IMDSv2.

Console
Pour exiger l'utilisation de 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 Obligatoire.

    3. Choisissez Enregistrer.

AWS CLI
Pour exiger l'utilisation de IMDSv2 sur une instance existante

Utilisez la commande modify-instance-metadata-optionsCLI et définissez le http-tokens paramètre surrequired. 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
Pour exiger l'utilisation de 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

Restaurez l'utilisation de IMDSv1

Lorsque cela IMDSv2 est requis sur une instance, l'utilisation d'une IMDSv1 demande échouera. Quand IMDSv2 c'est facultatif, alors IMDSv2 les deux IMDSv1 fonctionneront. Par conséquent, pour effectuer une restauration IMDSv1, définissez IMDSv2 le paramètre sur optional (httpTokens = optional) à l'aide de l'une des méthodes suivantes.

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

Important

Si le lancement de votre instance échoue pour des raisons d' IMDSv2 application, deux options s'offrent à vous pour garantir le succès des lancements :

  • Lancer les instances IMDSv2 uniquement : si le logiciel exécuté sur les instances les utilise IMDSv2 uniquement (sans dépendance IMDSv1), vous pouvez lancer les instances en tant que telles IMDSv2 uniquement. Pour ce faire, configurez IMDSv2 uniquement en définissant httpTokens = required les paramètres de lancement ou les métadonnées par défaut du compte dans la région.

  • Désactiver l'application : si votre logiciel en dépend toujours IMDSv1, httpTokensEnforced disabled réglez-le sur le compte de la région. Pour de plus amples informations, veuillez consulter Appliquer IMDSv2 au niveau du compte.

Console
Pour rétablir l'utilisation de 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
Pour rétablir l'utilisation de IMDSv1 sur une instance

Vous pouvez utiliser la commande modify-instance-metadata-optionsCLI avec http-tokens set optional to pour rétablir l'utilisation de IMDSv1 lorsque vous demandez des métadonnées d'instance.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-tokens optional \ --http-endpoint enabled
PowerShell
Pour rétablir l'utilisation de IMDSv1 sur une instance

Vous pouvez utiliser l'Edit-EC2InstanceMetadataOptionapplet de commande avec HttpTokens set optional to pour rétablir l'utilisation de IMDSv1 lorsque vous demandez des 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 CLI et AWS SDKs 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 modify-instance-metadata-optionsCLI et définissez le http-put-response-hop-limit 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 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

Activez l'IMDS IPv4 et les points de terminaison IPv6

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

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

Conditions requises pour activer le IPv6 point de terminaison

Actuellement, seul le AWS SDKs support AWS CLI et active le point de IPv6 terminaison IMDS après le lancement de l'instance.

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

Utilisez la commande modify-instance-metadata-optionsCLI et définissez le http-protocol-ipv6 paramètre surenabled. 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 IPv6 terminaison IMDS 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 modify-instance-metadata-optionsCLI et définissez le http-endpoint paramètre surenabled.

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 modify-instance-metadata-optionsCLI et définissez le http-endpoint paramètre surdisabled.

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 instance IMDSv1 activée é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 qu'elle soit IMDSv1 activée (httpTokens = optional) dans un compte où les paramètres du compte EC2 ou une politique déclarative de AWS l'organisation imposent l'utilisation de IMDSv2 (). httpTokensEnforced = enabled

Solution

Si vous avez besoin d' IMDSv1 assistance sur des instances existantes, vous devrez désactiver IMDSv2 l'application pour le compte dans la Région. Pour désactiver IMDSv2 l'application, définissez HttpTokensEnforced surdisabled. Pour plus d'informations, consultez ModifyInstanceMetadataDefaultsle manuel Amazon EC2 API Reference. Si vous préférez configurer ce paramètre à l'aide de la console, consultezAppliquer IMDSv2 au niveau du compte.

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