Que faire lorsque l'AMI que mon instance EC2 utilise n'est plus publique ou lorsque je reçois l'erreur « Cannot load details for ami-xxxxxx. You may not be permitted to view it » (Impossible de charger les informations de ami-xxxxxx. Il est possible que vous ne soyez pas autorisé à le consulter).

Date de la dernière mise à jour : 07/11/2019

Je ne peux plus sélectionner l'Amazon Machine Image (AMI) que mon instance Amazon Elastic Compute Cloud (Amazon EC2) utilise dans AWS Management Console. Lorsque je consulte l'onglet Details (informations) de l'AMI, je vois « Cannot load details for ami-xxxxxx. You may not be permitted to view it » (Impossible de charger les informations de ami-xxxxxx. Il est possible que vous ne soyez pas autorisé à le consulter).

Comment obtenir la description d'une AMI qui n'est pas disponible publiquement ?

Ou

Je fais référence à un ID d'AMI dans mon modèle AWS CloudFormation. Amazon Web Services (AWS) crée régulièrement de nouvelles images et rend obsolètes les anciennes quelques semaines plus tard. Cela entraîne des problèmes, tels que la rupture des anciennes piles de modèle ou la nécessite de mettre à jour régulièrement des modèles. Pourquoi cela se produit-il et comment éviter ce problème ? 

Brève description

L'AMI que votre instance EC2 Windows utilise n'est plus publique.

AWS fournit des AMI disponibles publiquement qui sont configurées spécifiquement pour la plateforme Windows. Les AMI de chaque version ont de nouveaux ID d'AMI. Dans les 10 jours suivant la publication d'une nouvelle AMI, les AMI de plus de trois mois deviennent privées.

Cela se produit également lorsqu'une AMI personnalisée est désinscrite.

Pour plus d'informations, consultez Correctifs, Mises à jour de sécurité et ID d'AMI.

Remarque: si vous devez lancer des instances à partir de la même AMI, vous devez créer une AMI à partir de l'instance.

Solution

Récupérer la description d'un ID d'AMI qui n'est plus public 

Tout d'abord, recherchez le nom de l'AMI dans le registre. Ensuite, utilisez PowerShell pour rechercher la dernière AMI de même nom. Procédez comme suit :

Remarque: ces étapes ne s'appliquent que si vous utilisez une AMI fournie par Amazon.

1.    Dans la console Amazon EC2, choisissez Instances dans le panneau de navigation. Sélectionnez une instance qui a été lancée à l'aide de l'AMI qui n'est plus disponible.

2.    Connectez-vous à l'instance.

3.    Vérifiez l'emplacement de registre suivant pour vérifier le nom de l'AMI :

Get-Itemproperty HKLM:\SOFTWARE\Amazon\MachineImage -Name AMIName

Remarque: l'emplacement de registre HKLM:\SOFTWARE\Amazon\MachineImage s'affiche avec le nom et la date de l'AMI lors du lancement de l'instance.

4.    Exécutez la commande Get-EC2ImageByName PowerShellpour répertorier toutes les AMI publiques en fonction de leur nom. Pour affiner les résultats, exécutez la commande suivante, en remplaçant AMIName par le nom de l'AMI de l'étape 3.

Get-EC2ImageByName –Names AMIName
Example: Get-EC2ImageByName -Names WINDOWS_2016_CORE

Remarque: cette commande renvoie un grand nombre de métadonnées sur l'image, y compris le dernier ID d'AMI de la région. Les AMI ont des ID différents dans chaque région.

Cette AMI est identique à l'ancienne, hormis les dernières mises à jour logicielles Microsoft et toutes les améliorations de performances apportées par AWS. Utilisez la dernière AMI pour lancer de nouvelles instances.

Pour recevoir des notifications de ces modifications régulières, vous pouvez vous abonner aux notifications d'AMI Windows.

L'ID d'AMI est codé en dur dans un modèle CloudFormation ou une plateforme IaaS

Il est recommandé d'écrire des scripts qui localisent les dernières AMI Windows AWS par nom ou description, plutôt que par ID d'AMI. Les ID d'AMI sont susceptibles d'être modifiés après chaque publication.

Pour plus d'informations, consultez Correctifs, Mises à jour de sécurité et ID d'AMI.

Pour éviter toute interruption de vos pipelines de génération, vous pouvez extraire par programmation la dernière AMI publiée par AWS dans un magasin de paramètres publics correspondant à vos besoins. Pour plus d'informations, consultez Utilisation des paramètres publics.

Vous pouvez également créer votre propre AMI pour mieux contrôler le cycle de vie et les mises à jour de l'AMI. Pour créer une image à partir d'une instance qui a utilisé l'AMI, procédez comme suit :

1.    Arrêtez l'instance.

2.    Dans la console Amazon EC2, choisissez Instances dans le panneau de navigation.

3.    Sélectionnez l'instance. Pour Actions, choisissez Image, puisCreate Image (Créer une image).
Saisissez un nom dans le champ Image name (Nom de l'image).
(Facultatif) PourImage description (Description de l'image), saisissez une description.
Choisissez Create Image (Créer une image).

4.    Important: l'étape 3 crée une image exacte de votre instance, y compris le nom du serveur et le mot de passe administrateur. Pour éviter les conflits, créez une instance basée sur la nouvelle image. Appliquez toutes les personnalisations requises, puis effectuez le processus de généralisation pour créer une AMI saine. Pour les instructions, consultez Comment utiliser Sysprep pour créer et installer des AMI Windows réutilisables personnalisées ?

5.    Maintenant, vous pouvez utiliser l'image créée à l'étape 4 pour lancer des instances.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?