Mettre à jour une   Windows Server AMI - AWS Systems Manager

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.

Mettre à jour une   Windows Server AMI

Le AWS-UpdateWindowsAmi runbook vous permet d'automatiser les tâches de maintenance des images sur votre Amazon Windows Amazon Machine Image (AMI) sans avoir à créer le runbook en JSON ou YAML. Ce runbook est pris en charge pour Windows Server 2008 R2 ou une version ultérieure. Vous pouvez utiliser le runbook AWS-UpdateWindowsAmi pour effectuer les types de tâche suivants.

  • Installez toutes les mises à jour Windows et mettez à niveau les logiciels Amazon (comportement par défaut).

  • Installez toutes les mises à jour Windows spécifiques et mettez à niveau les logiciels Amazon.

  • Personnalisez un AMI en utilisant vos scripts.

Avant de commencer

Avant de commencer à travailler avec des runbooks, configurez des rôles pour Automation afin d'ajouter une politique iam:PassRole qui référence l'ARN du profil d'instance auquel vous souhaitez octroyer l'accès. Vous pouvez éventuellement configurer Amazon EventBridge for Automation, un outil dans AWS Systems Manager. Pour de plus amples informations, veuillez consulter Configuration d'Automation. Cette procédure pas à pas nécessite également que vous spécifiiez le nom d'un profil d'instance AWS Identity and Access Management (IAM). Pour de plus amples informations sur la création d’un profil d’instance IAM, consultez Configurer des autorisations d’instance requises pour Systems Manager.

Note

Mises à jour de AWS Systems Manager SSM Agent sont généralement déployés dans différentes régions à des moments différents. Lorsque vous personnalisez ou mettez à jour une AMI, utilisez uniquement le code source AMIs publié pour la région dans laquelle vous travaillez. Cela vous permettra de travailler avec les dernières SSM Agent publié pour cette région et évitez les problèmes de compatibilité.

Le runbook AWS-UpdateWindowsAmi accepte les paramètres d'entrée suivants.

Paramètre Type Description

SourceAmiId

Chaîne

(Obligatoire) La source AMI IDENTIFIANT. Vous pouvez automatiquement référencer la dernière version de Windows Server AMI Identification à l'aide d'un Systems Manager Parameter Store paramètre public. Pour plus d'informations, voir Requête pour la dernière version de Windows AMI IDs en utilisant AWS Systems Manager Parameter Store.

SubnetId

Chaîne

(Facultatif) Le sous-réseau dans lequel vous souhaitez lancer l'instance temporaire. Vous devez spécifier une valeur pour ce paramètre si vous avez supprimé votre VPC par défaut.

IamInstanceProfileName

Chaîne

(Obligatoire) Le nom du rôle de profil d’instance IAM que vous avez créé dans Configurer des autorisations d’instance requises pour Systems Manager. Le rôle de profil d'instance autorise Automation à effectuer des actions sur vos instances, comme l'exécution de commandes, ou le démarrage ou l'arrêt de services. Le runbook utilise uniquement le nom du rôle de profil d'instance.

AutomationAssumeRole

Chaîne

(Obligatoire) Le nom du rôle de service IAM que vous avez créé dans Configuration d'Automation. Le rôle de service (également appelé rôle de responsable) accorde à Automation l'autorisation d'assumer votre rôle IAM et d'exécuter des actions en votre nom. Par exemple, le rôle de service permet à Automation de créer un nouveau AMI lors de l'exécution de aws:createImage l'action dans un runbook. Pour ce paramètre, l'ARN complet doit être spécifié.

TargetAmiName

Chaîne

(Facultatif) Le nom du nouveau AMI après sa création. Le nom par défaut est une chaîne générée par le système qui inclut la source AMI ID, heure et date de création.

InstanceType

Chaîne

(Facultatif) Type d'instance à lancer en tant qu'hôte d'espace de travail. Les types d'instances varient selon la région. La type par défaut est t2.medium.

