기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWSSupport-TroubleshootWindowsPerformance
설명
런북은 Amazon Elastic Compute Cloud EC2 (Amazon) Windows 인스턴스에서 진행 중인 성능 문제를 해결하는 AWSSupport-TroubleshootWindowsPerformance
데 도움이 됩니다. 런북은 대상 인스턴스의 로그를 캡처하고 메모리CPU, 디스크 및 네트워크 성능 지표를 분석합니다. 선택적으로 자동화를 통해 프로세스 덤프를 캡처하여 성능 저하의 잠재적 원인을 파악할 수 있습니다. 또한 이 런북에서 설치하도록 허용한 경우 자동화는 최신 EC2Rescue
도구를 사용하여 이벤트 및 시스템 로그를 캡처합니다.
어떻게 작동하나요?
런북은 다음 단계를 수행합니다.
-
Amazon EC2 인스턴스에서 사전 요구 사항을 확인합니다.
-
Amazon EC2 Windows 인스턴스의 루트 디스크에 성능 로그를 생성합니다.
-
캡처한 로그를 폴더에 저장합니다.
C:\ProgramData\Amazon\SSM\TroubleshootWindowsPerformance
-
Amazon Simple Storage Service (Amazon S3) 버킷이 제공되고 자동화 담당자 역할에 필요한 권한이 있는 경우 캡처된 로그는 Amazon S3 버킷에 업로드됩니다.
-
설치하기로 선택한 경우 Amazon EC2 Windows 인스턴스에 최신
EC2Rescue
도구를 설치하여 이벤트와 시스템 로그를 캡처하지만 에서 캡처한 프로세스 덤프와 로그는 분석하지 않습니다.EC2Rescue
중요
-
이 런북을 실행하려면 Amazon EC2 Windows 인스턴스를 에서 관리해야 합니다. AWS Systems Manager자세한 내용은 Amazon EC2 인스턴스가 관리형 노드로 표시되지 않는 이유를
참조하십시오. -
이 런북을 실행하려면 Amazon EC2 Windows 인스턴스가 4.0 이상의 Windows 8.1/Windows Server 2012 R2 (6.3) 이상 버전에서 실행되고 있어야 합니다. PowerShell 자세한 내용은 Windows 운영
체제 버전을 참조하십시오. -
성능 로그를 생성하려면 루트 디바이스에 최소 10GB의 여유 공간이 필요합니다. 루트 디스크가 100GB보다 큰 경우 사용 가능한 공간은 디스크 크기의 10% 이상이어야 합니다. 실행 중에 프로세스를 덤프하는 경우 여유 공간은 프로세스가 10GB 이상의 메모리를 사용할 때 프로세스에서 소비한 총 메모리 크기를 더한 10GB보다 커야 합니다.
-
루트 디바이스에서 생성된 로그는 자동으로 삭제되지 않습니다.
-
런북은 도구를 제거하지 않습니다.
EC2Rescue
자세한 내용은 WindowsEC2Rescue
Server용 사용을 참조하십시오. -
성능에 영향을 미치는 경우 이 자동화를 실행하는 것이 가장 좋습니다. AWS Systems Manager State Manager 연결을 사용하거나 AWS Systems Manager 유지 관리 기간을 예약하여 정기적으로 실행할 수도 있습니다.
문서 유형
자동화
소유자
Amazon
플랫폼
Windows
Parameters
필수 권한 IAM
실행서를 성공적으로 사용하려면 AutomationAssumeRole
파라미터에 다음 작업이 필요합니다.
-
ec2:DescribeInstances
-
ssm:DescribeAutomationExecutions
-
ssm:DescribeInstanceInformation
-
ssm:GetAutomationExecution
-
ssm:ListCommands
-
ssm:ListCommandInvocations
-
ssm:SendCommand
-
s3:ListBucket
-
s3:GetEncryptionConfiguration
-
s3:GetBucketPublicAccessBlock
-
s3:GetBucketPolicyStatus
-
s3:PutObject
-
s3:GetBucketAcl
-
s3:GetAccountPublicAccessBlock
(선택 사항) 인스턴스 프로필 또는 인스턴스에 구성된 IAM 사용자에 연결된 IAM 역할을 사용하려면 파라미터에 지정된 Amazon S3 버킷에 로그를 업로드하려면 다음 작업이 필요합니다LogUploadBucketName
.
-
s3:PutObject
-
s3:GetObject
-
s3:ListBucket
지침
다음 단계에 따라 자동화를 구성합니다.
-
Systems
AWSSupport-TroubleshootWindowsPerformance
Manager의 문서 아래로 이동합니다. -
Execute automation(자동화 실행)을 선택합니다.
-
입력 매개변수에 다음을 입력합니다.
-
AutomationAssumeRole (선택 사항):
Systems Manager Automation이 사용자를 대신하여 작업을 수행할 수 있게 해주는 AWS AWS Identity and Access Management (IAM) 역할의 Amazon 리소스 이름 () ARN 역할이 지정되지 않은 경우 Systems Manager Automation은 이 런북을 시작하는 사용자의 권한을 사용합니다.
-
InstanceId (필수):
자동화를 실행하려는 대상 Amazon EC2 Windows 인스턴스의 ID입니다. 자동화를 실행하려면 Systems Manager에서 인스턴스를 관리해야 합니다.
-
CaptureProcessDump (선택 사항):
캡처할 프로세스 덤프 유형입니다. 자동화는 자동화 초기에 성능에 영향을 줄 수 있는 프로세스의 프로세스 덤프 하나를 캡처할 수 있습니다. 인스턴스 루트 볼륨에는 최소 10GB의 여유 공간이 필요합니다 (루트 볼륨 크기가 100GB보다 큰 경우 디스크 크기의 10% 초과, 프로세스가 10GB 이상의 메모리를 사용하는 경우 프로세스에서 소비한 총 메모리 크기 10GB를 더한 값).
-
LogCaptureDuration (선택 사항):
문제가 발생하는 동안 이 자동화가 로그를 캡처하는 데 걸리는 시간 (
1
~분) 입니다.15
기본값은5
입니다. -
LogUploadBucketName (선택 사항):
로그를 업로드하려는 계정의 Amazon S3 버킷 버킷은 서버 측 암호화 (SSE) 로 구성되어야 하며, 버킷 정책은 캡처된 로그에 액세스할 필요가 없는 당사자에게 불필요한 읽기/쓰기 권한을 부여해서는 안 됩니다. 아마존 EC2 윈도우 인스턴스는 Amazon S3 버킷에 액세스할 수 있어야 합니다.
-
설치 EC2RescueTool (선택 사항):
런북이 최신 버전의
EC2Rescue
도구를 설치하여 Windows 이벤트 및 시스템 로그를 캡처할 수 있도록 설정합니다.Yes
기본값은No
입니다. -
승인 (필수):
이 자동화 런북에서 수행한 작업의 전체 세부 정보를 읽고 동의하면 입력하십시오.
Yes, I understand and acknowledge
-
-
실행을 선택합니다.
-
자동화가 시작됩니다.
-
문서는 다음 단계를 수행합니다.
-
CheckConcurrency:
인스턴스를 대상으로 하는 이 런북이 한 번만 실행되도록 합니다. Runbook에서 동일한 인스턴스를 대상으로 하는 다른 실행을 발견하면 오류가 반환되고 종료됩니다.
-
AssertInstanceIsWindows:
Amazon EC2 인스턴스가 Windows 운영 체제에서 실행되고 있는지 확인합니다. 그렇지 않으면, 자동화가 종료됩니다.
-
AssertInstanceIsManagedInstance:
Amazon EC2 인스턴스를 에서 관리한다고 주장합니다. AWS Systems Manager그렇지 않으면 자동화가 종료됩니다.
-
VerifyPrerequisites:
인스턴스 OS의 PowerShell 버전을 확인하고 Systems Manager를 통해 인스턴스를 연결하여 PowerShell 명령을 실행할 수 있는지 확인합니다. 이 자동화는 Windows 8.1/서버 2012 R2 (6.3) 이상 버전에서 실행되는 PowerShell 4.0 이상을 지원합니다. 이전 버전인 경우 자동화가 실패합니다. Amazon S3 버킷에 로그를 업로드하도록 선택하면 이 자동화는 PowerShell 모듈용 AWS 도구가 사용 가능한지 확인합니다. 그렇지 않으면 자동화가 종료됩니다.
-
BranchOnProcessDump:
브랜치는 성능에 영향을 미치는 프로세스 덤프를 캡처하도록 설정했는지 여부에 따라 달라집니다.
-
CaptureProcessDump:
인스턴스에 이 자동화를 실행할 수 있는 충분한 공간이 있는지 확인합니다 ([CPUHiest/Memory] 를 선택한 경우).
-
CapturePerformanceLogs:
디스크 공간을 다시 확인하고 인스턴스에서 PowerShell 스크립트를 실행하여 perfmon 카운터를 만들고 성능 모니터 및 Windows 성능 레코더 로깅을 시작합니다. 정의된 값이 충족되면 스크립트가
LogCaptureDuration
중지됩니다. -
SummarizePerformanceLogs:
이전 단계에서 생성된 XML 보고서를 요약하여 가장 많은 WorkingSet 64 (메모리) 및% 프로세서 시간 (CPU) 을 소비하는 담당 프로세스를 찾아 자동화의 출력으로 표시합니다.
CapturePerformanceLogs
네트워크 인터페이스, 메모리 LogicalDisk,, 의 사용에 대한 유사한 정보를 생성하여analysis_output.log
출력 폴더에 저장합니다. TCPv4 IPv4 UDPv4 -
BranchOnInstallEC2Rescue:
Amazon EC2 인스턴스에 최신
EC2Rescue
도구를 설치하도록 설정하면 브랜치가 발생합니다. -
InstallEC2RescueTool:
를 사용하여
EC2Rescue
AWS-ConfigureAWSPackage
로그를 캡처할EC2Rescue
도구를 인스턴스 OS에 설치합니다. -
RunEC2RescueTool:
인스턴스 OS에서
EC2Rescue
도구를 실행하여 필요한 모든 로그를 캡처합니다.EC2Rescue
필요한 로그만 캡처하여 공간을 절약합니다. -
BranchOnIfS3BucketProvided:
로그를 업로드하는 데 사용할 수 있는 버킷 이름이 있는지 확인하기
LogUploadBucketName
위해 사용자 입력을 기반으로 분기합니다. -
GetS3BucketPublicStatus:
Amazon S3 버킷이 제공되는지 확인하고, 제공된다면 Amazon S3 버킷이 퍼블릭이 아니며 퍼블릭으로 SSE 구성되어 있는지 확인합니다.
-
UploadLogResult:
제공된 Amazon S3 버킷에 로그를 업로드합니다. PowerShell 버전이 5.0 이상이면 로그를 ZIP 아카이브로 압축하여 업로드합니다. 업로드가 완료되면 ZIP 파일이 삭제됩니다. PowerShell 버전이 5.0 미만인 경우 파일을 폴더에 직접 업로드합니다.
-
CleanUpLogsOnFailure:
실패 시
CapturePerformanceLogs
단계에서 생성된 모든 로그를 정리합니다. SSM에이전트가 제대로 작동하지 않거나 Windows 시스템이 응답하지 않는 경우 단계가 실패하거나 제한 시간이 초과될 수 있습니다.CleanUpLogsOnFailure
-
-
완료 후 출력 섹션에서 실행의 세부 결과를 검토하십시오.
대상 인스턴스에 필요한 모든 사전 요구 사항이 있는 경우 실행.
대상 인스턴스가 Linux 플랫폼에 있고 실행이 실패한 경우 실행 단계 ID를 선택하면 실패 세부 정보를 볼 수 있습니다.
단계의 실패 세부 정보
AssertInstanceIsWindows
.
참조
Systems Manager Automation