Document de commande SSM pour l’application de correctifs : AWS-RunPatchBaselineWithHooks
AWS Systems Manager prend en charge AWS-RunPatchBaselineWithHooks, un document Systems Manager (document SSM) pour Patch Manager, un outil d’AWS Systems Manager. Ce document SSM permet d'appliquer des correctifs sur les nœuds gérés, tant pour les mises à jour liées à la sécurité que pour les autres types de mises à jour. 
AWS-RunPatchBaselineWithHooks diffère de AWS-RunPatchBaseline par les aspects suivants :
- 
                    
Un document wrapper :
AWS-RunPatchBaselineWithHooksest un wrapper pourAWS-RunPatchBaselineet s'appuie surAWS-RunPatchBaselinepour certaines de ses opérations. - 
                    
L'opération
Install:AWS-RunPatchBaselineWithHooksprend en charge les hooks de cycle de vie qui s'exécutent aux stades désignés lors de l'application de correctifs sur des nœuds gérés. Comme l'installation des correctifs exige parfois le redémarrage des nœuds gérés, l'opération d'application des correctifs se décompose en deux événements, pour un total de trois hooks qui prennent en charge la fonctionnalité personnalisée. Le premier hook précède l'opérationInstall with NoReboot. Le deuxième hook suit l'opérationInstall with NoReboot. Le troisième hook est disponible après le redémarrage du nœud géré. - 
                    
Aucune prise en charge de liste de correctifs personnalisée :
AWS-RunPatchBaselineWithHooksne prend pas en charge le paramètreInstallOverrideList. - 
                    
Prise en charge de SSM Agent :
AWS-RunPatchBaselineWithHooksexige que SSM Agent 3.0.502 (ou version ultérieure) soit installé sur le nœud géré auquel les correctifs doivent être appliqués. 
Si aucun groupe de correctifs n'est spécifié, lorsque le document est exécuté, il utilise le référentiel de correctifs « par défaut » actuellement spécifié pour un type de système d'exploitation. Sinon, il utilise les référentiels de correctifs associés au groupe de correctifs. Pour de plus amples informations sur les groupes de correctifs, veuillez consulter Groupes de correctifs.
Vous pouvez utiliser le document AWS-RunPatchBaselineWithHooks pour appliquer des correctifs pour les systèmes d'exploitation et les applications. (Sur Windows Server, la prise en charge des applications est limitée à des mises à jour pour les applications publiées par Microsoft.)
Ce document prend en charge les nœuds gérés Linux et Windows Server. Ce document effectue les actions correspondant à chaque plateforme.
Note
AWS-RunPatchBaselineWithHooks n’est pas pris en charge par macOS.
Chaque instantané est spécifique à un Compte AWS, un groupe de correctifs, un système d'exploitation et un ID d'instantané. L'instantané est délivré via une URL Amazon Simple Storage Service (Amazon S3) présignée, qui expire 24 heures après la création de l'instantané. Toutefois, une fois l'URL expirée, si vous souhaitez appliquer le contenu du même instantané à d'autres nœuds gérés, vous pouvez générer une nouvelle URL Amazon S3 présignée jusqu'à trois jours après la création de l'instantané. Pour ce faire, utilisez la commande get-deployable-patch-snapshot-for-instance.
Une fois que toutes les mises à jour approuvées et applicables ont été installées, et que les redémarrages nécessaires ont été effectués, des informations relatives à la conformité des correctifs sont générées sur un nœud géré et transmises à Patch Manager.
Si le paramètre RebootOption est défini sur NoReboot dans le document AWS-RunPatchBaselineWithHooks, le nœud géré n'est pas redémarré après l'exécution de Patch Manager. Pour de plus amples informations, consultez Nom du paramètre: RebootOption.
Important
Bien que l’option NoReboot empêche les redémarrages du système d’exploitation, elle n’empêche pas les redémarrages au niveau du service susceptibles de se produire lors de la mise à jour de certains packages. Par exemple, la mise à jour de packages comme Docker peut déclencher le redémarrage automatique de services dépendants (comme les services d’orchestration de conteneurs) même lorsque NoReboot est spécifié.
Pour plus d'informations sur l'affichage des données de conformité des correctifs, consultez A propos de la conformité des correctifs.
Étapes opérationnelles d'AWS-RunPatchBaselineWithHooks
                Lorsque AWS-RunPatchBaselineWithHooks s'exécute, les étapes suivantes sont effectuées :
