다루는 내용
· 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 사용자 계정 생성
- IAM 콘솔의 Users 페이지 Add User에서 AmazonSSMFullAccess 또는 AmazonSSMReadOnlyAccess Policy를 가진 User 생성
- Systems Manager 관리형 인스턴스를 위한 역할 생성
- IAM 콘솔의 [Roles]페이지 Create role에서 AmazonEC2RoleforSSM Policy를 가진 Role 생성
- 상세방법은 아래페이지 참조
- Systems Manager -> State Manager의 Association 생성시 입력할 Property 작성
{
"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 버튼 클릭
- Step1 : Choose an Amazon Machine Image (AMI)에서 Microsoft Windows Server 2016 Base 선택
- SSM이 설치되어 있는 AMI
- SSM이 미설치된 AMI 선택시 아래 페이지 참조
- Step2 : 적절한 Instance Type 선택 후 Next 버튼 클릭
- Step3 : Configure Instance Details에서 IAM role에서 위에서 생성한 Role 선택 후 Review and Launch 버튼 클릭
- Step7 : Review 에서 Launch 버튼 클릭
- 팝업창에서 key pair를 생태개하고 Launch Instances 버튼 클릭하여 Instance 생성
- 여기서는 필요한 부분만 기술하므로 자세한 EC2 생성방법 아래페이지 참조
- 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로 전송된 것을 확인 가능
참고