View a markdown version of this page

AWSSupport-TroubleshootWindowsPerformance - AWS Systems Manager Automation 런북 참조

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

AWSSupport-TroubleshootWindowsPerformance

설명

실행서는 Amazon Elastic Compute Cloud(Amazon EC2) Windows 인스턴스에서 진행 중인 성능 문제를 해결하는 AWSSupport-TroubleshootWindowsPerformance 데 도움이 됩니다. 실행서는 대상 인스턴스에서 로그를 캡처하고 CPU, 메모리, 디스크 및 네트워크 성능 지표를 분석합니다. 선택적으로 자동화는 프로세스 덤프를 캡처하여 성능 저하의 잠재적 원인을 파악하는 데 도움이 될 수 있습니다. 또한이 실행서를 설치하도록 허용하는 경우 자동화는 최신 EC2Rescue 도구를 사용하여 이벤트 및 시스템 로그를 캡처합니다.

어떻게 작동하나요?

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

  • Amazon EC2 인스턴스에서 사전 조건을 확인합니다.

  • Amazon EC2 Windows 인스턴스의 루트 디스크에 성능 로그를 생성합니다.

  • 캡처된 로그를 폴더에 저장합니다. C:\ProgramData\Amazon\SSM\TroubleshootWindowsPerformance

  • Amazon Simple Storage Service(Amazon S3) 버킷이 제공되고 자동화 수임 역할에 필요한 권한이 있는 경우 캡처된 로그가 Amazon S3 버킷에 업로드됩니다.

  • 최신 EC2Rescue 도구를 Amazon EC2 Windows 인스턴스에 설치하여 설치하도록 선택한 경우 이벤트 및 시스템 로그를 캡처하지만에서 캡처한 프로세스 덤프 및 로그는 분석하지 않습니다EC2Rescue.

중요
  • 이 실행서를 실행하려면 Amazon EC2 Windows 인스턴스를에서 관리해야 합니다 AWS Systems Manager. 자세한 내용은 Amazon EC2 인스턴스가 관리형 노드로 표시되지 않는 이유를 참조하세요.

  • 이 실행서를 실행하려면 Amazon EC2 Windows 인스턴스가 Windows 8.1 / Windows Server 2012 R2(6.3) 이상의 PowerShell 4.0 이상에서 실행 중이어야 합니다. 자세한 내용은 Windows 운영 체제 버전을 참조하세요.

  • 성능 로그를 생성하려면 루트 디바이스에 최소 10GB의 여유 공간이 필요합니다. 루트 디스크가 100GB보다 큰 경우 여유 공간은 디스크 크기의 10%보다 커야 합니다. 실행 중에 프로세스를 덤프하는 경우 여유 공간은 10GB보다 커야 하며, 프로세스가 10GB를 초과하는 메모리를 소비할 때 프로세스가 소비하는 총 메모리 크기보다 커야 합니다.

  • 루트 디바이스에서 생성된 로그는 자동으로 삭제되지 않습니다.

  • 실행서는 EC2Rescue 도구를 제거하지 않습니다. 자세한 내용은 Windows ServerEC2Rescue용 사용을 참조하세요.

  • 성능에 영향을 미치는 동안이 자동화를 실행하는 것이 가장 좋습니다. AWS Systems Manager 상태 관리자 연결을 사용하거나 AWS Systems Manager 유지 관리 기간을 예약하여 주기적으로 실행할 수도 있습니다.

이 자동화 실행(콘솔)

문서 유형

자동화

소유자

Amazon

플랫폼

Windows

파라미터

