SSMDocument de commande pour l'application de correctifs : AWS-RunPatchBaselineWithHooks - 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.

SSMDocument de commande pour l'application de correctifs : AWS-RunPatchBaselineWithHooks

AWS Systems Manager supportsAWS-RunPatchBaselineWithHooks, un document Systems Manager (SSMdocument) pour Patch Manager, une capacité de AWS Systems Manager. Ce SSM document effectue des opérations de correction sur les nœuds gérés pour les mises à jour liées à la sécurité et pour d'autres types de mises à jour.

AWS-RunPatchBaselineWithHooks diffère de AWS-RunPatchBaseline par les aspects suivants :

  • Un document wrapper : AWS-RunPatchBaselineWithHooks est un wrapper pour AWS-RunPatchBaseline et s'appuie sur AWS-RunPatchBaseline pour certaines de ses opérations.

  • L'opération Install  : AWS-RunPatchBaselineWithHooks prend 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ération Install with NoReboot. Le deuxième hook suit l'opération Install 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-RunPatchBaselineWithHooks ne prend pas en charge le paramètre InstallOverrideList.

  • SSM Agent support AWS-RunPatchBaselineWithHooks exige que SSM Agent La version 3.0.502 ou ultérieure doit être installée sur le nœud géré à appliquer.

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. (Activé Windows Server, le support des applications est limité aux mises à jour des applications publiées par Microsoft.)

Ce document prend en charge Linux et Windows Server nœuds gérés. Ce document effectue les actions correspondant à chaque plateforme.

Note

AWS-RunPatchBaselineWithHooksn'est pas pris en charge sur macOS.

Linux

Sur les nœuds gérés Linux, le document AWS-RunPatchBaselineWithHooks appelle un module Python qui, à son tour, télécharge un instantané du référentiel de correctifs qui s'applique au nœud géré. Cet instantané du référentiel de correctifs utilise les règles définies et les listes de correctifs approuvés et bloqués afin de piloter le gestionnaire de package approprié pour chaque type de nœud :

  • Amazon Linux 1, Amazon Linux 2, CentOS, Oracle Linux, et RHEL 7 nœuds gérés sont utilisésYUM. Pour les YUM opérations, Patch Manager nécessite Python 2.6 ou une version ultérieure prise en charge (2.6 - 3.10).

  • RHEL 8 nœuds gérés sont utilisésDNF. Pour les DNF opérations, Patch Manager nécessite une version prise en charge de Python 2 or Python 3 (2.6 - 3.10). (Aucune version n'est installée par défaut sur RHEL 8. Vous devez installer l'un ou l'autre manuellement.)

  • Debian Server, Raspberry Pi OS, et Ubuntu Server les instances utilisentAPT. Pour les APT opérations, Patch Manager nécessite une version prise en charge de Python 3 (3.0 - 3.10).

  • SUSE Linux Enterprise Server les nœuds gérés utilisent Zypper. Pour les opérations Zypper, Patch Manager nécessite Python 2.6 ou une version ultérieure prise en charge (2.6 - 3.10).

Windows Server

Activé Windows Server nœuds gérés, le AWS-RunPatchBaselineWithHooks document télécharge et invoque un PowerShell module, qui télécharge à son tour un instantané de la ligne de base de correctifs qui s'applique au nœud géré. Cet instantané de la ligne de base des correctifs contient une liste des correctifs approuvés qui est compilée en interrogeant la ligne de base des correctifs auprès d'un serveur Windows Server Update Services (WSUS). Cette liste est transmise à Windows UpdateAPI, qui contrôle le téléchargement et l'installation des correctifs approuvés, le cas échéant.

Chaque instantané est spécifique à un groupe de correctifs Compte AWS, à un système d'exploitation et à un identifiant de capture. L'instantané est fourni par le biais d'un Amazon Simple Storage Service (Amazon URL S3) présigné, qui expire 24 heures après sa création. Toutefois, après l'URLexpiration, si vous souhaitez appliquer le même contenu de capture instantanée à d'autres nœuds gérés, vous pouvez générer un nouvel Amazon S3 présigné URL jusqu'à trois jours après la création de l'instantané. Pour ce faire, utilisez le get-deployable-patch-snapshot-for-instancecommande.

Une fois que toutes les mises à jour approuvées et applicables ont été installées, les redémarrages étant effectués selon les besoins, les informations de conformité des correctifs sont générées sur un nœud géré et renvoyées à Patch Manager.

Note

Si le RebootOption paramètre est défini sur NoReboot dans le AWS-RunPatchBaselineWithHooks document, le nœud géré n'est pas redémarré après Patch Manager court. Pour de plus amples informations, veuillez consulter Nom du paramètre: RebootOption.

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 :

  1. Analyser : une opération Scan utilisant AWS-RunPatchBaseline est exécutée sur le nœud géré, et un rapport de conformité est généré et chargé.

  2. 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.

    1. Si l'opération sélectionnée est Scan, l'opération est marquée comme terminée. L'opération se termine.

    2. Si l'opération sélectionnée estInstall, Patch Manager évalue le Scan résultat de l'étape 1 pour déterminer ce qu'il faut exécuter ensuite :

      1. 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.

      2. 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.

      3. Autrement, l'opération passe à l'étape suivante.

  3. Fonctionnement du hook avant le patch : le SSM document que vous avez fourni pour le premier hook du cycle de vie est exécuté sur le nœud géré. PreInstallHookDocName

  4. Installer avec NoReboot : une Install opération avec l'option de redémarrage NoReboot AWS-RunPatchBaseline est exécutée sur le nœud géré, et un rapport de conformité est généré et téléchargé.

  5. Fonctionnement du hook après l'installation : le SSM document que vous avez fourni pour le deuxième hook du cycle de vie est exécuté sur le nœud géré. PostInstallHookDocName

  6. 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 :

    1. 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.

    2. Si l'option de redémarrage sélectionnée estRebootIfNeeded, 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 :

      1. Patch Manager 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.)

      2. Patch Manager détecte un ou plusieurs correctifs dont l'état est INSTALLED_PENDING_REBOOT pendant l'opération d'installation. L'INSTALLED_PENDING_REBOOTétat peut indiquer que l'option NoReboot a été sélectionnée lors de la dernière exécution de l'opération d'installation 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.

  7. Redémarrage et rapport : une opération d'installation avec l'option de redémarrage RebootIfNeeded est exécutée sur le nœud géré via AWS-RunPatchBaseline, et un rapport de conformité est généré et chargé.

  8. Fonctionnement du hook après le redémarrage - Le SSM document que vous avez fourni pour le troisième hook du cycle de vie est exécuté sur le nœud géré. OnExitHookDocName

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. Laisser Patch Manager fournissez la valeur automatiquement lorsque le document est exécuté dans le cadre d'une opération de fenêtre de maintenance.