PreUpdateScript

Chaîne

(Facultatif) Script à exécuter avant de mettre à jour le AMI. Entrez un script dans le runbook ou lors de l'exécution en tant que paramètre.

PostUpdateScript

Chaîne

(Facultatif) Script à exécuter après la mise à jour du AMI. Entrez un script dans le runbook ou lors de l'exécution en tant que paramètre.

IncludeKbs

Chaîne

(Facultatif) Spécifiez un ou plusieurs articles de la base de connaissances Microsoft (KB) IDs à inclure. Vous pouvez en installer plusieurs IDs en utilisant des valeurs séparées par des virgules. Formats valides : KB9876543 ou 9876543.

ExcludeKbs

Chaîne

(Facultatif) Spécifiez un ou plusieurs articles de la Base de connaissances Microsoft (KB) IDs à exclure. Vous pouvez en exclure plusieurs IDs en utilisant des valeurs séparées par des virgules. Formats valides : KB9876543 ou 9876543.

Catégories

Chaîne

(Facultatif) Spécifiez une ou plusieurs catégories de mise à jour. Vous pouvez filtrer les catégories en utilisant des valeurs séparées par une virgule. Options : Mise à jour critique, Mise à jour de la sécurité, Mise à jour de la définition, Report de mise à jour, Service Pack, Outil, Mise à jour, ou Pilote. Parmi les formats valides, on compte une seule entrée comme : Critical Update. Ou, vous pouvez spécifier une liste avec des éléments séparés par des virgules : Mise à jour critique, Mise à jour de la sécurité, Mise à jour de la définition.

SeverityLevels

Chaîne

(Facultatif) Spécifiez un ou plusieurs niveaux de sécurité MSRC associés à une mise à jour. Vous pouvez filtrer les niveaux de sécurité en utilisant des valeurs séparées par une virgule. Options : Critique, Important, Faible, Modéré ou Non précisé. Parmi les formats valides, on compte une seule entrée comme : Critique. Ou, vous pouvez spécifier une liste avec des éléments séparés par des virgules : Critique, Important, Faible.

Étapes d'Automation

Le runbook AWS-UpdateWindowsAmi inclut les étapes suivantes par défaut.

Étape 1 : launchInstance (action aws:runInstances)

Cette étape lance une instance avec un rôle de profil d'instance IAM à partir du SourceAmiID spécifié.

Étape 2 : runPreUpdate Script (aws:runCommandaction)

Cette étape vous permet de spécifier un script comme chaîne exécutée avant l'installation des mises à jour.

Étape 3 : mettre à jour EC2 Config (aws:runCommandaction)

Cette étape utilise le AWS-InstallPowerShellModule runbook pour télécharger un PowerShell module AWS public. Systems Manager vérifie l'intégrité du module via un hachage SHA-256. Systems Manager vérifie ensuite le système d'exploitation pour déterminer s'il convient de mettre à jour EC2 Config ou EC2 Launch. EC2Config s'exécute sous Windows Server 2008 R2 via Windows Server 2012 R2. EC2Launch s'exécute sous Windows Server 2016.

Étape 4 : mise à jour SSMAgent (aws:runCommandaction)

Cette étape met à jour SSM Agent en utilisant le AWS-UpdateSSMAgent runbook.

Étape 5 : mise à jour AWSPVDriver (aws:runCommandaction)

Cette étape met à jour les pilotes AWS PV à l'aide du AWS-ConfigureAWSPackage runbook.

Étape 6 : updateAwsEna NetworkDriver (aws:runCommandaction)

Cette étape met à jour les pilotes réseau AWS ENA à l'aide du AWS-ConfigureAWSPackage runbook.

Étape 7 : installWindowsUpdates (aws:runCommandaction)

Cette étape installe les mises à jour Windows à l'aide du runbook AWS-InstallWindowsUpdates. Par défaut, Systems Manager recherche et installe l'ensemble des mises à jour manquantes. Vous pouvez modifier le comportement par défaut en spécifiant l'un des paramètres suivants : IncludeKbs, ExcludeKbs, Categories, ou SeverityLevels.

