패치 관리자 AWS-RunPatchBaseline 문서를 사용할 때, Amazon EC2 Windows 인스턴스와 관련된 패치 문제를 해결하려면 어떻게 해야 하나요?

5분 분량
0

Amazon Elastic Compute Cloud(Amazon EC2) Windows 인스턴스를 패치할 경우, 오류가 발생합니다. AWS-RunPatchBasline 문서를 사용하여 Windows 노드에 패치를 적용할 때, 발생하는 문제를 해결하려고 합니다.

간략한 설명

AWS Systems Manager의 기능인 패치 관리자, AWS RunPatchBaseline 문서를 사용할 때 다음과 같은 문제가 발생할 수 있습니다.

  • 노드가 Amazon Simple Storage Service(S3) 엔드포인트에 도달할 수 없습니다
  • 토큰 요청이 유효하지 않습니다
  • Windows 업데이트를 검색할 수 없습니다
  • 다운로드 후 업데이트 설치 실패
  • 패치가 누락되었습니다

해결 방법

노드가 Amazon S3 엔드포인트에 도달할 수 없습니다

Amazon S3가 원격 서버에 연결할 수 없을 때, 다음과 같은 예시 오류 메시지가 표시될 수 있습니다.

"Invoke-PatchBaselineOperation : The underlying connection was closed: An unexpected error occurred on a send."

-또는-

"An error occurred when executing PatchBaselineOperations: Unable to connect to the remote server"

위 오류는 노드를 S3 엔드포인트에 연결할 수 없는 경우 발생합니다. 또는, 인스턴스에 연결된 AWS Identity and Access Management(IAM) 프로파일에서 S3 연결에 필요한 최소 권한이 없습니다.

이러한 문제를 해결하려면 다음 단계를 완료하세요.

1.    인스턴스 프로파일에 대한 IAM 권한이 노드에 연결되어 있는지 확인합니다. 최소 권한은 AWS 관리형 S3 버킷을 통한 AWS Systems Manager Agent(SSM Agent) 통신을 참조하세요.

2.    Amazon S3 엔드포인트에 대한 연결을 확인하려면 PowerShell에서 다음 명령을 실행합니다.
참고: **<region_id>**를 AWS 리전 ID로 바꿉니다.

tnc s3.<region_id>.amazonaws.com -port 443

3.    위 테스트가 실패하면 인스턴스가 Systems Manager 엔드포인트에 어떻게 연결되어 있는지 확인하세요.

토큰 요청이 유효하지 않습니다

토큰 요청이 유효하지 않기 때문에 다음과 같은 예시 오류 메시지가 표시될 수 있습니다.

"Invoke-PatchBaselineOperation failed with: The security token included in the request is invalid:

-또는-

"Invoke-PatchBaselineOperation: Instance Id i-00fe5918abcdef12 doesn't match the credentials"

위 오류는 SSM 에이전트가 다른 보안 인증 정보를 사용할 때 발생합니다. 예를 들어, SSM 에이전트가 인스턴스 프로파일 대신 공유 보안 인증 정보 파일을 사용하는 경우입니다.

참고: SSM 에이전트 버전 3.1.1927.0 이전의 경우, SSM 에이전트는 기본 보안 인증 정보 공급자 체인에 지정된 순서대로 보안 인증 정보를 검색합니다. 이는 Amazon Elastic Container Service(Amazon ECS) 컨테이너 인스턴스에도 적용됩니다.

SSM 에이전트 버전 3.2.183.0부터, SSM 에이전트는 /var/lib/amazon/ssm/credentials(리눅스 및 macOS) 또는 %PROGRAMFILES%\Amazon\SSM\credentials(윈도우 서버)에 일련의 임시 자격 증명을 저장합니다. 임시 보안 인증 정보에는 선택한 IAM 역할에 대해 지정한 권한이 있습니다. IAM 역할에는 기본 호스트 관리 구성 또는 관리 노드에 연결된 인스턴스 프로파일의 권한이 있습니다.

이러한 오류를 해결하려면 SSM 폴더의 파일에서 보안 인증 정보를 가져올 수 있도록 SSM 에이전트를 버전 3.2.183.0 이상으로 업데이트합니다.

이전 SSM Agent 버전을 사용하려면, 공유 보안 인증 정보를 찾아 삭제한 다음 패치를 다시 테스트합니다.

보안 인증 정보를 찾으려면 다음 단계를 완료하세요.

1.    Windows 키를 누른 다음 환경 변수를 입력합니다.

2.    AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS _KEY라는 이름의 변수를 검색하세요.

3.    보안 인증 정보를 삭제한 다음, 패치를 다시 테스트합니다.

공유 보안 인증 정보 위치

다음은 공유 보안 인증 정보 위치의 예시입니다.

SystemsProfile

  • C:\Windows\System32\config\systemprofile\.aws\
  • C:\Windows\System32\config\systemprofile\AppData\Local\AWSToolkit\RegisteredAccounts.json