Nom du paramètre: Operation

Utilisation : Obligatoire.

Options : Scan | Install.

Analyser

Lorsque vous choisissez Scan cette option, les systèmes utilisent le AWS-RunPatchBaseline document pour déterminer l'état de conformité des correctifs du nœud géré et transmettent ces informations à Patch Manager. Scanne demande pas l'installation de mises à jour ni le redémarrage des 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-RunPatchBaselineWithHooks tente 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ération Install ne 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 RebootOption paramètre est défini sur NoReboot dans le AWS-RunPatchBaselineWithHooks document, le nœud géré n'est pas redémarré après Patch Manager court. Pour plus d'informations, consultez Nom du paramètre: RebootOption.)

Note

Si un correctif spécifié par les règles de base est installé avant Patch Manager met à jour le nœud géré, le système risque de ne pas redémarrer comme prévu. Cela peut se produire lorsqu'un correctif est installé manuellement par un utilisateur ou automatiquement par un autre programme, tel que le unattended-upgrades package sur Ubuntu Server.

Nom du paramètre: Snapshot ID

Utilisation : Facultatif.

Snapshot IDest un identifiant unique (GUID) utilisé par Patch Manager pour garantir qu'un ensemble de nœuds gérés auxquels des correctifs sont appliqués en une seule opération possède exactement le 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.

Bonnes pratiques AWS-RunPatchBaselineWithHooks
Mode Bonne pratique Détails
Exécution de AWS-RunPatchBaselineWithHooks à l'intérieur d'une fenêtre de maintenance Ne fournissez pas d'identifiant de capture d'écran. Patch Manager Je te le fournirai.

Si vous utilisez une fenêtre de maintenance pour exécuter AWS-RunPatchBaselineWithHooks, vous ne devriez pas fournir votre propre ID d'instantané généré. Dans ce scénario, Systems Manager fournit une GUID valeur basée sur l'ID d'exécution de la fenêtre de maintenance. Cela permet de garantir que l'ID correct est utilisé pour tous les appels de AWS-RunPatchBaselineWithHooks dans cette fenêtre de maintenance.

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 GUID valeur personnalisée pour le Snapshot ID.¹

Si vous n'avez pas recours à une fenêtre de maintenance pour exécuter AWS-RunPatchBaselineWithHooks, nous vous recommandons de générer et de spécifier un ID d'instantané unique pour chaque référentiel de correctifs, en particulier si vous exécutez le document AWS-RunPatchBaselineWithHooks sur plusieurs nœuds gérés au cours de la même opération. Dans ce cas de figure, si vous ne spécifiez pas d'ID, Systems Manager génère un ID d'instantané différent pour chacun des nœuds gérés auxquels la commande est envoyée. Cela peut entraîner la spécification d'ensembles de correctifs différents parmi les nœuds.

Supposons, par exemple, que vous exécutez le AWS-RunPatchBaselineWithHooks document directement via Run Command, une fonctionnalité et un ciblage d'un groupe de 50 nœuds gérés.AWS Systems Manager La spécification d'un ID d'instantané personnalisé entraîne la génération d'un instantané de référentiel unique qui permet d'évaluer et de corriger tous les nœuds gérés, garantissant ainsi un état final cohérent.