- 
                        
Analyser : une opération
ScanutilisantAWS-RunPatchBaselineest exécutée sur le nœud géré, et un rapport de conformité est généré et chargé. - 
                        
Vérifier les états des correctifs locaux : un script est exécuté pour déterminer quelles étapes seront effectuées en fonction de l'opération sélectionnée et du résultat de
Scanà l'étape 1.- 
                                
Si l'opération sélectionnée est
Scan, l'opération est marquée comme terminée. L'opération se termine. - 
                                
Si l'opération sélectionnée est
Install, Patch Manager évalue le résultat deScanà l'étape 1 afin de déterminer ce qu'il faut exécuter ensuite :- 
                                        
Si aucun correctif manquant n'est détecté et qu'aucun redémarrage en attente n'est requis, l'opération passe directement à l'étape finale (étape 8), qui comprend un hook fourni par vos soins. Toutes les étapes intermédiaires sont ignorées.
 - 
                                        
Si aucun correctif manquant n'est détecté, mais qu'aucun redémarrage en attente n'est requis et que l'option de redémarrage sélectionnée est
NoReboot, l'opération passe directement à l'étape finale (étape 8), qui comprend un hook fourni par vos soins. Toutes les étapes intermédiaires sont ignorées. - 
                                        
Autrement, l'opération passe à l'étape suivante.
 
 - 
                                        
 
 - 
                                
 - 
                        
Opération hook avant l'application de correctifs : le document SSM que vous avez fourni pour le premier hook de cycle de vie,
PreInstallHookDocName, est exécuté sur le nœud géré. - 
                        
Installation avec NoReboot : une opération
Installavec l'option de redémarrageNoRebootviaAWS-RunPatchBaselineest exécutée sur le nœud géré, et un rapport de conformité est généré et chargé. - 
                        
Opération hook après l'application de correctifs : le document SSM que vous avez fourni pour le premier hook de cycle de vie,
PostInstallHookDocName, est exécuté sur le nœud géré. - 
                        
Vérification du redémarrage : un script est exécuté afin de déterminer si un redémarrage est nécessaire pour le nœud géré et quelles sont les étapes à suivre :
- 
                                
Si l'option de redémarrage sélectionnée est
NoReboot, l'opération passe directement à l'étape finale (étape 8), qui comprend un hook fourni par vos soins. Toutes les étapes intermédiaires sont ignorées. - 
                                
Si l'option de redémarrage sélectionnée est
RebootIfNeeded, Patch Manager vérifie si des redémarrages en attente sont requis, à partir de l'inventaire collecté à l'étape 4. Cela signifie que l'opération continue jusqu'à l'étape 7 et que le nœud géré est redémarré dans l'un des cas suivants :- 
                                        