사용자 프로파일

  • %USERPROFILE%\.aws\
  • %USERPROFILE%\AppData\Local\AWSToolkit\RegisteredAccounts.json

Windows 업데이트를 검색할 수 없습니다

Windows 업데이트를 검색할 수 없을 때, 다음과 같은 예시 오류 메시지가 표시될 수 있습니다.

"Invoke-PatchBaselineOperation : Exception Details: An error occurred when attempting to search Windows Update. 오류 메시지: Exception from HRESULT: 0x80240437"

-또는-

"Invoke-PatchBaselineOperation : Exception Details: An error occurred when attempting to search Windows Update. 오류 메시지: Exception from HRESULT: 0x80072EE2"

위의 오류는 Windows 업데이트 구성 요소, Windows 업데이트 카탈로그와의 연결 부재 또는 Windows 서버 업데이트 서비스(WSUS)와 관련이 있습니다.

이러한 문제를 해결하려면 다음 단계를 완료하세요.

1.    Windows 업데이트에 대한 연결을 확인합니다. 인스턴스가 프록시를 통하거나 WSUS를 사용하여 Microsoft 패치 소스에 인터넷으로 직접 연결되어 있는지 확인합니다.

2.    그룹 정책 또는 레지스트리 키를 사용하여 WSUS 서버를 구성할 수 있습니다. WSUS 구성을 확인하려면 다음 명령을 실행합니다.

그룹 정책을 확인합니다.

gpresult /H %USERPROFILE%\Desktop\report.html

수동으로 설정할 수 있는 레지스트리 키를 확인합니다.

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

프록시 구성을 확인하려면, 다음 명령을 실행합니다.

참고: 패치 작업을 수행하는 시스템 사용자 계정 S-1-5-18 컨텍스트에서 프록시 구성을 가져와야 합니다. 구성을 가져오려면, AWS Systems Manager의 기능인 Run Command를 AWS-RunPowerShellScript 문서와 함께 사용합니다.

Microsoft 웹사이트에서 PSExec를 다운로드하고 다음 명령을 실행하여 시스템 사용자 컨텍스트에서 새 PowerShell 프롬프트를 시작합니다.

psexec -i -s C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

AmazonsMagent 레지스트리 설정을 보려면 다음 명령을 실행합니다.

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent'

시스템 환경 변수(http_proxy, https_proxy, no_proxy)를 보려면 다음 명령을 실행합니다.

Get-Item -Path Env:http_proxy  
Get-Item -Path Env:https_proxy  
Get-Item -Path Env:no_proxy

인터넷 익스플로러 설정(HTTP, 보안, 예외)을 보려면 다음 명령을 실행합니다.

Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' | Select-Object ProxyServer,  ProxyEnable

WinINet 프록시를 보려면 다음 명령을 실행합니다.

[System.Net.WebRequest]::DefaultWebProxy

WinHTTP 프록시 설정(http=, https=, bypass-list=)을 보려면 다음 명령을 실행합니다.

netsh winhttp show proxy

프록시가 SSM 에이전트용으로만 설정된 경우, 패치 관리자가 작동하지 않습니다. 이는 Windows Update 클라이언트가 시스템 전반의 프록시 설정을 사용하여 업데이트를 검색하고 다운로드하기 때문입니다. 프록시 시스템을 포괄적으로 설정하려면 다음 명령을 실행합니다.

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

연결되면, Windows Update 구성 요소를 재설정하고 패치를 다시 시도하세요.

다운로드 후 업데이트 설치 실패

다운로드 후 설치에 실패한 업데이트를 해결하려면 다음 단계를 완료하세요.

1.    C:\Windows\Logs\CBS에서 패치 설치 로그를 검토하고 실행 중인 명령의 타임스탬프와 일치시킵니다. 그런 다음, 로그에서 오류 메시지를 검토합니다.

2.    패치를 재부팅해야 하지만 재부팅 후 설치에 실패한 경우, Amazon EC2 스크린샷을 사용하여 로그인 화면에서 메시지를 확인합니다.

참고: 부팅 화면에 다음 메시지가 표시되면서 패치가 롤백될 수 있습니다. “업데이트를 완료하지 못했습니다. 변경 사항을 되돌립니다. 컴퓨터 전원을 끄지 마세요”

3.    구성 요소 기반 서비스(CBS) 로그 파일에서 HResult 코드를 찾은 다음 Windows 업데이트 오류 설명서에서 코드를 검색합니다.

4.    Windows 업데이트 구성 요소를 재설정한 다음 설치를 다시 시도합니다.

패치가 누락되었습니다

누락된 패치 문제를 해결하려면, 패치 관리자를 통해 EC2 Windows 인스턴스에서 패치 작업을 성공적으로 수행한 후 누락된 KB 패치의 문제를 해결하려면 어떻게 해야 합니까?를 참조하세요.

관련 정보

패치 설치 방법

AWS 공식
AWS 공식업데이트됨 10달 전
댓글 없음

관련 콘텐츠