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 AMI Windows Server
Le runbook AWS-UpdateWindowsAmi
vous permet d'automatiser les tâches de maintenance d'images sur vos Amazon Machine Image (AMI) Windows Amazon sans devoir créer le flux de travail 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 une 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, une fonctionnalité de AWS Systems Manager. Pour plus d’informations, consultez 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 plus d'informations sur la création d'un profil d'instance IAM, consultez Configurer les autorisations d'instance requises pour Systems Manager.
Note
Les mises à jour de AWS Systems Manager SSM Agent sont généralement déployées dans différentes régions, à des heures différentes. Lorsque vous personnalisez ou mettez à jour une AMI, utilisez uniquement les AMI source publiées pour la région dans laquelle vous travaillez. Vous aurez ainsi l'assurance de travailler avec le dernier agent SSM Agent publié pour cette région, et vous éviterez des problèmes de compatibilité.
Le runbook AWS-UpdateWindowsAmi
accepte les paramètres d'entrée suivants.
Paramètre | Type | Description |
---|---|---|
SourceAmiId |
Chaîne |
(Obligatoire) L'ID d'AMI source. Vous pouvez référencer automatiquement le dernier ID d'AMI Windows Server à l'aide d'un paramètre Systems Manager public Parameter Store. Pour plus d'informations, consultez Requête portant sur les derniers ID d'AMI Windows à l'aide de AWS Systems ManagerParameter 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) Nom du rôle de profil d'instance IAM que vous avez créé dans Configure les 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. |
AutomationAssumeRôle |
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 autorise Automation à créer une nouvelle AMI lors de l'exécution de l'action |
TargetAmiNom |
Chaîne |
(Facultatif) Nom de la nouvelle AMI une fois celle-ci créée. Le nom par défaut est une chaîne générée par le système qui inclut l'ID de l'AMI source, et les date et heure 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. |
PreUpdateScénario |
Chaîne |
(Facultatif) Un script à exécuter avant la mise à jour de l'AMI. Saisissez un script dans le runbook ou lors de l'exécution en tant que paramètre. |
PostUpdateScénario |
Chaîne |
(Facultatif) Un script à exécuter après la mise à jour de l'AMI. Saisissez 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 ID d'articles Microsoft Knowledge Base (KB) à inclure. Vous pouvez installer plusieurs ID en utilisant des valeurs séparées par une virgule. Formats valides : KB9876543 ou 9876543. |
ExcludeKbs |
Chaîne |
(Facultatif) Spécifiez un ou plusieurs ID d'articles Microsoft Knowledge Base (KB) à exclure. Vous pouvez exclure plusieurs ID en utilisant des valeurs séparées par une virgule. 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:runCommand
action) -
Cette étape vous permet de spécifier un script comme chaîne exécutée avant l'installation des mises à jour.
- Étape 3 : updateEC2Config (action
aws:runCommand
) -
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 afin de déterminer s'il faut mettre à jour EC2Config ou EC2Launch. EC2Config s'exécute sur Windows Server 2008 R2 via Windows Server 2012 R2. EC2Launch s'exécute sur Windows Server 2016. - Étape 4 : updateSSMAgent (action
aws:runCommand
) -
Cette étape met à jour SSM Agent à l'aide du runbook
AWS-UpdateSSMAgent
. - Étape 5 : mise à jour AWSPVDriver (
aws:runCommand
action) -
Cette étape met à jour les pilotes AWS PV à l'aide du
AWS-ConfigureAWSPackage
runbook. - Étape 6 : updateAwsEna NetworkDriver (
aws:runCommand
action) -
Cette étape met à jour les pilotes réseau AWS ENA à l'aide du
AWS-ConfigureAWSPackage
runbook. - Étape 7 : installWindowsUpdates (
aws:runCommand
action) -
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
, ouSeverityLevels
. - Étape 8 : runPostUpdate Script (
aws:runCommand
action) -
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:runCommand
action) -
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 EC2Launch (Windows Server 2016) ou EC2Config (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 une nouvelle AMI avec un nom descriptif qui la relie à 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 {{Id}} » où DATE_TIME et SourceAmi sourceId représentent les variables d'automatisation.
- Étape 12 : TerminateInstance (
aws:changeInstanceState
action) -
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, la sortie est l'ID des AMI Windows mises à jour créées 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 plus d’informations, consultez VPC non défini 400.
Pour créer une AMI Windows corrigée à l'aide d'Automation
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.
-
Exécutez la commande suivante pour exécuter le runbook
AWS-UpdateWindowsAmi
. Remplacez chaqueexample resource placeholder
(espace réservé pour les ressources) avec vos propres informations. L'exemple de commande ci-dessous utilise une AMI Amazon EC2 récente afin de réduire le nombre de correctifs à appliquer. Si vous exécutez cette commande plus d'une fois, vous devez spécifier une valeur unique pourtargetAMIname
. Les noms des AMI 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
" } -
Pour visualiser l'automatisation à l'aide de AWS CLI, exécutez la commande suivante :
aws ssm describe-automation-executions
-
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.