Comment automatiser la création d'images AMI reposant sur mon instance EC2 basée sur EBS à l'aide de Systems Manager Automation ?

Dernière mise à jour : 28/02/2022

Je souhaite automatiser la création d'images AMI (Amazon Machine Image) des instances Amazon Elastic Compute Cloud (Amazon EC2) basées sur Amazon Elastic Block Store (EBS). Comment procéder ?

Brève description

Vous pouvez utiliser AWS Systems Manager pour créer une fenêtre de maintenance, puis enregistrer une tâche d'automatisation pour automatiser la création des images AMI. Ce processus s'applique aux instances Windows et Linux.

L’instance pour laquelle vous souhaitez créer une image AMI doit être répertoriée comme instance gérée dans Systems Manager. Tout d’abord, vérifiez que l’instance répond à toutes les conditions requises d’utilisation de Systems Manager. Si l'instance utilise un sous-réseau privé, vous pouvez créer des points de terminaison de VPC pour Systems Manager.

Remarque : (Windows uniquement) Sysprep n'est pas exécuté sur les instances Windows avant la création une image AMI lorsque vous utilisez le processus d'automatisation suivant.

Solution

Pour automatiser la création d'images AMI, procédez comme suit :

Remarque : si vous recevez des erreurs lors de l'exécution de commandes depuis l'AWS Command Line Interface (AWS CLI), assurez-vous d'utiliser la version la plus récente de l'AWS CLI.

  1. Créez un rôle AWS Identity and Access Management (IAM) avec des autorisations de création d'une image AMI pour la fenêtre de maintenance. Vous pouvez utiliser la console IAM, la CLI AWS ou les outils AWS pour Windows PowerShell.
  2. Créez une fenêtre de maintenance.
    Dans la section Planifier, pour Préciser avec, choisissez créateur de planification Cron.
  3. Attribuez des cibles à la fenêtre de maintenance.
  4. Enregistrez une tâche d’automatisation pour créer une image AMI.
    Pour Actions, choisissez Register Automation task (Enregistrer une tâche d’automatisation).
    Pour Automation document (Document d’automatisation), choisissez AWS CreateImage.
    Pour IAM service role (Fonction du service IAM), choisissez Use a custom service role (Utiliser une fonction du service personnalisé), puis le rôle IAM que vous avez créé à l’étape 1 de cet article.
    Dans la section Paramètres d'entrée, pour InstanceId, saisissez le pseudo-paramètrele bouche-trou {{TARGET_ID}} ou {{RESSOURCE_ID}}.

Remarque : Lorsque vous saisissez le bouche-trou du pseudo-paramètre, tenez compte des points suivants :

Si le type de cible est RESOURCE_GROUP, le paramètre {{TARGET_ID}} renvoie l'ARN complet de la ressource. Le paramètre {{RESOURCE_ID}} renvoie un nom ou un ID plus court de la ressource.

Exemples

  • {{TARGET_ID}} format : arn:aws:ec2:us-east- 1:123456789012:instance/i-02573cafcfEXEMPLE
  • Le format {{RESOURCE_ID}} : i-02573cafcfEXEMPLE

Si le type de cible est INSTANCE, les paramètres {{TARGET_ID}} et {{RESOURCE_ID}} renvoient l'ID d'instance uniquement.

Pour plus d'informations sur les pseudo-paramètres, consultez la section À propos des pseudo-paramètres.

Pour obtenir la liste des pseudo-paramètres pris en charge, consultez Pseudo paramètres pris en charge.