Configurar o SSM Agent para usar um proxy para instâncias do Windows Server - AWS Systems Manager

Configurar o SSM Agent para usar um proxy para instâncias do Windows Server

As informações neste tópico se aplicam a instâncias do Windows Server criadas a partir de novembro de 2016 que não usam a opção de instalação Nano. Se você pretende usar o Session Manager, observe que os servidores proxy HTTPS não são compatíveis.

nota

A partir de 14 de janeiro de 2020, o Windows Server 2008 não é mais compatível para obter recursos ou atualizações de segurança da Microsoft. As Amazon Machine Images (AMIs) herdadas para Windows Server 2008 e 2008 R2 ainda incluem a versão 2 do SSM Agent pré-instalada, mas o Systems Manager não é oficialmente compatível com as versões 2008 e não atualiza mais o agente para essas versões do Windows Server. Além disso, o SSM Agent versão 3 pode não ser compatível com todas as operações no Windows Server 2008 e 2008 R2. A versão final do SSM Agent oficialmente compatível com as versões 2008 do Windows Server é a 2.3.1644.0.

Antes de começar

Antes de configurar o SSM Agent para usar um proxy, observe as informações importantes a seguir.

No procedimento a seguir, execute um comando para configurar o SSM Agent para usar um proxy. O comando inclui uma configuração no_proxy com um endereço IP. O endereço IP é o endpoint dos serviços de metadados de instância (IMDS) do Systems Manager. Se você não especificar no_proxy, as chamadas para o Systems Manager assumirão a identidade do serviço de proxy (se o fallback do IMDSv1 estiver ativado) ou falharão (se o IMDSv2 for imposto).

  • Para IPv4, especifique no_proxy=169.254.169.254.

  • Para IPv6, especifique no_proxy=[fd00:ec2::254]. O endereço IPv6 do serviço de metadados da instância é compatível com comandos IMDSv2. O endereço IPv6 pode ser acessado somente em instâncias desenvolvidas no AWS Nitro System. Para obter mais informações, consulte Como o serviço de metadados de instância versão 2 funciona no Guia do usuário do Amazon EC2.

Para configurar o SSM Agent para usar um proxy
  1. Usando o Desktop Remoto ou o Windows PowerShell, conecte-se à instância que você deseja configurar para usar um proxy.

  2. Execute o seguinte bloco de comandos no PowerShell. Substitua o nome do host e a porta por informações sobre o seu proxy:

    $serviceKey = "HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent" $keyInfo = (Get-Item -Path $serviceKey).GetValue("Environment") $proxyVariables = @("http_proxy=hostname:port", "https_proxy=hostname:port", "no_proxy=IP address for instance metadata services (IMDS)") if ($keyInfo -eq $null) { New-ItemProperty -Path $serviceKey -Name Environment -Value $proxyVariables -PropertyType MultiString -Force } else { Set-ItemProperty -Path $serviceKey -Name Environment -Value $proxyVariables } Restart-Service AmazonSSMAgent

Depois que executar o comando anterior, você poderá examinar os logs do SSM Agent para confirmar se as configurações de proxy foram aplicadas. As entradas nos logs são semelhantes ao seguinte: Para obter mais informações sobre logs do SSM Agent, consulte Visualizar logs do SSM Agent.

2020-02-24 15:31:54 INFO Getting IE proxy configuration for current user: The operation completed successfully.
2020-02-24 15:31:54 INFO Getting WinHTTP proxy default configuration: The operation completed successfully.
2020-02-24 15:31:54 INFO Proxy environment variables:
2020-02-24 15:31:54 INFO http_proxy: hostname:port
2020-02-24 15:31:54 INFO https_proxy: hostname:port
2020-02-24 15:31:54 INFO no_proxy: IP address for instance metadata services (IMDS)
2020-02-24 15:31:54 INFO Starting Agent: amazon-ssm-agent - v2.3.871.0
2020-02-24 15:31:54 INFO OS: windows, Arch: amd64
Para redefinir a configuração de proxy do SSM Agent
  1. Usando o Desktop Remoto ou o Windows PowerShell, conecte-se à instância a ser configurada.

  2. Se você se conectou usando o Desktop Remoto, execute o PowerShell como administrador.

  3. Execute o seguinte bloco de comandos no PowerShell.

    Remove-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent -Name Environment Restart-Service AmazonSSMAgent

Precedência de configuração de proxy do SSM Agent

Ao definir as configurações de proxy para o SSM Agent nas instâncias do Windows Server, é importante entender que essas configurações são avaliadas e aplicadas à configuração do agente quando o SSM Agent é iniciado. A maneira como você define as configurações de proxy para uma instância do Windows Server pode determinar se outras configurações podem prevalecer sobre as configurações pretendidas. O agente usa as primeiras configurações de proxy encontradas.

Importante

O SSM Agent comunica-se usando o protocolo HTTPS. Por esse motivo, você deve configurar o parâmetro HTTPS proxy usando uma das opções de configurações a seguir.

As configurações de proxy do SSM Agent são avaliadas na ordem a seguir.

  1. Configurações do registro do AmazonSSMAgent (HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent)

  2. Variáveis de ambiente de System (http_proxy, https_proxy, no_proxy)

  3. Variáveis ​​de ambiente da conta de usuário LocalSystem (http_proxy, https_proxy e no_proxy)

  4. Configurações do navegador (HTTP, secure, exceptions)

  5. Configuração de proxy do WinHTTP (http=, https=, bypass-list=)

As configurações de proxy do SSM Agent e serviços do Systems Manager

Se você tiver configurado o SSM Agent para usar um proxy e estiver usando recursos do AWS Systems Manager, como o Run Command e o Patch Manager, que usam o PowerShell ou o cliente do Windows Update durante sua execução em instâncias Windows Server, defina também as configurações adicionais de proxy. Caso contrário, pode haver falha na operação porque as configurações de proxy usadas pelo PowerShell e o cliente do Windows Update não são herdadas da configuração de proxy do SSM Agent.

Para o Run Command, defina as configurações de proxy do WinINet nas instâncias do Windows Server. Os comandos [System.Net.WebRequest] fornecidos são por sessão. Para aplicar essas configurações a comandos de rede subsequentes que são executados no Run Command, esses comandos devem preceder outros comandos do PowerShell na mesma entrada do plugin aws:runPowershellScript.

Os comandos do PowerShell a seguir retornam as configurações de proxy atuais do WinINet e aplicam suas configurações de proxy ao WinINet.

[System.Net.WebRequest]::DefaultWebProxy $proxyServer = "http://hostname:port" $proxyBypass = "169.254.169.254" $WebProxy = New-Object System.Net.WebProxy($proxyServer,$true,$proxyBypass) [System.Net.WebRequest]::DefaultWebProxy = $WebProxy

Para o Patch Manager, defina as configurações de proxy de todo o sistema para que o cliente do Windows Update possa verificar e baixar as atualizações. Recomendamos usar o Run Command para executar os seguintes comandos porque eles são executados na conta SYSTEM e as configurações se aplicam a todo o sistema. Os comandos do netsh a seguir retornam as configurações de proxy atuais e aplicam suas configurações de proxy ao sistema local.

netsh winhttp show proxy netsh winhttp set proxy proxy-server="hostname:port" bypass-list="169.254.169.254"

Para obter mais informações sobre o uso de Run Command, consulte AWS Systems Manager Run Command.