“AWSSupport-TroubleshootCloudWatchAgent” 자동화 런북을 사용하여 EC2 인스턴스에서 실행 중인 Amazon Cloudwatch Agent 문제를 해결하는 방법

4분 분량
콘텐츠 수준: 중급
1

본 기사는 AWS 지원 자동화 워크플로우 (Support Automation Workflow)의 “AWSSupport-TroubleshootCloudWatchAgent” 런북을 사용하여 Amazon Cloudwatch Agent 문제를 해결하고 트러블슈팅을 위해 인스턴스에서 로그를 수집하는 방법에 대해 설명 합니다.

안내

본 “AWSSupport-TroubleshootCloudWatchAgent” 자동화 런북을 통해 기본 및 고급 검사를 진행하실 수 있습니다. 기본 및 고급 검사는 모두 Linux 그리고 Window 운영 체제와 호환되지만 Amazon EC2 인스턴스는 AWS Systems Manager에서 관리되어야 합니다.

 

개요

[기본 검사]  

기본 검사는 다음과 같이 트러블슈팅을 진행합니다:

  • 선택한 EC2 인스턴스에 연결된 IAM(Identity and Access Management) 인스턴스 프로파일을 확인합니다.
  • 필요한 권한 및 정책이 IAM 인스턴스 프로파일에 적용 되었는지 검증합니다.

[고급 검사] 

고급 검사는 기본 검사에서 다음과 같은 기능이 추가됩니다:

  • EC2 인스턴스에서 Cloudwatch Agent 프로세스의 상태를 확인합니다.
  • Cloudwatch Agent 로그에 오류가 있는지 분석하고, 문제를 해결하기 위한 가이드라인을 제공합니다.
  • EC2 인스턴스에 저장된 Cloudwatch Agent 로그와 구성 파일을 압축합니다.
  • EC2 인스턴스와 Cloudwatch 서비스 엔드포인트에 대한 연결 테스트를 수행합니다.

 

런북 자동화 실행 절차  

  1. AWS Systems Manager 콘솔로 이동하여 왼편의 네비게이션 바에서 '공유 리소스 - 문서 (Document)' 메뉴를 선택합니다. 이후 진단 하려는 EC2 인스턴스가 있는 리전이 선택 되었는지 확인합니다.

Enter image description here  

  1. 검색창에서 "AWSSupport-TroubleshootCloudWatchAgent"를 입력한 후 검색된 런북을 클릭 합니다.

Enter image description here  

  1. 우측 상단 "Execute Automation (자동화 실행)" 버튼을 클릭합니다.

Enter image description here  

  1. 기본적으로 Simple execution으로 선택되어 있으며, 필요에 따라 다른 유형을 선택할 수 있습니다.

Enter image description here  

  1. Input Parameter에 대해 필요한 값들을 입력 후 우측 하단 Execute(실행)을 클릭 합니다.
  • AutomationAssumeRole (선택사항): AWS IAM(Identity and Access Management) 역할의 Amazon Resource Name(ARN)을 의미합니다. 이 역할을 통해 System Manger 자동화가 사용자를 대신하여 작업을 수행할 수 있습니다.
- AutomationAssumeRole 파라미터는 다음과 같은 action을 요구할 수 있습니다:

* iam:SimulatePrincipalPolicy
* iam:GetContextKeysForPrincipalPolicy
* iam:GetInstanceProfile
* iam:ListAttachedRolePolicies
* iam:PassRole
* s3:GetBucketAcl
* s3:PutObject
* s3:GetBucketPolicyStatus
* s3:ListBucket
* ssm:GetAutomationExecution
* ssm:GetCommandInvocation
* ssm:DescribeInstanceInformation
* ec2:DescribeInstances
(AnalyzeAWSEndpointReachabilityFromEC2 단계 수행을 위해서는 IAM 사용자 또는 역할이 위 권한을 가지고 있는지 확인해주세요.)
  • InstanceId (필수사항): Cloudwatch Agent가 설치된 EC2 인스턴스 ID 입니다.
  • S3UploadBucket (선택사항): CloudWatch Agent 로그를 업로드할 Amazon S3 버킷 이름입니다. 이 버킷에 로그를 업로드하기 위해선 EC2 인스턴스 프로파일에 올바른 권한이 있어야 합니다. 또한 EC2 인스턴스는 Systems Manager가 관리하는 인스턴스여야 합니다.
