AWS

AWS EC2(Windows) SSM CloudWatch Custom Metrics

다루는 내용

· EC2(Windows) SSM CloudWatch Custom Metrics 사전준비
· EC2(Windows) SSM CloudWatch Custom Metrics 설정방법


EC2(Windows) SSM CloudWatch Custom Metrics 사전준비


  • Amazon EC2 Systems Manager에는 명령을 처리하는 EC2 인스턴스를 위한 IAM 역할과 명령을 실행하는 사용자를 위한 별도의 역할이 필요
  • Systems Manager API와 통신할 수 있도록 허용하는 권한 정책이 필요

 

  • Systems Manager 관리형 정책을 사용한 액세스 구성

 

  • Systems Manager -> State Manager의 Association 생성시 입력할 Property 작성
    • Windows 서버의 Performance Monitor의  “Memory – Available MBytes”, “LogicalDisk – % Free Space” 값을 CloudWatch 로 전송 예제
      • 다른 항목을 전송하고 싶을 때는 Windows Server에서 TypePerf.exe –q > counters.txt 실행하여 필요값 확인 후 편집하여 사용
    • https://s3.amazonaws.com/ec2-downloads-windows/CloudWatchConfig/AWS.EC2.Windows.CloudWatch.json 에서 json 파일을 다운 받아 편집 준비
    • 서울 region 사용 시 변경 : “Region”: “us-east-1” => “Region”: “ap-northeast-2”
    • “EngineConfiguration” -> “Components” -> “Id” 가 “PerformanceCounter”인 곳을 찾아서 편집

{
“Id”: “PerformanceCounter”,
“FullName”: “AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch”,
“Parameters”: {
“CategoryName”: “Memory”,
“CounterName”: “Available MBytes”,
“InstanceName”: “”,
“MetricName”: “Memory”,
“Unit”: “Megabytes”,
“DimensionName”: “”,
“DimensionValue”: “”
}
},

=>

{
“FullName”: “AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch”,
“Id”: “PerformanceCounterMemory”,
“Parameters”: {
“CategoryName”: “Memory”,
“CounterName”: “Available MBytes”,
“DimensionName”: “InstanceId”,
“DimensionValue”: “{instance_id}”,
“InstanceName”: “”,
“MetricName”: “AvailableMemoryMBytes”,
“Unit”: “Megabytes”
}
},
{
“FullName”: “AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch”,
“Id”: “PerformanceCounterDisk”,
“Parameters”: {
“CategoryName”: “LogicalDisk”,
“CounterName”: “% Free Space”,
“DimensionName”: “InstanceId”,
“DimensionValue”: “{instance_id}”,
“InstanceName”: “C:”,
“MetricName”: “FreeDiskPercentage”,
“Unit”: “Percent”
}
},

    • “EngineConfiguration” -> “Flows” -> “Flows” 에서 아래 편집 후 저장

[
“(ApplicationEventLog,SystemEventLog),CloudWatchLogs”,
“PerformanceCounter,CloudWatch”
]

=>

[
“(ApplicationEventLog,SystemEventLog),CloudWatchLogs”,
“(PerformanceCounterMemory,PerformanceCounterDisk),CloudWatch”
]

EC2(Windows) SSM CloudWatch Custom Metrics 설정방법


  • EC2 생성 (Windows)
    • 위에서 생성한 User로 로그인하여 EC2 콘솔의 INSTANCES->instances 에서 Lauch Instance 버튼 클릭

    • Step2 : 적절한 Instance Type 선택 후 Next 버튼 클릭
    • Step3 : Configure Instance Details에서 IAM role에서 위에서 생성한 Role 선택 후 Review and Launch 버튼 클릭

 

  • Association 생성
    • EC2 콘솔의 SYSTEMS MANAGER SERVICES -> State Manager에서 Create Association 버튼 클릭

    • Create Association -> Association Name 입력 후
    • Select Document -> Document 에서 AWS-ConfigureCloudWatch 선택

    • Targets -> Select Targets by 에서 Manually Selecting Instances 선택 후 생성한 Instance 생성 (Instance에 AmazonEC2RoleforSSM Policy 를 가진 Role이 부여되어 있지 않으면 리스트에 보이지 않음)

    • Parameters에 위에서 편집한 AWS.EC2.Windows.CloudWatch.json을 열어 복사 후 Properties입력 후 Create Association 버튼 클릭

    • 설정이 완료되면 CloudWatch 콘솔 Metrics에서 Windows/Default 를 클릭

    • InstanceId 클릭 후 위에서 생성한 InstanceId 의 FreeDiskPercentage 와 AvaliableMemoryMBytes가 CloudWatch로 전송된 것을 확인 가능


참고

Related Post

태그 : , , , , , , ,

필자: 최준승

GS네오텍에서 일하고 있습니다. 정리하는 것을 좋아합니다

전체 게시물수 : 116

전체 조회수 : 852

게시물 공유하기