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 nouvelles instances
Vous pouvez configurer les options de métadonnées d’instance suivantes.
Vous pouvez utiliser les méthodes suivantes pour exiger l'utilisation d'IMDSv2 sur vos instances.
Définissez IMDSv2 comme valeur par défaut pour le compte
Vous pouvez définir la version des métadonnées d'instance par défaut au niveau du compte pour chacune d'entre elles Région AWS. Lorsqu'une instance est lancée, la version des métadonnées de l'instance est automatiquement définie sur la valeur au niveau du compte.
Si vous n'avez jamais modifié la valeur par défaut au niveau du compte, cela indique qu'il n'y a aucune préférence.
Vous pouvez définir le compte par défaut pour la version des métadonnées de l'instance sur IMDSv2 afin que toutes les nouvelles instances du compte soient lancées avec IMDSv2 (en d'autres termes, IMDSv1 est désactivé). Avec ce compte par défaut, lorsque vous lancez une instance, les valeurs par défaut de l'instance sont les suivantes :
-
Console : la version des métadonnées est définie sur V2 uniquement (jeton requis) et la limite de sauts de réponse des métadonnées est définie sur 2.
-
AWS CLI: HttpTokens
est défini sur required
et HttpPutResponseHopLimit
est défini sur2
.
Avant de définir la valeur par défaut du compte pour la version des métadonnées sur V2 uniquement (jeton requis), assurez-vous qu'aucune de vos instances n'effectue d'appels IMDSv1. La MetadataNoToken
CloudWatch métrique suit les appels IMDSv1. Lorsqu'aucune MetadataNoToken
utilisation d'IMDSv1 n'est enregistrée, vos instances sont prêtes à passer entièrement à l'utilisation d'IMDSv2.
Au lancement, vous pouvez modifier les valeurs dans la configuration de l'instance. Pour plus d’informations, consultez Définissez la version des métadonnées de l'instance.
- Console
-
Pour définir IMDSv2 comme compte par défaut pour la région spécifiée
Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.
-
Pour modifier le Région AWS, utilisez le sélecteur de région dans le coin supérieur droit de la page.
-
Dans le panneau de navigation, choisissez Tableau de bord du EC2.
-
Sous Attributs du compte, sélectionnez Protection et sécurité des données.
-
À côté des paramètres IMDS par défaut, choisissez Gérer.
-
Sur la page Gérer les paramètres par défaut de l'IMDS, procédez comme suit :
-
Pour le service de métadonnées d'instance, choisissez Enabled.
-
Pour Choisir une version des métadonnées, sélectionnez V2 (jeton obligatoire).
-
Pour la limite de sauts de réponse aux métadonnées, spécifiez 2 si vos instances hébergeront des conteneurs. Sinon, sélectionnez Aucune préférence. Lorsqu'aucune préférence n'est spécifiée, au lancement, la valeur par défaut est 2 si l'AMI nécessite IMDSv2 ; sinon, elle est définie par défaut sur 1.
-
Choisissez Mettre à jour.
- AWS CLI
-
Pour définir IMDSv2 comme compte par défaut pour la région spécifiée
Utilisez la modify-instance-metadata-defaultscommande et spécifiez la région dans laquelle vous souhaitez modifier les paramètres au niveau du compte IMDS. Incluez --http-tokens
set to required
et --http-put-response-hop-limit
set to 2
si vos instances hébergeront des conteneurs. Dans le cas contraire, spécifiez -1
pour n'indiquer aucune préférence. Lorsque -1
(aucune préférence) est spécifiée, au lancement, la valeur par défaut est 2
si l'AMI nécessite IMDSv2 ; sinon, elle est définie par défaut sur. 1
aws ec2 modify-instance-metadata-defaults \
--region us-east-1
\
--http-tokens required \
--http-put-response-hop-limit 2
Sortie attendue
{
"Return": true
}
Pour afficher les paramètres de compte par défaut pour les options de métadonnées de l'instance pour la région spécifiée
Utilisez la get-instance-metadata-defaultscommande et spécifiez la région.
aws ec2 get-instance-metadata-defaults --region us-east-1
Exemple de sortie
{
"AccountLevel": {
"HttpTokens": "required",
"HttpPutResponseHopLimit": 2
}
}
Quand vous lancez une instance, vous pouvez configurer l’instance pour imposer l’utilisation de IMDSv2 en configurant les champs suivants :
Lorsque vous spécifiez que IMDSv2 est requis, vous devez également activer le point de terminaison du service des métadonnées d’instance (IMDS) en définissant Métadonnées accessibles sur 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 plus d’informations, consultez Détails avancés.
- Old console
-
Pour imposer l’utilisation d’IMDSv2 sur une nouvelle instance
Pour plus d’informations, consultez É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 c6i.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 c6i.large
\
...
--metadata-options "HttpEndpoint=enabled,HttpTokens=required"
- PowerShell
-
Pour imposer l’utilisation d’IMDSv2 sur une nouvelle instance
L'exemple d'New-EC2Instanceapplet de commande suivant lance une c6i.large
instance dont le paramètre est MetadataOptions_HttpEndpoint
défini sur enabled
et le MetadataOptions_HttpTokens
paramètre sur. 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.
New-EC2Instance `
-ImageId ami-0abcdef1234567890
`
-InstanceType c6i.large
`
-MetadataOptions_HttpEndpoint enabled `
-MetadataOptions_HttpTokens required
- AWS CloudFormation
-
Pour spécifier les options de métadonnées pour une instance utilisant AWS CloudFormation, consultez la AWS::EC2::LaunchTemplate MetadataOptionspropriété dans le guide de AWS CloudFormation l'utilisateur.
Lorsque vous enregistrez une nouvelle AMI ou que vous modifiez une AMI existante, 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.
N’utilisez ce paramètre que si votre logiciel AMI prend en charge IMDSv2. Une fois que vous avez défini la valeur sur v2.0
, vous ne pouvez pas revenir en arrière. La seule façon de « réinitialiser » votre AMI est de créer une nouvelle AMI à partir de l’instantané sous-jacent.
Configuration d’une nouvelle AMI pour IMDSv2
Pour configurer une nouvelle AMI IMDSv2, utilisez l’une des méthodes suivantes.
- AWS CLI
-
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
, de sorte que les instances lancées à partir de cette AMI imposent l’utilisation de IMDSv2 pour pouvoir demander des métadonnées d’instance.
aws ec2 register-image \
--name my-image
\
--root-device-name /dev/xvda \
--block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0123456789example
} \
--architecture x86_64 \
--imds-support v2.0
- PowerShell
-
L'exemple de Register-EC2Imagecmdlet 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 ImdsSupport
, de sorte que les instances lancées à partir de cette AMI imposent l’utilisation de IMDSv2 pour pouvoir demander des métadonnées d’instance.
Import-Module AWS.Tools.EC2 # Required for Amazon.EC2.Model object creation.
Register-EC2Image `
-Name 'my-image
' `
-RootDeviceName /dev/xvda `
-BlockDeviceMapping (
New-Object `
-TypeName Amazon.EC2.Model.BlockDeviceMapping `
-Property @{
DeviceName = '/dev/xvda';
EBS = (New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice -Property @{
SnapshotId = 'snap-0123456789example
;
VolumeType = 'gp3'
} )
} ) `
-Architecture X86_64 `
-ImdsSupport v2.0
Configuration d’une AMI existante pour IMDSv2
Pour configurer une AMI existante pour IMDSv2, utilisez l’une des méthodes suivantes.
- AWS CLI
-
L'modify-image-attributeexemple suivant modifie une AMI existante pour IMDSv2 uniquement. Spécifiez v2.0
pour le paramètre imds-support
, de sorte que les instances lancées à partir de cette AMI imposent l’utilisation de IMDSv2 pour pouvoir demander des métadonnées d’instance.
aws ec2 modify-image-attribute \
--image-id ami-0123456789example
\
--imds-support v2.0
- PowerShell
-
L'exemple de Edit-EC2ImageAttributecmdlet suivant modifie une AMI existante pour IMDSv2 uniquement. Spécifiez v2.0
pour le paramètre imds-support
, de sorte que les instances lancées à partir de cette AMI imposent l’utilisation de IMDSv2 pour pouvoir demander des métadonnées d’instance.
Edit-EC2ImageAttribute `
-ImageId ami-0abcdef1234567890
`
-ImdsSupport 'v2.0'
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.
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 lors du lancement de l’instance.
Le point de terminaison IPv6 de l'IMDS n'est accessible que sur les instances créées sur le système AWS Nitro.
Utilisez l’une des méthodes suivantes pour lancer une instance avec le point de terminaison IPv6 activé pour IMDS.
- New console
-
Activation du point de terminaison IPv6 IMDS au lancement
Pour plus d’informations, consultez Détails avancés.
- AWS CLI
-
L’exemple run-instances suivant lance une instance c6i.large
avec le point de terminaison IPv6 activé pour l’IMDS. 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 c6i.large
\
...
--metadata-options "HttpEndpoint=enabled,HttpProtocolIpv6=enabled"
- PowerShell
-
L'exemple de New-EC2Instancecmdlet suivant lance une c6i.large
instance avec le point de terminaison IPv6 activé pour l'IMDS. Pour activer le point de terminaison IPv6, définissez MetadataOptions_HttpProtocolIpv6
sur enabled
. Lorsque vous spécifiez une valeur pour MetadataOptions_HttpProtocolIpv6
, vous devez également définir MetadataOptions_HttpEndpoint
sur enabled
.
New-EC2Instance `
-ImageId ami-0abcdef1234567890
`
-InstanceType c6i.large
`
-MetadataOptions_HttpEndpoint enabled `
-MetadataOptions_HttpProtocolIpv6 enabled
Vous pouvez désactiver l’accès aux métadonnées de l’instance en désactivant l’IMDS lorsque vous lancez une instance. Vous pouvez activer l’accès ultérieurement en réactivant l’IMDS. Pour plus d’informations, consultez Activer l’accès aux métadonnées d’instance.
Vous pouvez choisir de désactiver l’IMDS au lancement ou après le lancement. Si vous désactivez l’IMDS au lancement, les opérations suivantes risquent de ne pas fonctionner :
-
Vous pourriez ne pas avoir d’accès SSH à votre instance. La public-keys/0/openssh-key
, qui est la clé SSH publique de votre instance, ne sera pas accessible, car lelle est normalement fournie et accessible à partir des métadonnées de l’instance EC2.
-
Les données utilisateur EC2 ne seront pas disponibles et ne seront pas exécutées au démarrage de l’instance. Les données utilisateur EC2 sont hébergées sur l’IMDS. Si vous désactivez l’IMDS, vous empêchez l’accès aux données utilisateur.
Pour accéder à cette fonctionnalité, vous pouvez réactiver l’IMDS après le lancement.
- New console
-
Pour désactiver l’accès aux métadonnées d’instance
Pour plus d’informations, consultez Détails avancés.
- Old console
-
Pour désactiver l’accès aux métadonnées d’instance
Pour plus d’informations, consultez Étape 3 : Configurer les détails de l’instance.
- AWS CLI
-
Pour désactiver l’accès aux métadonnées d’instance au lancement
Lancez l’instance avec --metadata-options
défini sur HttpEndpoint=disabled
.
aws ec2 run-instances \
--image-id ami-0abcdef1234567890
\
--instance-type c6i.large
\
...
--metadata-options "HttpEndpoint=disabled"
- PowerShell
-
Pour désactiver l’accès aux métadonnées d’instance au lancement
L'exemple d'New-EC2Instanceapplet de commande suivant lance une instance dont la valeur est MetadataOptions_HttpEndpoint
définie sur. disabled
New-EC2Instance `
-ImageId ami-0abcdef1234567890
`
-InstanceType c6i.large
`
-MetadataOptions_HttpEndpoint disabled
- AWS CloudFormation
-
Pour spécifier les options de métadonnées pour une instance utilisant AWS CloudFormation, consultez la AWS::EC2::LaunchTemplate MetadataOptionspropriété dans le guide de AWS CloudFormation l'utilisateur.