Patch Manager a installé un ou plusieurs correctifs. (Patch Manager n'évalue pas si un redémarrage est requis par le correctif. Le système est redémarré même si le correctif ne nécessite pas de redémarrage.)
 - 
                                        
Patch Manager détecte un ou plusieurs correctifs à l'état
INSTALLED_PENDING_REBOOTdurant l'opération Install (Installer). Le statutINSTALLED_PENDING_REBOOTpeut signifier que l’optionNoReboota été sélectionnée lors de la dernière exécution de l’opération Install, ou qu’un correctif a été installé en dehors de Patch Manager depuis le dernier redémarrage du nœud géré. 
Si aucun correctif correspondant à ces critères n'est trouvé, l'opération d'application de correctifs sur un nœud géré prend fin et passe directement à l'étape finale (étape 8), qui comprend un hook fourni par vos soins. Toutes les étapes intermédiaires sont ignorées.
 - 
                                        
 
 - 
                                
 - 
                        
Redémarrage et rapport : une opération d'installation avec l'option de redémarrage
RebootIfNeededest exécutée sur le nœud géré viaAWS-RunPatchBaseline, et un rapport de conformité est généré et chargé. - 
                        
Opération hook après redémarrage : le document SSM que vous avez fourni pour le troisième hook de cycle de vie,
OnExitHookDocName, est exécuté sur le nœud géré. 
Pour une opération Scan, si l'étape 1 échoue, le processus d'exécution du document s'arrête et l'étape est signalée comme ayant échoué, bien que les étapes suivantes soient signalées comme ayant réussi. 
 Pour une opération Install, si l'une des étapes aws:runDocument échoue pendant l'opération, ces étapes sont signalées comme ayant échoué et l'opération passe directement à l'étape finale (étape 8), qui comprend un hook fourni par vos soins. Toutes les étapes intermédiaires sont ignorées. Cette étape est signalée comme ayant échoué, la dernière étape indique le statut du résultat de son opération et toutes les étapes intermédiaires sont signalées comme ayant réussi.
AWS-RunPatchBaselineWithHooks paramètres
                AWS-RunPatchBaselineWithHooks prend en charge six paramètres. 
Le paramètre Operation est obligatoire. 
Les paramètres RebootOption, PreInstallHookDocName, PostInstallHookDocName et OnExitHookDocName sont facultatifs. 
Du point de vue technique, Snapshot-ID est facultatif, mais nous vous recommandons de lui donner une valeur personnalisée lorsque vous exécutez AWS-RunPatchBaselineWithHooks à l'extérieur d'une fenêtre de maintenance. Laissez Patch Manager fournir la valeur automatiquement lorsque le document est exécuté dans le cadre d'une opération de fenêtre de maintenance.
Paramètres
Nom du paramètre: Operation
                    Utilisation : Obligatoire.
Options : Scan | Install. 
- Analyser
 - 
                                
Lorsque vous sélectionnez l'option
Scan, le système utilise le documentAWS-RunPatchBaselineafin de déterminer l'état de conformité du nœud géré en matière de correctifs et transmet cette information à Patch Manager.Scann'invite pas à installer les mises à jour ou à redémarrer les nœuds gérés. Mais l'opération identifie les mises à jour manquantes qui sont approuvées et applicables au nœud. - Installation
 - 
                                
Lorsque vous sélectionnez l'option
Install,AWS-RunPatchBaselineWithHookstente d'installer les mises à jour approuvées et applicables qu'il manque sur le nœud géré. Les informations de conformité des correctifs générées dans le cadre d'une opérationInstallne répertorient pas les mises à jour manquantes, mais peuvent signaler les mises à jour avec un état d'échec si l'installation de la mise à jour a échoué pour une raison ou pour une autre. Chaque fois qu'une mise à jour est installée sur un nœud géré, ce dernier est redémarré pour s'assurer que la mise à jour est non seulement installée, mais également active. (Exception : si le paramètreRebootOptionest défini surNoRebootdans le documentAWS-RunPatchBaselineWithHooks, le nœud géré n'est pas redémarré après l'exécution de Patch Manager. Pour plus d'informations, consultez Nom du paramètre: RebootOption).Note
Si un correctif spécifié par les règles de référentiel est installé avant la mise à jour du nœud géré par Patch Manager, le système peut ne pas redémarrer comme prévu. Cela peut se produire lorsqu'un correctif est installé manuellement par un utilisateur ou installé automatiquement par un autre programme, tel que le package
unattended-upgradessur Ubuntu Server. 
Nom du paramètre: Snapshot ID
                    Utilisation : Facultatif.
Snapshot ID est un ID unique (GUID) utilisé par Patch Manager pour s'assurer que les nœuds gérés d'un groupe auquel des correctifs ont été appliqués dans le cadre d'une opération individuelle disposent tous du même ensemble de correctifs approuvés. Bien que le paramètre soit défini comme facultatif, nous recommandons deux bonnes pratiques différentes : l'une si vous exécutez AWS-RunPatchBaselineWithHooks dans une fenêtre de maintenance, l'autre si l'exécution a lieu hors d'une fenêtre de maintenance, comme décrit dans le tableau ci-dessous.
| Mode | Bonne pratique | Détails | 
|---|---|---|
Exécution de AWS-RunPatchBaselineWithHooks à l'intérieur d'une fenêtre de maintenance | 
                                    Ne fournissez pas d'ID d'instantané. Patch Manager le fournira pour vous. | 
                                         Si vous utilisez une fenêtre de maintenance pour exécuter  Si vous spécifiez une valeur dans ce scénario, notez que pendant plus de trois jours, l'instantané du référentiel de correctifs peut changer. Par la suite, un nouvel instantané est généré même si vous spécifiez le même ID après l'expiration de l'instantané.  | 
                                
Exécution de AWS-RunPatchBaselineWithHooks à l'extérieur d'une fenêtre de maintenance | 
                                    Générez et spécifiez une valeur de GUID personnalisée pour l'ID d'instantané.¹ | 
                                         Si vous n'avez pas recours à une fenêtre de maintenance pour exécuter  Par exemple, si vous exécutez le document   | 
                                