Étape 8 : runPostUpdate Script (aws:runCommandaction)

Cette étape vous permet de spécifier un script comme chaîne qui est exécutée après l'installation des mises à jour.

Étape 9 : runSysprepGeneralize (aws:runCommandaction)

Cette étape utilise le AWS-InstallPowerShellModule runbook pour télécharger un PowerShell module AWS public. Systems Manager vérifie l'intégrité du module via un hachage SHA-256. Systems Manager exécute ensuite sysprep à l'aide de méthodes AWS prises en charge pour EC2 Launch (Windows Server 2016) ou EC2 Config (Windows Server 2008 R2 à 2012 R2).

Étape 10 : stopInstance (action aws:changeInstanceState)

Cette étape arrête toutes les instances mises à jour.

Étape 11 : createImage (action aws:createImage)

Cette étape crée un nouveau AMI avec un nom descriptif qui le lie à l'ID source et à l'heure de création. Par exemple : « AMI générée par EC2 Automation le {{global:Date_Time}} à partir de {{}SourceAmiId} » où DATE_TIME et sourceID représentent les variables d'automatisation.

Étape 12 : TerminateInstance (aws:changeInstanceStateaction)

Cette étape nettoie l'automatisation en mettant hors service l'instance en cours d'exécution.

Sortie

Cette section vous permet de désigner les sorties de différentes étapes ou valeurs de n'importe quel paramètre comme sortie d'Automation. Par défaut, le résultat est l'ID de la version mise à jour de Windows AMI créé par l'automatisation.

Note

Par défaut, lorsqu'Automation exécute le runbook AWS-UpdateWindowsAmi et crée une instance temporaire, le système utilise le VPC par défaut (172.30.0.0/16). Si vous avez supprimé le VPC par défaut, vous recevrez l'erreur suivante :

VPC non défini 400

Pour régler ce problème, vous devez réaliser une copie du runbook AWS-UpdateWindowsAmi et spécifier un ID de sous-réseau. Pour de plus amples informations, veuillez consulter VPC non défini 400.

Pour créer un Windows patché AMI en utilisant Automation
  1. Installez et configurez le AWS Command Line Interface (AWS CLI), si ce n'est pas déjà fait.

    Pour de plus amples informations, consultez Installation ou mise à jour de la version la plus récente de l' AWS CLI.

  2. Exécutez la commande suivante pour exécuter le runbook AWS-UpdateWindowsAmi. Remplacez chaque example resource placeholder par vos propres informations. L'exemple de commande ci-dessous utilise un Amazon récent EC2 AMI afin de minimiser le nombre de correctifs à appliquer. Si vous exécutez cette commande plus d'une fois, vous devez spécifier une valeur unique pour targetAMIname. AMI les noms doivent être uniques.

    aws ssm start-automation-execution \ --document-name="AWS-UpdateWindowsAmi" \ --parameters SourceAmiId='AMI ID',IamInstanceProfileName='IAM instance profile',AutomationAssumeRole='arn:aws:iam::{{global:ACCOUNT_ID}}:role/AutomationServiceRole'

    La commande renvoie un ID d'exécution. Copiez cet ID dans le Presse-papiers. Vous utiliserez cet ID pour afficher le statut de l'automatisation.

    {
        "AutomationExecutionId": "automation execution ID"
    }
  3. Pour visualiser l'automatisation à l'aide de AWS CLI, exécutez la commande suivante :

    aws ssm describe-automation-executions
  4. Pour afficher les détails de la progression de l'automatisation, exécutez la commande suivante.

    aws ssm get-automation-execution --automation-execution-id automation execution ID
Note

En fonction du nombre de correctifs appliqués, le processus de mise à jour corrective Windows exécuté dans cet exemple d'automatisation peut prendre 30 minutes ou plus pour se terminer.