Configurer les options de métadonnées d'instance pour les nouvelles instances - Amazon Elastic Compute Cloud

Configurer les options de métadonnées d'instance pour les nouvelles instances

Exigence d'utilisation d'IMDSv2

Vous pouvez imposer l'utilisation de IMDSv2 sur une instance au lancement de différentes manières, comme suit :

Configurer l'instance au lancement

Quand vous lancez une instance, vous pouvez configurer l'instance pour imposer l'utilisation de IMDSv2 en configurant les champs suivants :

  • Console Amazon EC2 : définissez Metadata version (Version des métadonnées) sur V2 only (token required) (V2 uniquement [jeton obligatoire]).

  • AWS CLI : définissez HttpTokens sur required.

Lorsque vous spécifiez que IMDSv2 est obligatoire, vous devez également activer le point de terminaison du service de métadonnées de l'instance en définissant Metadata accessible (Métadonnées accessibles) sur Enabled (Activé) (console) ou HttpEndpoint sur enabled (AWS CLI).

New console
Pour imposer l'utilisation d'IMDSv2 sur une nouvelle instance
  • Lors du lancement d'une nouvelle instance dans la console Amazon EC2, développez Détails avancés, et procédez comme suit :

    • PourAccéder aux métadonnées, choisissezActivé.

    • Pour Choisir une version des métadonnées, sélectionnez V2 (jeton obligatoire).

    Pour de plus amples informations, veuillez consulter Détails avancés.

Old console
Pour imposer l'utilisation d'IMDSv2 sur une nouvelle instance
  • Lors du lancement d'une nouvelle instance dans la console Amazon EC2, sélectionnez les options suivantes sur la page Configurer les détails de l'instance :

    • Sous Détails avancés, pour Métadonnées accessibles, sélectionnez Activé.

    • Pour Version des métadonnées, sélectionnez V2 (jeton obligatoire).

Pour de plus amples informations, veuillez consulter Étape 3 : Configurer les détails de l'instance.

AWS CLI
Pour imposer l'utilisation d'IMDSv2 sur une nouvelle instance

L'exemple run-instances ci-dessous lance une instance c3.large avec --metadata-options défini sur HttpTokens=required. Lorsque vous spécifiez une valeur pour HttpTokens, vous devez également définir HttpEndpoint sur enabled. Comme l'en-tête de jeton sécurisé est défini sur required pour les demandes de récupération de métadonnées, cette option impose à l'instance l'utilisation de IMDSv2 lors de la demande des métadonnées d'instance.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c3.large \ ... --metadata-options "HttpEndpoint=enabled,HttpTokens=required"
AWS CloudFormation

Pour spécifier les options de métadonnées d'une instance à l'aide d'AWS CloudFormation, consultez la propriété AWS::EC2::LaunchTemplate MetadataOptions dans le Guide de l'utilisateur AWS CloudFormation.

Configurer l'AMI

Lorsque vous enregistrez votre AMI, vous pouvez définir le paramètre imds-support sur v2.0. Les instances lancées à partir de cette AMI verront le paramètre Metadata version (Version des métadonnées) défini sur V2 only (token required) (V2 uniquement [jeton obligatoire]) (console) ou HttpTokens défini sur required (AWS CLI). Avec ces paramètres, l'instance impose l'utilisation de IMDSv2 lors de la demande de métadonnées d'instance.

Notez que lorsque vous définissez imds-support sur v2.0, les instances lancées à partir de cette AMI verront également le paramètre Metadata response hop limit (Limite de saut de réponse des métadonnées) (console) ou http-put-response-hop-limit (AWS CLI) défini sur 2.

Pour configurer une AMI pour IMDSv2

L'exemple register-image suivant enregistre une AMI en utilisant l'instantané spécifié d'un volume racine EBS en tant que périphérique /dev/xvda. Spécifiez v2.0 pour le paramètre imds-support afin que l'AMI soit configurée de manière à spécifier que les instances lancées à partir de celle-ci nécessitent l'utilisation de IMDSv2.

aws ec2 register-image \ --name my-image \ --root-device-name /dev/xvda \ --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0123456789example} \ --imds-support v2.0

Utiliser une politique IAM

Vous pouvez créer une politique IAM qui empêche les utilisateurs de lancer de nouvelles instances qui n'utilisent pas IMDSv2.

Pour imposer l'utilisation de IMDSv2 sur toutes les nouvelles instances en utilisant une politique IAM

Pour vous assurer que les utilisateurs peuvent uniquement lancer les instances nécessitant l'utilisation de IMDSv2 lors de la demande de métadonnées d'instance, vous pouvez spécifier que la condition imposant l'utilisation de IMDSv2 devra être remplie pour qu'une instance puisse être lancée. Pour examiner l'exemple de stratégie IAM, consultez Utiliser des métadonnées d'instance.

Configurer les points de terminaison IPv4 et IPv6

Par défaut, le point de terminaison IPv6 est désactivé. Cela est vrai même si vous lancez une instance dans un sous-réseau IPv6 uniquement. Vous pouvez choisir d'activer le point de terminaison IPv6 au lancement de l'instance à l'aide l'AWS CLI. Cette option n'est pas disponible dans la console Amazon EC2.

Le point de terminaison IPv6 pour le service de métadonnées d'instance n'est accessible que sur instances reposant sur le système Nitro.

Configurer les points de terminaison IPv4 et IPv6

L'exemple run-instances suivant lance une instance t3.large avec le point de terminaison IPv6 activé pour le service de métadonnées d'instance. Pour activer le point de terminaison IPv6, pour le paramètre --metadata-options, spécifiez HttpProtocolIpv6=enabled. Lorsque vous spécifiez une valeur pour HttpProtocolIpv6, vous devez également définir HttpEndpoint sur enabled.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type t3.large \ ... --metadata-options "HttpEndpoint=enabled,HttpProtocolIpv6=enabled"

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

Vous pouvez assurer la désactivation de l'accès aux métadonnées de votre instance, quelle que soit la version du service de métadonnées d'instance que vous utilisez. Vous pouvez activer l'accès ultérieurement à l'aide de la commande modify-instance-metadata-options.

New console
Désactivation de l'accès aux métadonnées d'instance
  • Lancez l'instance dans la console Amazon EC2 avec les informations suivantes spécifiées sous Advanced details (Détails avancés) :

    • PourAccéder aux métadonnées, choisissez Activé.

Pour de plus amples informations, veuillez consulter Détails avancés.

Old console
Désactivation de l'accès aux métadonnées d'instance
  • Lancez l'instance dans la console Amazon EC2 avec l'option suivante sélectionnée sur la page Configure Instance Details (Configurer les détails de l'instance) :

    • Sous Détails avancés, pour Métadonnées accessibles, sélectionnez Désactivé.

Pour plus d'informations, consultez Étape 3 : Configurer les détails de l'instance.

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

Lancez l'instance avec --metadata-options défini sur HttpEndpoint=disabled.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c3.large \ ... --metadata-options "HttpEndpoint=disabled"
AWS CloudFormation

Pour spécifier les options de métadonnées d'une instance à l'aide d'AWS CloudFormation, consultez la propriété AWS::EC2::LaunchTemplate MetadataOptions dans le Guide de l'utilisateur AWS CloudFormation.