AWSSupport-TroubleshootWindowsPerformance - AWS Systems Manager 자동화 런북 참조

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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 자세한 내용은 Windows EC2Rescue 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

지침

다음 단계에 따라 자동화를 구성합니다.

  1. Systems AWSSupport-TroubleshootWindowsPerformanceManager의 문서 아래로 이동합니다.

  2. Execute automation(자동화 실행)을 선택합니다.

  3. 입력 매개변수에 다음을 입력합니다.

    • 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

    Input parameters form for troubleshooting Amazon EC2 Windows instance performance issues.
  4. 실행을 선택합니다.

  5. 자동화가 시작됩니다.

  6. 문서는 다음 단계를 수행합니다.

    • 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

  7. 완료 후 출력 섹션에서 실행의 세부 결과를 검토하십시오.

    대상 인스턴스에 필요한 모든 사전 요구 사항이 있는 경우 실행.

    Output logs showing performance capture process, EC2Rescue completion, and top CPU/memory usage processes.

    대상 인스턴스가 Linux 플랫폼에 있고 실행이 실패한 경우 실행 단계 ID를 선택하면 실패 세부 정보를 볼 수 있습니다.

    Execution status showing failed overall status with 2 executed steps, 1 succeeded and 1 failed.

    단계의 실패 세부 정보AssertInstanceIsWindows.

    Failure details showing verification error for Linux property value instead of Windows.

참조

Systems Manager Automation