| 
                                         ¹ Vous pouvez utiliser n'importe quel outil capable de générer un GUID afin de générer une valeur pour le paramètre d'ID d'instantané. Par exemple, dans PowerShell, vous pouvez utilisez l'applet de commande   | 
                                ||
Nom du paramètre: RebootOption
                    Utilisation : Facultatif.
Options : RebootIfNeeded | NoReboot 
Par défaut : RebootIfNeeded
Avertissement
L'option par défaut est RebootIfNeeded. Veillez à sélectionner l'option qui correspond à votre cas d'utilisation. Par exemple, si vos nœuds gérés doivent redémarrer immédiatement pour finaliser un processus de configuration, sélectionnez RebootIfNeeded. Ou, si des nœuds gérés doivent rester disponibles jusqu'à une heure de redémarrage planifiée, sélectionnez NoReboot.
Important
Nous ne recommandons pas l'utilisation de Patch Manager pour l'application de correctifs sur les instances de cluster dans Amazon EMR (anciennement appelé Amazon Elastic MapReduce). Ne sélectionnez pas l'option RebootIfNeeded pour le paramètre RebootOption. (Cette option est disponible dans les documents SSM Command pour l'application de correctifs sur AWS-RunPatchBaseline, AWS-RunPatchBaselineAssociation et AWS-RunPatchBaselineWithHooks.)
Les commandes sous-jacentes pour l'application de correctifs à l'aide de Patch Manager utilisent les commandes yum et dnf. Par conséquent, les opérations entraînent des incompatibilités en raison de la manière dont les packages sont installés. Pour plus d'informations sur les méthodes préférées de mise à jour logicielle sur les clusters Amazon EMR, veuillez consulter la rubrique Utilisation de l'AMI par défaut pour Amazon EMR dans le Guide de gestion Amazon EMR.
- RebootIfNeeded
 - 
                                
Lorsque vous sélectionnez l'option
RebootIfNeeded, le nœud géré est redémarré dans l'un des cas suivants :- 
                                        
Patch Manager a installé un ou plusieurs correctifs.
Patch Manager n'évalue pas si un redémarrage est requis par le correctif. Le système est redémarré même si le correctif ne nécessite pas de redémarrage.
 - 
                                        
Patch Manager détecte un ou plusieurs correctifs à l'état
INSTALLED_PENDING_REBOOTdurant l'opérationInstall.Le statut
INSTALLED_PENDING_REBOOTpeut signifier que l’optionNoReboota été sélectionnée lors de la dernière exécution de l’opérationInstall, ou qu’un correctif a été installé en dehors de Patch Manager depuis le dernier redémarrage du nœud géré. 
Dans ces deux cas, le redémarrage des nœuds gérés permet de supprimer les packages mis à jour de la mémoire, et assure la cohérence du comportement d'application des correctifs et de redémarrage sur tous les systèmes d'exploitation.
 - 
                                        
 - NoReboot
 - 
                                
Lorsque vous sélectionnez l'option
NoReboot, Patch Manager ne redémarre pas le nœud géré même s'il y a installé des correctifs pendant l'opérationInstall. Cette option est utile si vous savez qu'il n'est pas nécessaire de redémarrer vos nœuds gérés après l'application de correctifs, ou si des applications ou des processus en cours d'exécution sur un nœud ne doivent pas être perturbés par un redémarrage suite à l'application de correctifs. Elle est également utile lorsque vous souhaitez bénéficier de plus de contrôle sur le timing des redémarrages des nœuds gérés, par exemple en utilisant une fenêtre de maintenance.Note
Si vous sélectionnez l'option
NoRebootet qu'un correctif est installé, l'état du correctif est attribué au correctifInstalledPendingReboot. Le nœud géré, quant à lui, est marqué commeNon-Compliant. Après un redémarrage et l'exécution d'une opérationScan, l'état du nœud est mis à jour et devientCompliant. 
Fichier de suivi de l'installation des correctifs : pour suivre l'installation des correctifs, en particulier ceux installés depuis le dernier redémarrage du système, Systems Manager gère un fichier sur le nœud géré.
Important
Ne supprimez pas ou ne modifiez pas le fichier de suivi. Si ce fichier est supprimé ou endommagé, le rapport de conformité des correctifs correspondant au nœud géré est inexact. Dans ce cas, redémarrez le nœud et lancez une opération d'analyse des correctifs pour restaurer le fichier.
Ce fichier de suivi est stocké aux emplacements suivants sur vos nœuds gérés :
- 
                            