- S3UploadBucket 파라미터를 통해 EC2 인스턴스에서 S3 버킷으로 로그 파일을 직접 업로드 할 수 있습니다. 생성된 zip 파일은 업로드 이후 삭제됩니다.
  • S3BucketOwnerAccountId (선택사항): Cloudwatch Agent 로그를 업로드할 S3 버킷을 소유한 AWS 계정 번호입니다. 해당 파라미터를 지정하지 않으면 런북은 사용자의 AWS 계정 번호 또는 자동화 런북이 실행되는 사용자 역할을 사용합니다.
  • CheckEC2Endpoint (선택사항): append_dimensions 옵션을 사용하여 EC2 지표 차원을 추가하시려면 해당 설정을 true로 지정합니다. Cloudwatch Agent는 EC2 엔드포인트에 대한 연결이 필요하며 추가 연결 테스트를 수행합니다. 기본값은 false 입니다.
  • RunVpcReachabilityAnalyzer (선택사항): 추가 검사를 통해 네트워크 문제가 확인되거나, 관리되는 인스턴스 ID가 아닌 경우 AnalyzeAWSEndpointReachabilityFromEC2 자동화 단계를 수행할 수 있습니다. 기본값은 false 입니다.
- Cloudwatch Agent 구성 파일에서 append_dimensions 옵션을 사용하는 경우, 런북에서 CheckEC2Endpoint 파라미터를 true 로 설정하는 것을 권장 드립니다. 

- 만약 RunVpcReachabilityAnalyzer 파라미터가 true로 설정되어 있고, 이 단계에서 엔드포인트 연결 실패가 감지되지 않으면 자동화 런북은 AnalyzeAWSEndpointReachabilityFromEC2 단계를 스킵하여 추가 비용이 발생하는 것을 방지합니다.

- AnalyzeAWSEndpointReachabilityFromEC2는 엔드포인트와의 연결 검사를 수행하지 않는 대신 Reachability Analyzer를 사용합니다. 

- 이는 Transit Gateway 또는 피어링 연결과 같은 복잡한 라우팅 구성에서 엔드포인트와의 연결 테스트를 수행해야할 수도 있기 때문입니다. 

- Reachability Analyzer 사용에는 비용이 발생하며 자세한 사항은 Amazon VPC Pricing에서 확인하실 수 있습니다.
  • RetainVpcReachabilityAnalysis (선택사항): RunVpcReachabilityAnalyzer가 true인 경우에만 해당됩니다. VPC Reachability Analyzer에서 네트워크 경로와 연관된 분석을 진행하며, 분석 이후 자동으로 삭제됩니다. 분석 결과를 유지하도록 선택하면 VPC Console에서 이를 시각화할 수 있습니다. 기본 값은 false 입니다.

 

  1. 자동화 런북이 실행 완료되면 Status(상태)를 볼 수 있으며, Outputs(결과) 부분을 클릭하여 자세한 진단 결과와 발견된 각각의 에러에 대한 조치방법을 함께 확인할 수 있습니다.

Enter image description here

 

AWS System Manager에서 제공하는 자동화 런북 “AWSSupport-TroubleshootCloudWatchAgent”를 사용하여 Amazon EC2 인스턴스에서 CloudWatch Agent 문제를 해결하는 방법을 알아보았습니다. 자동화 런북을 통해 엔드포인트 연결 문제에 대한 트러블슈팅을 지원할 수 있고, EC2 인스턴스에서 다른 네트워크 리소스의 아웃바운드 연결에 대한 검증을 진행할 수 있습니다.

위와 같이 AWS 지원 자동화 워크플로우 (Support Automation Workflow) 런북을 진행하여 나온 조치를 취한 이후에도 이슈가 해결되지 않거나 이슈 해결에 보다 전문적인 도움이 필요한 경우 위와 같이 앞서 실행한 런북 실행 ID 및 실행 결과 등의 정보를 포함하여 AWS Support 에 문의하여 도움을 요청해 주시길 바랍니다.

댓글 없음

관련 콘텐츠