O AWS Systems Manager é compatível com o AWS-RunPatchBaselineWithHooks
, um documento do Systems Manager (documento SSM) para o Patch Manager, uma ferramenta do AWS Systems Manager. Este documento do SSM executa operações de aplicação de patches em nós gerenciados para atualizações de segurança e outros tipos de atualizações.
O AWS-RunPatchBaselineWithHooks
difere do AWS-RunPatchBaseline
das seguintes maneiras:
-
Um documento do wrapper,
AWS-RunPatchBaselineWithHooks
, é um wrapper paraAWS-RunPatchBaseline
e depende doAWS-RunPatchBaseline
para algumas de suas operações. -
A operação
Install
: oAWS-RunPatchBaselineWithHooks
oferece suporte a hooks de ciclo de vida executados em pontos designados durante a aplicação de patches do nó gerenciado. Como as instalações de patches às vezes exigem nós gerenciados para reinicializar, a operação de aplicação patches é dividida em dois eventos, para um total de três hooks que oferecem suporte à funcionalidade personalizada. O primeiro hook é antes da operaçãoInstall with NoReboot
. O segundo hook é depois da operaçãoInstall with NoReboot
. O terceiro hook está disponível após a reinicialização do nó gerenciado. -
Sem suporte à lista de patches personalizada–
AWS-RunPatchBaselineWithHooks
não é compatível com oInstallOverrideList
parâmetro . -
Suporte ao SSM Agent: o
AWS-RunPatchBaselineWithHooks
exige que o SSM Agent 3.0.502 ou posterior seja instalado em um nó gerenciado para a aplicação de patches.
Quando o documento é executado, ele usa a linha de base do patch atualmente especificada como “padrão” para um tipo de sistema operacional se nenhum grupo de patches for especificado. Caso contrário, ele usa as linhas de base do patch associadas ao grupo de patches. Para obter mais informações sobre grupos de patches, consulte Grupos de patches.
Você pode usar o documento AWS-RunPatchBaselineWithHooks
para aplicar patches aos sistemas operacionais e aplicações. (No Windows Server, o suporte a aplicações é limitado a atualizações de aplicações da Microsoft.)
Este documento oferece suporte a nós gerenciados do Linux e Windows Server. O documento executará as ações adequadas a cada plataforma.
nota
AWS-RunPatchBaselineWithHooks
não é compatível com macOS.
Em nós gerenciados do Linux, o documento AWS-RunPatchBaselineWithHooks
invoca um módulo do Python, que, por sua vez, baixa um snapshot da lista de referência de patches que se aplica ao nó gerenciado. Esse snapshot da lista de referência de patches usa regras e listas de patches aprovados e bloqueados para conduzir o gerenciador de pacotes apropriado para cada tipo de nó:
-
Nós gerenciados do Amazon Linux 1, Amazon Linux 2, CentOS, Oracle Linux e RHEL 7 usam YUM. Para operações YUM, o Patch Manager requer o
Python 2.6
ou uma versão posterior compatível (2.6-3.10). -
Os nós gerenciados do RHEL 8 usam o DNF. Para operações DNF, o Patch Manager requer uma versão compatível do
Python 2
ouPython 3
(2.6-3.10). (Nenhuma versão é instalada por padrão no RHEL 8. É necessário instalar um deles manualmente.) -
As instâncias do Debian Server, do Raspberry Pi OS e do Ubuntu Server usam o APT. Para operações APT, o Patch Manager requer uma versão compatível do
Python 3
(3.0-3.10). -
Os nós gerenciados do SUSE Linux Enterprise Server usam o Zypper. Para operações Zypper, o Patch Manager requer o
Python 2.6
ou uma versão posterior compatível (2.6-3.10).
Cada snapshot é específico para uma Conta da AWS, um grupo de patches, um sistema operacional e um ID de snapshot. O snapshot é entregue por meio de um URL pré-assinado do Amazon Simple Storage Service (Amazon S3), que expira 24 horas após a criação do snapshot. No entanto, depois que o URL expirar, se você quiser aplicar o mesmo conteúdo de snapshot a outros nós gerenciados, você poderá gerar um novo URL pré-assinado do Amazon S3 até três dias após a criação do snapshot. Para fazer isso, use o comando get-deployable-patch-snapshot-for-instance.
Depois que todas as atualizações aprovadas e aplicáveis forem instaladas, e as reinicializações realizadas conforme a necessidade, as informações de conformidade do patch serão geradas em um nó gerenciado e relatadas ao Patch Manager.
nota
Se o parâmetro RebootOption
estiver definido como NoReboot
no documento AWS-RunPatchBaselineWithHooks
, o nó gerenciado não será reinicializado após a execução do Patch Manager. Para ter mais informações, consulte Nome do parâmetro: RebootOption.
Para obter informações sobre como visualizar dados de conformidade de patches, consulte Sobre a conformidade de patches.
Etapas operacionais do AWS-RunPatchBaselineWithHooks
Quando oAWS-RunPatchBaselineWithHooks
é executado, as seguintes etapas são executadas:
-
Scan - Uma operação
Scan
que usa oAWS-RunPatchBaseline
é executada em um nó gerenciado, e um relatório de conformidade é gerado e carregado. -
Verificar estados de patch locais- Um script é executado para determinar quais etapas serão executadas com base na operação selecionada e
Scan
Resultado da Etapa 1.-
Se a operação selecionada for
Scan
, ela será marcada como concluída. A operação termina. -
Se a operação selecionada for
Install
, o Patch Manager avalia o resultadoScan
da Etapa 1 para determinar o que executar a seguir:-
Se nenhum patch ausente for detectado e nenhuma reinicialização pendente for necessária, a operação prosseguirá diretamente para a etapa final (Etapa 8), que inclui um hook fornecido por você. Todas as etapas entre elas são ignoradas.
-
Se nenhum patch ausente for detectado, mas houver reinicializações pendentes necessárias e a opção de reinicialização selecionada for
NoReboot
, a operação prossegue diretamente para a etapa final (Etapa 8), que inclui um hook fornecido por você. Todas as etapas entre elas são ignoradas. -
Caso contrário, a operação prossegue para a próxima etapa.
-
-
-
Operação do hook pré-patch: o documento do SSM que você forneceu para o primeiro hook do ciclo de vida,
PreInstallHookDocName
, é executado no seu nó gerenciado. -
Instalar com NoReboot - Uma operação
Install
com a opção de reinicialização doNoReboot
usandoAWS-RunPatchBaseline
é executada em seu nó gerenciado, e um relatório de conformidade é gerado e carregado. -
Operação do hook pós-instalação: o documento do SSM que você forneceu para o segundo hook do ciclo de vida,
PostInstallHookDocName
, é executado em seu nó gerenciado. -
Verificar reinicializações - Um script é executado para determinar se uma reinicialização é necessária para o nó gerenciado e quais etapas executar:
-
Se a opção de reinicialização selecionada for
NoReboot
, a operação prosseguirá diretamente para a etapa final (Etapa 8), que inclui um hook fornecido por você. Todas as etapas entre elas são ignoradas. -
Se a opção de reinicialização selecionada for
RebootIfNeeded
, o Patch Manager verifica se há reinicializações pendentes necessárias do inventário coletado na Etapa 4. Isso significa que a operação continua na etapa 7 e o nó gerenciado é reinicializado em um dos seguintes casos:-
O Patch Manager instalou um ou mais patches. (O Patch Manager não avalia se o patch exige uma reinicialização. O sistema é reinicializado mesmo que o patch não exija uma reinicialização.)
-
O Patch Manager detecta um ou mais patches com um status de
INSTALLED_PENDING_REBOOT
durante a operação de instalação. O statusINSTALLED_PENDING_REBOOT
pode significar que a opçãoNoReboot
foi selecionada na última vez em que a operação Instalar foi executada ou que um patch foi instalado fora do Patch Manager na última vez que o nó gerenciado foi reinicializado.
Se nenhum patch que atenda a esses critérios for encontrado, a operação de aplicação de patch no nó gerenciado será concluída e a operação prosseguirá diretamente para a etapa final (etapa 8), que inclui um hook fornecido por você. Todas as etapas entre elas são ignoradas.
-
-
-
Reinicializações e relatórios - Uma operação de instalação com a opção de reinicialização do
RebootIfNeeded
é executado em seu nó gerenciado usando oAWS-RunPatchBaseline
e um relatório de conformidade é gerado e carregado. -
Operação de hook pós-reinicialização: o documento do SSM que você forneceu para o terceiro hook do ciclo de vida,
OnExitHookDocName
, é executado em seu nó gerenciado.
Para uma operação de Scan
, se a Etapa 1 falhar, o processo de execução do documento pára e a etapa é relatada como falha, embora as etapas subsequentes sejam relatadas como bem-sucedidas.
Para uma operação Install
, se qualquer uma das etapas do aws:runDocument
falharem durante a operação, essas etapas serão relatadas como falhas e a operação prosseguirá diretamente para a etapa final (Etapa 8), que inclui um hook fornecido por você. Todas as etapas entre elas são ignoradas. Esta etapa é relatada como falhou, a última etapa relata o status de seu resultado de operação e todas as etapas entre são relatadas como bem-sucedidas.
Parâmetros do AWS-RunPatchBaselineWithHooks
O AWS-RunPatchBaselineWithHooks
oferece suporte a seis parâmetros.
O parâmetro Operation
é obrigatório.
Os parâmetros RebootOption
, PreInstallHookDocName
, PostInstallHookDocName
e OnExitHookDocName
são opcionais.
O Snapshot-ID
é tecnicamente opcional, mas recomendamos que você forneça um valor personalizado para ele quando executar o AWS-RunPatchBaselineWithHooks
fora de uma janela de manutenção. Deixe o Patch Manager fornecer o valor automaticamente quando o documento é executado como parte de uma operação de janela de manutenção.
Parâmetros
Nome do parâmetro: Operation
Uso: obrigatório.
Opções: Scan
| Install
.
- Verificar
-
Quando você escolhe a opção
Scan
, o sistema usa o documentoAWS-RunPatchBaseline
para determinar o estado de conformidade dos patches do nó gerenciado e retorna essas informações para o Patch Manager. A opçãoScan
não solicita que atualizações sejam instaladas ou que nós gerenciados sejam reinicializados. Em vez disso, a operação identifica onde existem atualizações ausentes que estão aprovadas e são aplicáveis ao nó. - Instalar
-
Quando você escolhe a opção
Install
, oAWS-RunPatchBaselineWithHooks
tenta instalar as atualizações aprovadas e aplicáveis que estiverem ausentes em seu nó gerenciado. As informações de conformidade dos patches geradas como parte de uma operaçãoInstall
não listam atualizações ausentes, mas poderão indicar atualizações em estado malsucedido se, por qualquer motivo, a instalação da atualização não tiver tido êxito. Sempre que uma atualização é instalada em um nó gerenciado, o nó é reinicializado para garantir que a atualização esteja instalada e ativa. (Exceção: Se o parâmetroRebootOption
estiver definido comoNoReboot
no documentoAWS-RunPatchBaselineWithHooks
, o nó gerenciado não será reinicializado depois que o Patch Manager for executado. Para obter mais informações, consulte Nome do parâmetro: RebootOption).nota
Se um patch especificado pelas regras da lista de referência for instalado antes que o Patch Manager atualize o nó gerenciado, o sistema poderá não ser reinicializado conforme esperado. Isso pode acontecer quando um patch é instalado manualmente por um usuário ou instalado automaticamente por outro programa, como o pacote
unattended-upgrades
no Ubuntu Server.
Nome do parâmetro: Snapshot ID
Uso: opcional.
O Snapshot ID
é um ID exclusivo (GUID) usado pelo Patch Manager para garantir que um conjunto de nós gerenciados, corrigidos em uma única operação, tenham o mesmo conjunto de patches aprovados. Embora o parâmetro seja definido como opcional, nossa recomendação baseada em práticas recomendadas depende de estar executando ou não o AWS-RunPatchBaselineWithHooks
em uma janela de manutenção, conforme descrito na tabela a seguir.
Modo | Prática recomendada | Detalhes |
---|---|---|
RunningAWS-RunPatchBaselineWithHooks Dentro de uma janela de manutenção |
Não forneça um ID de snapshot. O Patch Manager fornecerá para você. |
Se você usar uma janela de manutenção para executar o Se você especificar um valor nesse cenário, observe que talvez o snapshot da lista de referência de patches não permaneça vigente por mais de três dias. Depois disso, um novo snapshot será gerado, mesmo que você especificar o mesmo ID depois que o snapshot expirar. |
RunningAWS-RunPatchBaselineWithHooks Fora de uma janela de manutenção |
Gere e especifique um valor de GUID personalizado para o ID do snapshot..¹ |
Quando você não estiver usando uma janela de manutenção para executar o Por exemplo, digamos que você esteja executando o documento |
¹ Você pode usar qualquer ferramenta capaz de gerar um GUID para gerar um valor para o parâmetro ID do snapshot. Por exemplo, no PowerShell, você pode usar o cmdlet |
Nome do parâmetro: RebootOption
Uso: opcional.
Opções: RebootIfNeeded
| NoReboot
Padrão: RebootIfNeeded
Atenção
A opção padrão é RebootIfNeeded
. Selecione a opção correta para o seu caso de uso. Por exemplo, se os nós gerenciados precisarem reinicializar imediatamente para concluir um processo de configuração, escolha RebootIfNeeded
. Ou, se você precisar manter a disponibilidade do nó gerenciado até um horário de reinicialização agendado, escolha NoReboot
.
Importante
Não é recomendável usar o Patch Manager para aplicar patches em instâncias de cluster no Amazon EMR (antes chamado de Amazon Elastic MapReduce). Em particular, não selecione a opção RebootIfNeeded
para o parâmetro RebootOption
. (Essa opção está disponível nos documentos do SSM Command para aplicação de patches em AWS-RunPatchBaseline
, AWS-RunPatchBaselineAssociation
e AWS-RunPatchBaselineWithHooks
.)
Os comandos subjacentes para aplicação de patches usando o Patch Manager utilizam os comandos yum
e dnf
. Portanto, as operações resultam em incompatibilidades por causa da forma como os pacotes são instalados. Para obter informações sobre os métodos preferenciais para atualizar o software nos clusters do Amazon EMR, consulte Using the default AMI for Amazon EMR no Guia de gerenciamento do Amazon EMR.
- RebootIfNeeded
-
Quando você escolhe a opção
RebootIfNeeded
, o nó gerenciado é reinicializado em um dos seguintes casos:-
O Patch Manager instalou um ou mais patches.
O Patch Manager não avalia se uma reinicialização é exigida pelo patch. O sistema é reinicializado mesmo que o patch não exija uma reinicialização.
-
O Patch Manager detecta um ou mais patches com um status de
INSTALLED_PENDING_REBOOT
durante a operaçãoInstall
.O status
INSTALLED_PENDING_REBOOT
pode significar que a opçãoNoReboot
foi selecionada na última vez em que a operaçãoInstall
foi executada ou que um patch foi instalado fora do Patch Manager na última vez que o nó gerenciado foi reinicializado.
A reinicialização de nós gerenciados nesses dois casos garante que os pacotes atualizados sejam liberados da memória e mantenham o comportamento da aplicação de patches e da reinicialização consistente em todos os sistemas operacionais.
-
- NoReboot
-
Quando você escolhe a opção
NoReboot
, o Patch Manager não reinicializa um nó gerenciado, mesmo que tenha instalado patches durante a operaçãoInstall
. Essa opção é útil se você souber que os nós gerenciados não exigem reinicialização após a aplicação de patches, ou se houver aplicações ou processos em execução em um nó que não devam ser interrompidos por uma reinicialização da operação de aplicação de patch. Também é útil quando você deseja mais controle sobre o tempo de reinicializações de nós gerenciados, como, por exemplo, usando uma janela de manutenção.nota
Se você escolher a opção
NoReboot
e um patch for instalado, o patch receberá um status deInstalledPendingReboot
. O nó gerenciado em si, no entanto, é marcado comoNon-Compliant
. Depois que ocorre uma reinicialização e uma operaçãoScan
é executada, o status do nó é atualizado paraCompliant
.
Arquivo de rastreamento de instalação de patches: para rastrear a instalação de patches, sobretudo os patches que foram instalados desde a última reinicialização do sistema, o Systems Manager mantém um arquivo em seu nó gerenciado.
Importante
Não exclua nem modifique o arquivo de monitoramento. Se esse arquivo for excluído ou corrompido, o relatório de conformidade de patch do nó gerenciado será impreciso. Se isso acontecer, reinicialize o nó e execute uma operação de verificação de patch para restaurar o arquivo.
Esse arquivo de rastreamento é armazenado nos seguintes locais em seus nós gerenciados:
-
Sistemas operacionais Linux:
-
/var/log/amazon/ssm/patch-configuration/patch-states-configuration.json
-
/var/log/amazon/ssm/patch-configuration/patch-inventory-from-last-operation.json
-
-
Sistema operacional Windows Server:
-
C:\ProgramData\Amazon\PatchBaselineOperations\State\PatchStatesConfiguration.json
-
C:\ProgramData\Amazon\PatchBaselineOperations\State\PatchInventoryFromLastOperation.json
-
Nome do parâmetro: PreInstallHookDocName
Uso: opcional.
Padrão: AWS-Noop
.
O valor a ser fornecido para o parâmetro PreInstallHookDocName
é o nome ou o nome do recurso da Amazon (ARN) de um documento do SSM de sua escolha. Você pode fornecer o nome de um documento gerenciado pela AWS ou o nome ou ARN de um documento SSM personalizado que você criou ou que foi compartilhado com você. (Para um documento do SSM que foi compartilhado com você de uma Conta da AWS diferente, você deve especificar o ARN completo do recurso, como arn:aws:ssm:us-east-2:123456789012:document/MySharedDocument
).
O documento SSM especificado é executado antes da operação Install
e executa todas as ações suportadas pelo SSM Agent, como um script shell para executar a verificação de integridade da aplicação, antes que o patch seja executado em seu nó gerenciado. Para obter uma lista de ações consulte Referência de plug-ins de documentos de comando). O nome do documento SSM padrão é AWS-Noop
, que não executa nenhuma operação em um nó gerenciado.
Para obter informações sobre como criar um documento SSM personalizado, consulte Criar conteúdo de documento do SSM.
Nome do parâmetro: PostInstallHookDocName
Uso: opcional.
Padrão: AWS-Noop
.
O valor a ser fornecido para o parâmetro PostInstallHookDocName
é o nome ou o nome do recurso da Amazon (ARN) de um documento do SSM de sua escolha. Você pode fornecer o nome de um documento gerenciado pela AWS ou o nome ou ARN de um documento SSM personalizado que você criou ou que foi compartilhado com você. (Para um documento do SSM que foi compartilhado com você de uma Conta da AWS diferente, você deve especificar o ARN completo do recurso, como arn:aws:ssm:us-east-2:123456789012:document/MySharedDocument
).
O documento SSM especificado é executado após oInstall with
NoReboot
e executa todas as ações suportadas peloSSM Agent, como um script shell para instalar atualizações de terceiros antes da reinicialização. Para obter uma lista de ações consulte Referência de plug-ins de documentos de comando). O nome do documento SSM padrão é AWS-Noop
, que não executa nenhuma operação em um nó gerenciado.
Para obter informações sobre como criar um documento SSM personalizado, consulte Criar conteúdo de documento do SSM.
Nome do parâmetro: OnExitHookDocName
Uso: opcional.
Padrão: AWS-Noop
.
O valor a ser fornecido para o parâmetro OnExitHookDocName
é o nome ou o nome do recurso da Amazon (ARN) de um documento do SSM de sua escolha. Você pode fornecer o nome de um documento gerenciado pela AWS ou o nome ou ARN de um documento SSM personalizado que você criou ou que foi compartilhado com você. (Para um documento do SSM que foi compartilhado com você de uma Conta da AWS diferente, você deve especificar o ARN completo do recurso, como arn:aws:ssm:us-east-2:123456789012:document/MySharedDocument
).
O documento SSM especificado é executado após a operação de reinicialização do nó gerenciado e executa todas as ações suportadas pelo SSM Agent, como um script shell para verificar a integridade do nó após a conclusão da operação de aplicação do patch. Para obter uma lista de ações consulte Referência de plug-ins de documentos de comando). O nome do documento SSM padrão é AWS-Noop
, que não executa nenhuma operação em um nó gerenciado.
Para obter informações sobre como criar um documento SSM personalizado, consulte Criar conteúdo de documento do SSM.