Systèmes d'exploitation Linux :
- 
                                    
/var/log/amazon/ssm/patch-configuration/patch-states-configuration.json - 
                                    
/var/log/amazon/ssm/patch-configuration/patch-inventory-from-last-operation.json 
 - 
                                    
 - 
                            
Système d'exploitation Windows Server :
- 
                                    
C:\ProgramData\Amazon\PatchBaselineOperations\State\PatchStatesConfiguration.json - 
                                    
C:\ProgramData\Amazon\PatchBaselineOperations\State\PatchInventoryFromLastOperation.json 
 - 
                                    
 
Nom du paramètre: PreInstallHookDocName
                    Utilisation : Facultatif.
Par défaut : AWS-Noop. 
La valeur à fournir pour le paramètre PreInstallHookDocName est le nom ou l'Amazon Resource Name (ARN) d'un document SSM de votre choix. Vous pouvez indiquer le nom d'un document géré par AWS ou le nom ou l'ARN d'un document SSM personnalisé que vous avez créé ou qui a été partagé avec vous. (Pour un document SSM partagé avec vous à partir d'un Compte AWS différent, vous devez spécifier l'ARN complet de la ressource, arn:aws:ssm:us-east-2:123456789012:document/MySharedDocument par exemple.)
Le document SSM spécifié par vos soins est exécuté avant l'opération Install et effectue toutes les actions prises en charge par SSM Agent, comme l'exécution d'un script shell pour assurer la surveillance de l'état des applications avant l'installation des correctifs sur le nœud géré. (Pour obtenir la liste des actions, consultez Référence de plug-in de document Command). Par défaut, le document SSM porte le nom AWS-Noop. Celui-ci n'effectue aucune opération sur le nœud géré. 
Pour de plus amples informations sur la création d'un document SSM personnalisé, veuillez consulter Création du contenu du document SSM.
Nom du paramètre: PostInstallHookDocName
                    Utilisation : Facultatif.
Par défaut : AWS-Noop. 
La valeur à fournir pour le paramètre PostInstallHookDocName est le nom ou l'Amazon Resource Name (ARN) d'un document SSM de votre choix. Vous pouvez indiquer le nom d'un document géré par AWS ou le nom ou l'ARN d'un document SSM personnalisé que vous avez créé ou qui a été partagé avec vous. (Pour un document SSM partagé avec vous à partir d'un Compte AWS différent, vous devez spécifier l'ARN complet de la ressource, arn:aws:ssm:us-east-2:123456789012:document/MySharedDocument par exemple.)
Le document SSM que vous spécifiez est exécuté après l'opération Install with
                            NoReboot et effectue toutes les actions prises en charge par SSM Agent, par exemple un script shell pour installer des mises à jour tierces avant le redémarrage. (Pour obtenir la liste des actions, consultez Référence de plug-in de document Command). Par défaut, le document SSM porte le nom AWS-Noop. Celui-ci n'effectue aucune opération sur le nœud géré. 
Pour de plus amples informations sur la création d'un document SSM personnalisé, veuillez consulter Création du contenu du document SSM.
Nom du paramètre: OnExitHookDocName
                    Utilisation : Facultatif.
Par défaut : AWS-Noop. 
La valeur à fournir pour le paramètre OnExitHookDocName est le nom ou l'Amazon Resource Name (ARN) d'un document SSM de votre choix. Vous pouvez indiquer le nom d'un document géré par AWS ou le nom ou l'ARN d'un document SSM personnalisé que vous avez créé ou qui a été partagé avec vous. (Pour un document SSM partagé avec vous à partir d'un Compte AWS différent, vous devez spécifier l'ARN complet de la ressource, arn:aws:ssm:us-east-2:123456789012:document/MySharedDocument par exemple.)
Le document SSM spécifié par vos soins est exécuté après l'opération de redémarrage du nœud géré et effectue toutes les actions prises en charge par SSM Agent, comme l'exécution d'un script shell pour vérifier l'état du nœud une fois l'opération d'application des correctifs terminée. (Pour obtenir la liste des actions, consultez Référence de plug-in de document Command). Par défaut, le document SSM porte le nom AWS-Noop. Celui-ci n'effectue aucune opération sur le nœud géré. 
Pour de plus amples informations sur la création d'un document SSM personnalisé, veuillez consulter Création du contenu du document SSM.