¹ Vous pouvez utiliser n'importe quel outil capable de générer un GUID pour générer une valeur pour le paramètre Snapshot ID. Par exemple, dans PowerShell, vous pouvez utiliser l'New-Guidapplet de commande pour générer un GUID au format de. 12345699-9405-4f69-bc5e-9315aEXAMPLE

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 d'utiliser Patch Manager pour appliquer des correctifs à des instances de cluster dans Amazon EMR (anciennement Amazon Elastic MapReduce). Ne sélectionnez pas l'option RebootIfNeeded pour le paramètre RebootOption. (Cette option est disponible dans les documents de SSM commande pour les correctifs AWS-RunPatchBaselineAWS-RunPatchBaselineAssociation, etAWS-RunPatchBaselineWithHooks.)

Les commandes sous-jacentes pour appliquer des correctifs à l'aide de Patch Manager utilisation yum et dnf commandes. 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 pour mettre à jour le logiciel sur les EMR clusters Amazon, consultez Utiliser la valeur par défaut AMI pour Amazon EMR dans le guide EMR de gestion Amazon.

RebootIfNeeded

Lorsque vous sélectionnez l'option RebootIfNeeded, le nœud géré est redémarré dans l'un des cas suivants :

  • Patch Manager 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 dont l'état est en INSTALLED_PENDING_REBOOT cours d'Installopération.

    L'INSTALLED_PENDING_REBOOTétat peut indiquer que l'option NoReboot a été sélectionnée lors de la dernière exécution de l'Installopération 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 choisissez NoReboot cette option, Patch Manager ne redémarre pas un nœud géré même s'il a installé des correctifs pendant l'Installopération. 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 NoReboot et qu'un correctif est installé, l'état du correctif est attribué au correctif InstalledPendingReboot. Le nœud géré, quant à lui, est marqué comme Non-Compliant. Après un redémarrage et l'exécution d'une opération Scan, l'état du nœud est mis à jour et devient Compliant.

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

  • Windows Server système d'exploitation :

    • 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 PreInstallHookDocName paramètre est le nom ou le nom de ressource Amazon (ARN) d'un SSM document de votre choix. Vous pouvez fournir le nom d'un document AWS géré ou le nom ARN d'un SSM document personnalisé que vous avez créé ou qui a été partagé avec vous. (Pour un SSM document qui a été partagé avec vous à partir d'un autre document Compte AWS, vous devez spécifier la ressource complèteARN, par exemplearn:aws:ssm:us-east-2:123456789012:document/MySharedDocument.)

Le SSM document que vous spécifiez est exécuté avant l'Installopération et exécute toutes les actions prises en charge par SSM Agent, tel qu'un script shell pour vérifier l'état de l'application avant d'appliquer des correctifs sur le nœud géré. (Pour obtenir la liste des actions, consultez Référence de plug-in de document Command). Le nom du SSM document par défaut estAWS-Noop, qui n'effectue aucune opération sur le nœud géré.

Pour plus d'informations sur la création d'un SSM document personnalisé, consultezCréation SSM du contenu du document.

Nom du paramètre: PostInstallHookDocName

Utilisation : Facultatif.

Par défaut : AWS-Noop.

La valeur à fournir pour le PostInstallHookDocName paramètre est le nom ou le nom de ressource Amazon (ARN) d'un SSM document de votre choix. Vous pouvez fournir le nom d'un document AWS géré ou le nom ARN d'un SSM document personnalisé que vous avez créé ou qui a été partagé avec vous. (Pour un SSM document qui a été partagé avec vous à partir d'un autre document Compte AWS, vous devez spécifier la ressource complèteARN, par exemplearn:aws:ssm:us-east-2:123456789012:document/MySharedDocument.)

Le SSM document que vous spécifiez est exécuté après l'Install with NoRebootopération et exécute toutes les actions prises en charge par SSM Agent, tel qu'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). Le nom du SSM document par défaut estAWS-Noop, qui n'effectue aucune opération sur le nœud géré.

Pour plus d'informations sur la création d'un SSM document personnalisé, consultezCréation SSM du contenu du document.

Nom du paramètre: OnExitHookDocName

Utilisation : Facultatif.

Par défaut : AWS-Noop.

La valeur à fournir pour le OnExitHookDocName paramètre est le nom ou le nom de ressource Amazon (ARN) d'un SSM document de votre choix. Vous pouvez fournir le nom d'un document AWS géré ou le nom ARN d'un SSM document personnalisé que vous avez créé ou qui a été partagé avec vous. (Pour un SSM document qui a été partagé avec vous à partir d'un autre document Compte AWS, vous devez spécifier la ressource complèteARN, par exemplearn:aws:ssm:us-east-2:123456789012:document/MySharedDocument.)

Le SSM document que vous spécifiez est exécuté après l'opération de redémarrage du nœud géré et exécute toutes les actions prises en charge par SSM Agent, tel qu'un script shell pour vérifier l'état du nœud une fois l'opération de correction terminée. (Pour obtenir la liste des actions, consultez Référence de plug-in de document Command). Le nom du SSM document par défaut estAWS-Noop, qui n'effectue aucune opération sur le nœud géré.

Pour plus d'informations sur la création d'un SSM document personnalisé, consultezCréation SSM du contenu du document.