Windows Server 인스턴스에 프록시를 사용하도록 SSM Agent 구성 - AWS Systems Manager

Windows Server 인스턴스에 프록시를 사용하도록 SSM Agent 구성

이 주제의 정보는 Nano 설치 옵션을 사용하지 않는 2016년 11월 이후 생성된 Windows Server 인스턴스에 적용됩니다. Session Manager를 사용하려는 경우 HTTPS 프록시 서버는 지원되지 않습니다.

참고

2020년 1월 14일부로 Windows Server 2008은 Microsoft의 기능 또는 보안 업데이트가 더 이상 지원되지 않습니다. Windows Server 2008 및 2008 R2용 레거시 Amazon Machine Images(AMIs)에는 여전히 SSM Agent 버전 2가 사전 설치된 상태로 포함되어 있지만 Systems Manager는 더 이상 2008 버전을 공식적으로 지원하지 않으며 이러한 Windows Server 버전용 에이전트를 더 이상 업데이트하지 않습니다. 또한 SSM Agent 버전 3은 Windows Server 2008 및 2008 R2의 일부 작업과 호환되지 않을 수 있습니다. Windows Server 2008 버전에 대해 공식적으로 지원되는 최종 SSM Agent 버전은 2.3.1644.0입니다.

시작하기 전 준비 사항

프록시를 사용하도록 SSM Agent를 구성하기 전에 다음 중요 정보를 확인하세요.

다음 절차에서는 명령을 실행하여 프록시를 사용하도록 SSM Agent를 구성합니다. 명령에는 IP 주소를 포함하는 no_proxy 설정이 포함되어 있습니다. IP 주소는 Systems Manager의 인스턴스 메타데이터 서비스(IMDS) 엔드포인트입니다. no_proxy를 지정하지 않으면 Systems Manager에 대한 직접 호출은 프록시 서비스에서 자격 증명을 가져옵니다(ImDSv1 폴백이 활성화된 경우). 그렇지 않으면 Systems Manager에 대한 직접 호출이 실패합니다(ImDSv2가 적용된 경우).

  • IPv4의 경우 no_proxy=169.254.169.254를 지정합니다.

  • IPv6의 경우 no_proxy=[fd00:ec2::254]를 지정합니다. 인스턴스 메타데이터 서비스의 IPv6 주소는 IMDSv2 명령과 호환됩니다. IPv6 주소는 AWS Nitro 시스템에 구축된 인스턴스에서만 액세스할 수 있습니다. 자세한 내용은 Amazon EC2 사용 설명서인스턴스 메타데이터 서비스 버전 2 작동 방식을 참조하세요.

프록시를 사용하도록 SSM Agent를 구성하려면
  1. Remote Desktop이나 Windows PowerShell을 사용해 프록시를 사용하도록 구성하려는 인스턴스에 연결합니다.

  2. PowerShell에서 다음 명령 블록을 실행합니다. hostnameport를 사용 중인 프록시에 대한 정보로 바꿉니다.

    $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

이전 명령을 실행한 후 SSM Agent 로그를 검토하여 프록시 설정이 적용되었는지 확인할 수 있습니다. 로그의 항목은 다음과 유사합니다. SSM Agent 로그에 대한 자세한 내용은 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
SSM Agent 프록시 구성을 재설정하려면
  1. 원격 데스크톱이나 Windows PowerShell을 사용해 구성하려는 인스턴스에 연결합니다.

  2. 원격 데스크톱을 사용해 연결한 경우에는 관리자 권한으로 PowerShell을 시작합니다.

  3. PowerShell에서 다음 명령 블록을 실행합니다.

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

SSM Agent 프록시 설정 우선순위

Windows Server 인스턴스에서 SSM Agent에 대한 프록시 설정을 구성할 때는 SSM Agent가 시작될 때 이러한 설정이 평가되고 에이전트 구성에 적용된다는 것을 이해하는 것이 중요합니다. Windows Server 인스턴스에 대한 프록시 설정을 구성하는 방법을 통해 다른 설정이 의도한 설정을 대체할 수 있는지 여부를 결정할 수 있습니다. 에이전트는 발견한 첫 번째 프록시 설정을 사용합니다.

중요

SSM Agent는 HTTPS 프로토콜을 사용하여 통신합니다. 이런 이유로 다음 설정 옵션 중 하나를 사용하여 HTTPS proxy 파라미더를 구성해야 합니다.

SSM Agent 프록시 설정은 다음과 같은 순서로 평가됩니다.

  1. AmazonSSMAgent 레지스트리 설정(HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent)

  2. 시스템 환경 변수(http_proxy, https_proxy, no_proxy)

  3. LocalSystem 사용자 계정 환경 변수(http_proxy, https_proxy, no_proxy)

  4. Internet Explorer 설정(HTTP, secure, exceptions)

  5. WinHTTP 프록시 설정(http=, https=, bypass-list=)

SSM Agent 프록시 설정 및 Systems Manager 서비스

프록시를 사용하도록 SSM Agent를 구성하고 Windows Server 인스턴스에서 실행하는 동안 PowerShell 또는 Windows Update 클라이언트를 사용하는 Run Command 및 Patch Manager와 같은 AWS Systems Manager 기능을 사용하는 경우 추가 프록시 설정을 구성해야 합니다. 그렇지 않으면 PowerShell 및 Windows Update 클라이언트에서 사용된 프록시 설정이 SSM Agent 프록시 구성에서 상속되지 않기 때문에 작업이 실패할 수 있습니다.

Run Command의 경우 Windows Server 인스턴스에서 WinINet 프록시 설정을 구성합니다. 제공되는 [System.Net.WebRequest] 명령은 세션 단위입니다. Run Command에서 실행되는 후속 네트워크 명령에 이러한 구성을 적용하려면 해당 명령이 동일한 aws:runPowershellScript 플러그 인 입력에서 다른 Powershell 명령 앞에 와야 합니다.

다음 PowerShell 명령은 현재 WinINet 프록시 설정을 반환하고 프록시 설정을 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

Patch Manager의 경우 Windows Update 클라이언트가 업데이트를 검색하고 다운로드할 수 있도록 시스템 전체에 대한 프록시 설정을 구성해야 합니다. 다음 명령은 SYSTEM 계정에서 실행되고 설정이 시스템 전체에 적용되므로 Run Command를 사용하여 실행하는 것이 좋습니다. 다음 netsh 명령은 현재 프록시 설정을 반환하고 프록시 설정을 로컬 시스템에 적용합니다.

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

Run Command 사용에 관한 자세한 내용은 AWS Systems Manager Run Command 섹션을 참조하세요.