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 |
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: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 : mettre à jour EC2 Config (
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 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:runCommand
action) -
Cette étape met à jour SSM Agent en utilisant le
AWS-UpdateSSMAgent
runbook. - É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 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: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, 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
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
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 pourtargetAMIname
. 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
" } -
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.