Print
카테고리: [ Amazon Web Services ]
조회수: 4691

1. AWS CloudWatch

1-1. 모니터링의 목적, 영역

모니터링의 목적은 "안정적인 서비스 운영"이다. 고객에게 신뢰를 얻기 위해 큰 장애가 발생하기 전에 미리 징후를 찾아 예방하고, 장애가 발생하더라도 바로 원인을 파악하고 고쳐야 한다.

모니터링의 영역은 다음과 같이 구분할 수 있다.

 

1-2. CloudWatch 지표

CloudWatch의 지표는 '언제' 어떤 '항목'의 '값'이 무엇이었는지를 기록한 값으로 AWS 내의 대부분의 서비스 이력은 이 지표로 기록 된다.

예를 들어 EC2 인스턴스의 CPU 사용량, 네트워크 전송량. Auto Scaling 그룹이 관리하는 인스턴스 수 등의 값들이 지표로 남는다. 이런 값들은 별도로 설정하지 않아도 서비스를 사용하기만 하면 AWS에서 자동으로 기록해 준다.(Auto Scaling도 이런 지표를 참고하여 서비스가 되고 있다)

이렇게 기본적으로 제공하는 지표 외로 사용자가 지정한 지표를 직접 기록할 수도 있다.

지표는 다음과 같은 항목으로 구성된다.

지표의 요금은 https://aws.amazon.com/ko/cloudwatch/pricing/?nc1=h_ls 에서 확인할 수 있다.

 

2. 실습 - CloudWatch

2-1. CloudWatch 사용자 지정 지표 기록

* 실습을 진행하기에 앞서, IAM 서비스로 가서 전 단계에서 생성했던 유저(새로 생성해도 무관)에 [CloudWatchEventFullAccess] 정책을 추가하고 진행한다.

 ([cloudwatch:PutMetricData] 정책주기 위함.)

1. [EC2 인스턴스] 서비스에서 exercise-instance를 기동

2. 인스턴스에 접속

3. 테스트를 위한 디렉터리 생성

cd /sorc001
mkdir cloudwatch-custom
cd cloudwatch-custom

4. CloudWatch에 기록할 지표 데이터 파일을 생성

vi test_data.json

###이하 내용으로 입력###
[
  {
    "MetricName": "People",
    "Dimensions": [{ "Name": "Gender", "Value": "All" }],
    "Timestamp": "2019-12-01T14:00:00.000+09:00",
    "Value": 20,
    "Unit": "Count"
  },
  {
    "MetricName": "People",
    "Dimensions": [{ "Name": "Gender", "Value": "All" }],
    "Timestamp": "2019-12-02T15:00:00.000+09:00",
    "Value": 24,
    "Unit": "Count"
  },
  {
    "MetricName": "People",
    "Dimensions": [{ "Name": "Gender", "Value": "All" }],
    "Timestamp": "2019-12-02T16:00:00.000+09:00",
    "Value": 30,
    "Unit": "Count"
  },
  {
    "MetricName": "People",
    "Dimensions": [{ "Name": "Gender", "Value": "All" }],
    "Timestamp": "2019-12-02T17:00:00.000+09:00",
    "Value": 23,
    "Unit": "Count"
  }
]

-. CloudWatch에서는 최근 2주 이내의 시간에 발생한 시표만 받아주기 때문에 Timestamp에 있는 시간은 진행하는 시간의 2주 이내 시간으로 변경.

-. 보통은 지표를 매시간 바로바로 기록하지만, 위 예시처럼 4개를 한번에 보내느 것도 가능.

-. 지표의 이름은 People, 차원은 "키: 성별, 값: 모두"로 설정된 차원 하나만 적용.

5. AWS CLI를 사용해 지표를 기록

aws cloudwatch put-metric-data --namespace "Exercise People" --metric-data file://test_data.json

6. 생성한 지표 확인

[CloudWatch 서비스로 이동] -> 지표 확인

* 테스트를 하다보니 네임스페이스가 Exercise People3가 되었습니다. 참고하시기 바랍니다.

7. 실습에서 사용한 디렉터리 삭제

cd /sorc001
rm -rf cloudwatch-custom