Como solucionar problemas de aplicação de patches relacionados à instância do Amazon EC2 do Windows ao usar o documento AWS-RunPatchBaseline do Gerenciador de Patches?
Estou tentando aplicar patches em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) do Windows, mas recebo erros. Quero solucionar problemas ao usar o documento AWS-RunPatchBasline para aplicar patches em nós do Windows.
Breve descrição
Você pode encontrar os seguintes problemas ao usar o documento AWS-RunPatchBaseline do Gerenciador de Patches, um recurso do AWS Systems Manager:
- O nó não consegue alcançar os endpoints do Amazon Simple Storage Service (Amazon S3)
- A solicitação de token não é válida
- Você não pode pesquisar por atualizações do Windows
- Falha na instalação das atualizações após o download
- Um patch está ausente
Resolução
O nó não consegue alcançar os endpoints do Amazon S3
Você pode receber os seguintes exemplos de mensagens de erro quando o Amazon S3 não consegue se conectar ao servidor remoto:
"Invoke-PatchBaselineOperation : A conexão subjacente foi fechada: Ocorreu um erro inesperado em um envio."
-ou-
"Ocorreu um erro ao executar PatchBaselineOperations: Não é possível se conectar ao servidor remoto"
Os erros anteriores ocorrem porque o nó não consegue se conectar aos endpoints do S3. Ou o perfil do AWS Identity and Access Management (IAM) anexado à instância não tem as permissões mínimas necessárias para conectividade ao S3.
Conclua as seguintes etapas para resolver esses problemas:
1. Verifique se as permissões do IAM para o perfil da instância estão anexadas ao nó. Para obter as permissões mínimas, consulte Comunicações do AWS Systems Manager Agent (SSM Agent) com buckets do S3 gerenciados pela AWS.
2. Execute o comando a seguir no PowerShell para verificar a conexão com o endpoint do Amazon S3:
Observação: substitua <region_id> pelo ID da sua região da AWS.
tnc s3.<region_id>.amazonaws.com -port 443
3. Se o teste anterior falhar, verifique como a instância está conectada aos endpoints do Systems Manager:
- Se a instância estiver em uma sub-rede pública, certifique-se de que a RouteTable anexada à instância use um gateway da Internet para rotear para 0.0.0.0/0.
- Se a instância estiver em uma sub-rede privada, use um gateway NAT para se conectar, [crie um endpoint da VPC do gateway do S3 ou crie um endpoint da VPC de interface]().
A solicitação de token não é válida
Você pode receber os seguintes exemplos de mensagens de erro porque a solicitação de token não é válida:
"Invoke-PatchBaselineOperation falhou com: O token de segurança incluído na solicitação é inválido:
-ou-
"Invoke-PatchBaselineOperation: O ID da instância i-00fe5918abcdef12 não corresponde às credenciais"
Os erros anteriores ocorrem quando o SSM Agent usa credenciais diferentes das credenciais que você espera que ele use. Por exemplo, o SSM Agent usa um arquivo de credenciais compartilhadas em vez de um perfil de instância.
Observação: para o SSM Agent versão 3.1.1927.0 ou anterior, o SSM Agent procura credenciais na ordem prescrita para a cadeia de provedores de credenciais padrão. Isso também se aplica às instâncias de contêiner do Amazon Elastic Container Service (Amazon ECS).
A partir da versão 3.2.183.0 do SSM Agent, o SSM Agent armazena um conjunto de credenciais temporárias em /var/lib/amazon/ssm/credentials (Linux e macOS) ou %PROGRAMFILES%\ Amazon\ SSM\ credentials (Windows Server). As credenciais temporárias têm as permissões que você especifica para o perfil do IAM que você selecionou. O perfil do IAM tem as permissões da Configuração padrão de gerenciamento de host ou do perfil da instância anexado ao seu nó gerenciado.
Para resolver esses erros, atualize o SSM Agent para a versão 3.2.183.0 ou posterior para que ele possa buscar credenciais de um arquivo na pasta SSM.
Para usar uma versão anterior do SSM Agent, localize as credenciais compartilhadas, exclua-as e teste o patch novamente.
Conclua as seguintes etapas para localizar as credenciais:
1. Pressione a tecla Windows e, em seguida, insira as variáveis de ambiente.
2. Encontre as variáveis denominadas AWS\ _ACCESS\ _KEY\ _ID e AWS\ _SECRET\ _ACCESS\ _KEY.
3. Exclua as credenciais e teste o patch novamente.
Locais das credenciais compartilhadas
Veja a seguir exemplos de locais das credenciais compartilhadas:
SystemsProfile
- C:\Windows\System32\config\systemprofile\.aws\
- C:\Windows\System32\config\systemprofile\AppData\Local\AWSToolkit\RegisteredAccounts.json
Perfil do usuário
- %USERPROFILE%\.aws\
- %USERPROFILE%\AppData\Local\AWSToolkit\RegisteredAccounts.json
Você não pode pesquisar por atualizações do Windows
Você pode receber os seguintes exemplos de mensagens de erro quando não consegue pesquisar atualizações do Windows:
"Invoke-PatchBaselineOperation : Detalhes da exceção: Ocorreu um erro ao tentar pesquisar o Windows Update. Mensagem de erro: Exceção do HRESULT: 0x80240437"
-ou-
"Invoke-PatchBaselineOperation : Detalhes da exceção: Ocorreu um erro ao tentar pesquisar o Windows Update. Mensagem de erro: Exceção do HRESULT: 0x80072EE2"
Os erros anteriores estão relacionados aos componentes de atualização do Windows, à falta de conectividade ao Catálogo do Windows Update ou ao Windows Server Update Services (WSUS).
Conclua as seguintes etapas para resolver esses problemas:
1. Verifique a conexão com o Windows Update. Determine se a instância tem uma conexão direta de Internet com a fonte de patches da Microsoft por meio de um proxy ou usando o WSUS.
2. Você pode usar uma política de grupo ou chaves de registro para configurar servidores do WSUS. Execute o comando a seguir para verificar a configuração do WSUS:
Verifique a política do grupo:
gpresult /H %USERPROFILE%\Desktop\report.html
Verifique as chaves de registro que podem ser definidas manualmente:
Get-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU' | Select-Object AUOptions, NoAutoUpdate, UseWUServer
Get-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate' | Select-Object DisableWindowsUpdateAccess, WUServer, WUStatusServer
Execute os seguintes comandos para verificar as configurações do proxy:
Observação: você deve obter as configurações do proxy no contexto da conta de usuário do sistema S-1-5-18, onde executa as operações de aplicação de patches. Para obter as configurações, use o Run Command, um recurso do AWS Systems Manager, com o documento AWS-RunPowerShellScript.
Faça o download do PsExec no site da Microsoft e execute o seguinte comando para iniciar um novo prompt do PowerShell no contexto do usuário do sistema:
psexec -i -s C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Execute o comando a seguir para visualizar as configurações de registro do AmazonSSMagent:
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent'
Execute os comandos a seguir para visualizar as variáveis de ambiente do sistema (http_proxy, https\ _proxy, no\ _proxy):
Get-Item -Path Env:http_proxy Get-Item -Path Env:https_proxy Get-Item -Path Env:no_proxy
Execute o comando a seguir para visualizar as configurações do Internet Explorer (HTTP, segurança, exceções):
Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' | Select-Object ProxyServer, ProxyEnable
Execute o comando a seguir para visualizar o proxy WinINet:
[System.Net.WebRequest]::DefaultWebProxy
Execute o comando a seguir para visualizar as configurações do proxy WinHTTP (http=, https=, bypass-list=):
netsh winhttp show proxy
Se o proxy estiver configurado somente para o SSM Agent, o Gerenciador de Patches não funcionará. Isso ocorre porque o cliente de atualização do Windows usa configurações de proxy em todo o sistema para verificar e baixar as atualizações. Execute o seguinte comando para configurar o sistema proxy em todo o sistema:
netsh winhttp set proxy proxy-server="hostname:port" bypass-list="169.254.169.254"
Se houver uma conexão, redefina os componentes do Windows Update e tente aplicar o patch novamente.
Falha na instalação das atualizações após o download
Para resolver uma atualização que falha na instalação após o download, conclua as seguintes etapas:
1. Analise os logs de instalação do patch em C:\Windows\Logs\CBS e compare o carimbo de data e hora do comando em execução. Em seguida, analise os logs em busca de mensagens de erro.
2. Se o patch exigir uma reinicialização, mas falhar na instalação após a reinicialização, use uma captura de tela do Amazon EC2 para visualizar a mensagem na tela de login.
Observação: os patches podem ser revertidos com a seguinte mensagem na tela de inicialização: "Não conseguimos concluir as atualizações. Desfazendo as mudanças. Não desligue seu computador"
3. Encontre o código HResult no arquivo de log do Component Based Servicing (CBS) e, em seguida, pesquise o código na documentação de erros do Windows Update.
4. Redefina os componentes do Windows Update e tente realizar a instalação novamente.
Um patch está ausente
Para solucionar problemas de patches ausentes, consulte Como solucionar um patch KB ausente após uma operação de patch bem-sucedida em instâncias do EC2 do Windows por meio do Gerenciador de Patches?
Informações relacionadas
![AWS OFICIAL](/static/images/aws.png)
Conteúdo relevante
- feita há um mêslg...
- Resposta aceitafeita há 16 diaslg...
- feita há 18 diaslg...
- feita há 2 diaslg...
- feita há 18 diaslg...
- AWS OFICIALAtualizada há 4 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há um ano