반응형
💋 인프라 관리의 시작은 측정
측정할 수 없는 것은 관리할 수 없다.
- 피터 드러커
AWS 상의 인프라를 잘 구축했는지, 효율적으로 했는지에 대한 판단은 측정을 해야 한다.
인프라에 대해 평가하는 것도 중요한 과정 중 하나다.
이 '측정'을 하기 위해서 잘 만들어진 서비스가 AWS 클라우드워치다.
💋 Amazon CloudWatch의 개념
✔ 서비스 소개
Amazon CloudWatch는 실시간 로그, 지표 및 이벤트 데이터를 자동화된 대시보드에 수집하고 이를 시각화하여 인프라 및 애플리케이션 유지 관리를 간소화한다.
✔ 서비스 특징
- 아마존에서 제공하는 AWS 서비스나 애플리케이션의 모니터링 서비스
- Public 서비스이기 때문에 같은 AWS Cloud 내에 들어있다고 하더라도, 반드시 Public 인터넷을 통해서 접근하거나, 인터페이스 end point를 통해서 접근해야 함.
- 로그, 지표, 이벤트 등 운영 데이터를 수집해 시각화 밈ㅊ 처리
- 경보 생성을 통해서 자동화된 대응 가능
✔ 서비스 주요 기능
- 지표(Metric) 수집
- 시간 순서별 데이터 요소의 집합
- AWS 서비스, 애플리케이션의 퍼포먼스를 모니터링하기 위한 지표 생성
- 해당 지표는 아마존에서 지원하는 대부분의 서비스(EC2, ELB, Route53, CloundFront 등등)에서 기본적으로 지원함.
- 예) EC2 CPU, 네트워크, Disk IO
- CloudWatch Agent, API를 활용해 커스텀 지표도 생성할 수 있음.
- 예) EC2 메모리 사용량 등
- 해당 지표는 아마존에서 지원하는 대부분의 서비스(EC2, ELB, Route53, CloundFront 등등)에서 기본적으로 지원함.
- 경보(Alarm)
- 수집된 지표에 따라서 알림 생성
- 일정 수치에 도달하거나 이상, 이하일 때 이벤트를 발생시킴.
- 다양한 방법으로 대응 가능
- SNS로 람다 실행, 이메일 전달 등
- 예) 웹 서버에서 500대 에러가 일정 수치 이상일 때 슬랙으로 알림 호출
- 수집된 지표에 따라서 알림 생성
- 로그 수집 및 관리
- 서비스의 로그를 수집해서 Kinesis, S3 등 다른 서비스로 전달도 가능함.
- 자체적으로 확인하거나 쿼리 가능
- 대시보드
- 수집된 로그, 지표를 기반으로 대시보드를 구성할 수 있음.
- 외부 리소스를 활용해서 커스텀 대시보드도 구성할 수 있음.
💋 Amazon CloudWatch의 지표
✔ 지표(Metric)란?
시간 순서로 정리된 데이터의 집합으로, 다수의 데이터로 구성된다.
AWS의 대부분 서비스는 기본적으로 지표를 제공하는데, 예를 들어 EC2 CPU 사용량 등이 있다.
커스텀 지표로 유저가 원하는 데이터포인트를 직접 생성하는 방법도 있다.
지속적으로 새로운 데이터가 들어오는 경우에, 15개월 이전 데이터는 사라지는 방식이다.
위에서 볼 수 있듯 AWS에서 제공하는 서비스에 대해서는 기본적으로 많은 지표를 제공한다. 총 722개라니 정말 많다!
✔ 지표(Metric)의 구성
AWS 사용 설명서에서는 사용 가능한 지표에 대한 설명서를 제공한다.
아래가 바로 지표의 예시인데, 각 구성요소를 살펴보자!
- 네임스페이스
- CloudWatch 지표의 컨테이너
- 지표의 출신, 성격에 따라서 논리적으로 묶은 단위
- AWS에서 기본적으로 제공하는 지표는 아래와 같은 네임스페이스 형식을 기본적으로 따른다.
- 예) AWS/EC2, AWS/RDS
- 지표 이름
- 지표의 고유 이름으로, 무엇에 관한 지표인지에 대해 설명한다.
- 데이터 포인트
- 지표를 구성하는 시간-값의 데이터 단위
- 시간은 초 단위까지
- 지표를 구성하는 시간-값의 데이터 단위
- 데이터 포인트의 Resolution
- 데이터가 얼마나 자주 수집되는지 나타내는 개념
- 기본적으로 60초마다 수집됨.
- High resolution 모드에서는 1초 단위 이상으로 수집할 수 있음
- 데이터 포인트의 기간(Period)
- 데이터가 얼마만큼의 기간을 기준으로 묶어서 보여지는지에 관한 개념
- 보관 기간도 설정한 기간에 따라서 달라짐.
- 작은 단위의 보관 기간은 큰 단위로 계속 합쳐지기 때문에, 데이터가 사라지는 것은 아님.
- 차원(Dimension)
- 일종의 태그, 카테고리
- key-value로 구성되며, 지표를 구분할 때 사용
- 최대 30개까지 할당 가능
- 예) AWS/EC2 네임 스페이스의 모든 EC2 지표가 수집되었을 때, 이후 Dimension을 통해서 EC2 인스턴스의 단위로 구분해서 확인할 수 있음.
- 일종의 태그, 카테고리
💋 Amazon CloudWatch의 경보(Alarm)
✔ 경보(Alarm)란?
수집된 지표값의 변동에 따라 발생하는 알림 생성으로, 지표가 일ㅈ어 수치에 도달하거나 이상, 이하일 때 이벤트가 발생한다.
✔ 경보(Alarm)의 상태
- OK
- 정상 상태
- Alarm
- 알람 상태
- INSUFFICIENT_DATA
- 알람 상태를 확인하기 위해 정보가 부족함.
- 지표를 처음 생성했을 때 해당 상태를 확인할 수 있고, 데이터가 수집되면서 위의 두 상태 중 하나로 변화함.
✔ 경보(Alarm)에 대응하는 다양한 방법
SNS로 람다를 실행하고 이메일을 전달한다던가, 슬랙에 알림을 띄운다던가 다양한 방법으로 가능함.
✔ 주의사항
지표의 Resolution에 따라서 평가 주기가 변동되는 것을 고려해야 함.
💋 참고자료
- https://www.youtube.com/watch?v=0vg9nxohKzo&list=PLfth0bK2MgIa6w63IglYQD_qljDntSh-H&index=27
- https://aws.amazon.com/ko/cloudwatch/
- https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html
반응형
'DevOps > AWS' 카테고리의 다른 글
[AWS/EC2] AWS 계정 간 EC2 인스턴스 AMI 공유 및 복사하기 (0) | 2024.10.28 |
---|---|
[AWS] IAM이란? (0) | 2023.10.25 |
[AWS] EC2에 데이터베이스 설치 VS RDS 서비스 사용 (0) | 2023.08.24 |
[AWS] EC2 VPC와 가용 영역, 서브넷, 보안 (0) | 2023.05.26 |
[AWS] Amazon EC2 (Amazon Elastic Compute Cloud): EC2란? 장점과 인스턴스 생성, AMI (0) | 2023.05.24 |