필수 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 ManagerAWSSupport-TroubleshootWindowsPerformance의 문서로 이동합니다.

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

  3. 입력 파라미터에 다음을 입력합니다.

    • AutomationAssumeRole(선택 사항):

      Systems Manager Automation이 사용자를 대신하여 작업을 수행할 수 있도록 허용하는 (IAM) 역할의 Amazon 리소스 이름 AWS AWS Identity and Access Management (ARN)입니다. 역할이 지정되지 않은 경우 Systems Manager Automation은이 실행서를 시작하는 사용자의 권한을 사용합니다.

    • InstanceId(필수):

      자동화를 실행하려는 대상 Amazon EC2 Windows 인스턴스의 ID입니다. 자동화를 실행하려면 Systems Manager에서 인스턴스를 관리해야 합니다.

    • CaptureProcessDump(선택 사항):

      캡처할 프로세스 덤프 유형입니다. 자동화는 자동화 시작 시 성능에 영향을 미칠 수 있는 프로세스에 대해 하나의 프로세스 덤프를 캡처할 수 있습니다. 인스턴스 루트 볼륨에는 최소 10GB의 여유 공간이 필요합니다(루트 볼륨 크기가 100GB보다 큰 경우 디스크 크기의 10% 초과, 프로세스가 10GB를 초과하는 메모리를 소비하는 경우 프로세스가 소비하는 총 메모리 크기에 10GB 추가).

    • LogCaptureDuration(선택 사항):

      문제가 있는 동안이 자동화가 로그를 캡처115하는 ~ 사이의 분 수입니다. 기본값은 5입니다.

    • LogUploadBucketName(선택 사항):

      로그를 업로드하려는 계정의 Amazon S3 버킷입니다. 버킷은 서버 측 암호화(SSE)로 구성되어야 하며, 버킷 정책은 캡처된 로그에 액세스할 필요가 없는 당사자에게 불필요한 읽기/쓰기 권한을 부여해서는 안 됩니다. Amazon EC2 Windows 인스턴스는 Amazon S3 버킷에 액세스할 수 있어야 합니다.

    • InstallEC2RescueTool(선택 사항):

      실행서가 최신 버전의 EC2Rescue 도구를 설치하여 Windows 이벤트 및 시스템 로그를 캡처할 수 있도록 Yes하려면 로 설정합니다. 기본값은 No입니다.

    • 승인(필수):

      이 자동화 실행서에서 수행하는 작업에 대한 전체 세부 정보를 읽고 동의하는 경우를 입력합니다Yes, I understand and acknowledge.

    입력 파라미터는 InstanceId, AutomationAssumeRole, CaptureProcessDump 및 기타 구성 옵션에 대한 필드와 함께 형성됩니다.
  4. 실행을 선택합니다.

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

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

    • CheckConcurrency:

      인스턴스를 대상으로 하는이 실행서의 실행이 하나만 있는지 확인합니다. 실행서가 동일한 인스턴스를 대상으로 하는 다른 실행을 찾으면 오류가 반환되고 종료됩니다.

    • AssertInstanceIsWindows:

      Amazon EC2 인스턴스가 Windows 운영 체제에서 실행되고 있다고 주장합니다. 그렇지 않으면, 자동화가 종료됩니다.

    • AssertInstanceIsManagedInstance:

      Amazon EC2 인스턴스가 관리된다고 주장합니다 AWS Systems Manager. 그렇지 않으면 자동화가 종료됩니다.

    • VerifyPrerequisites:

      인스턴스 OS에서 PowerShell 버전을 확인하고 Systems Manager를 통해 인스턴스를 연결하여 PowerShell 명령을 실행할 수 있도록 합니다. 이 자동화는 Windows 8.1 / Server 2012 R2(6.3) 이상 버전에서 실행되는 PowerShell 4.0 이상을 지원합니다. 버전이 이전 버전인 경우 자동화가 실패합니다. Amazon S3 버킷에 로그를 업로드하도록 선택하면이 자동화는 AWS Tools for PowerShell 모듈을 사용할 수 있는지 확인합니다. 그렇지 않으면 자동화가 종료됩니다.

    • BranchOnProcessDump:

      성능에 영향을 미치는 프로세스의 덤프를 캡처하도록 설정했는지 여부를 기준으로 분기합니다.

    • CaptureProcessDump:

      인스턴스에이 자동화를 실행할 공간이 충분한지 확인합니다(가장 높은 CPU/메모리를 선택한 경우).

    • CapturePerformanceLogs:

      디스크 공간을 다시 확인하고 인스턴스에서 PowerShell 스크립트를 실행하여 성능 모니터 및 Windows 성능 레코더 로깅을 시작합니다. 정의된이 충족되면 스크립트LogCaptureDuration가 중지됩니다.

    • SummarizePerformanceLogs:

      이전 단계인에서 생성된 XML 보고서를 요약CapturePerformanceLogs하여 자동화에 출력으로 표시된 가장 많은 WorkingSet64(메모리) 및 % 프로세서 시간(CPU)을 소비하는 책임 있는 프로세스를 찾습니다. LogicalDisk, 네트워크 인터페이스, 메모리, TCPv4, IPv4 및 UDPv4 사용에 대한 유사한 정보를 생성하여 analysis_output.log 출력 폴더에 저장합니다.

    • BranchOnInstallEC2Rescue:

      Amazon EC2 인스턴스에 최신 EC2Rescue 도구를 설치하도록 설정한 경우 분기합니다.

    • InstallEC2RescueTool:

      인스턴스 OS에 EC2Rescue 도구를 설치하여를 사용하여 EC2Rescue 로그를 캡처합니다AWS-ConfigureAWSPackage.

    • 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. 완료되면 출력 섹션에서 실행의 자세한 결과를 검토합니다.

    대상 인스턴스에 필요한 모든 사전 조건이 있는 실행입니다.

    성공적인 성능 로그 캡처 및 EC2Rescue 도구 실행 결과를 보여주는 출력 섹션입니다.

    대상 인스턴스가 Linux 플랫폼에 있고 실행에 실패한 실행입니다. 단계 ID를 선택하여 실패 세부 정보를 확인합니다.

    2단계를 보여주는 실행 상태: CheckConcurrency 성공, AssertInstanceIsWindows 실패.

    단계의 실패 세부 정보입니다AssertInstanceIsWindows.

    예상 Windows 값 대신 반환된 Linux 값을 보여주는 실패 메시지입니다.

참조

Systems Manager Automation