EC2 모니터링 주요 메트릭
- CPUUtilization : 현재 인스턴스에서 사용하고 있는 컴퓨팅 파워
- CPUCreditUsage : 특정 기간동안 사용된 CPU 크레딧 갯수
- DiskReadOps : 해당 인스턴스에 연결된 모든 로컬 디스크에서 읽어 들인 오퍼레이션 의 수
- Network Out Traffic : 인스턴스의 네트워크 인터페이스를 통해 나간 바이트 량
- Status Check
- System status check: 재배포 등을 통한 개입 정도만 가능
○ 네트워크 연결
○ 시스템 파워
○ 물리서버 이슈 등 - Instance status check: 설정 변경을 통한 개입 가능
○ 잘못된 네트워킹 또는 시작 구성
○ 메모리 부족
○ 파일 시스템 손상
○ 호환되지 않는 커널 등
- System status check: 재배포 등을 통한 개입 정도만 가능
EBS 모니터링 주요 메트릭
- VOLUMEIDLETIME: 지정된 기간 동안 제출된 읽기 또는 쓰기 작업이 없는 총 시간 (초)
- 비용을 최적화하기 위하여 사용하지 않는 볼륨 제거 시 참고 가능 - VOLUMEQUEUELENGTH: 디바이스에서 보류 중인 I/O 요청의 수
- 특정 EC2 인스턴스 유형과 관련된 병목 현상을 식별해야 할 때 유용 - BURSTBALANCE: 볼륨에 대한 버스트 버킷의 크레딧 백분율
- I/O 크레딧(gp2의 경우) 또는 처리량 크레딧(st1 및 sc1의 경우) - EBS volumes 모니터링 옵션 변경 가능
- 기본(5분 주기 수집): 일반적인 volume type의 기본값
- 상세(1분 주기 수집): io1 type volumes 의 기본값 - Status Check (io1, io2, gp3)
- OK (정상) / Warning (성능저하) / Impaired(중단됨 or I/O비활성화) / Insufficient-data
○ 데이터가 일치하지 않은 것으로 확인되면 데이터 손상을 방지하기 위해 Volume의 I/O가 비활성 화
○ IO 자동 사용(Auto-Enable IO) 옵션을 사용하면 데이터 일치 여부와 무관하게 I/O 활성화 지속 가능
- OK (정상) / Warning (성능저하) / Impaired(중단됨 or I/O비활성화) / Insufficient-data
ELB 모니터링 주요 메트릭
- Backend Connection Error: ELB와 등록된 인스턴스 간에 성공적으로 커넥션이 맺어지지 않은 숫자
- Latency: 외부 요청을 받아 타겟 그룹으로 전달 한 ELB가 EC2 인스턴스로 부터 응답을 받을 때까지의 지연 시간
- 평균 or 최대값 - Surge Queue Length: 로드밸런서에서 라우팅이 지연되고 있는 총 요청 수
- 큐 최대 사이즈 1024
- 큐가 가득 차면 추가 요청이 거부 됨
- 권장 수치 0 - Spill Over Count: 거부 된 요청 값
- 0 초과되는 경우 조치 권장 - Request Count: ELB에서 수신한 요청 수
- Healthy Host Count: 정상 서버 수
- HTTP Responses (5xx, 4xx, 2xx)
- 5xx : 서버 오류나 예외적인 동작 발생 등
- 4xx : 잘못된 요청 또는 파일 찾을 수 없음 등
- 2xx : 정상
ECS 모니터링 주요 메트릭
- ECS 시작유형 별 메트릭
- Fargate 시작 유형: CPU 및 메모리 사용률 메트릭 제공
- Amazon EC2 시작 유형: EC2 인스턴스를 소유하며 이 인스턴스를 모니터링
- 컨테이너에 가능한 healthStatus
- HEALTHY: 컨테이너 상태 확인 통과
- UNHEALTHY: 컨테이너 상태 확인 실패
- UNKNOWN: 컨테이너 상태 확인이 평가 중이거나 컨테이너 상태 확인이 정의되지 않음
- 태스크에 가능한 healthStatus: 필수적이지 않은 컨테이너의 상태 확인 상 황은 태스크의 상태에 영향을 미치지 않음
- HEALTHY: 태스크 내 모든 필수 컨테이너 상태 확인 통과
- UNHEALTHY: 하나 이상의 필수 컨테이너 상태 확인 실패
- UNKNOWN: 태스크 내 필수 컨테이너의 상태 확인이 아직 정의되지 않음
EKS 모니터링 주요 메트릭
- 로깅 및 모니터링을 위한 기본 제공 도구를 제공
- Amazon EKS 컨트롤 플레인에서 계정의 CloudWatch Logs로 감사 및 진단 로그를 직접 제공
- CloudWatch Container Insights 기반
- 클러스터, 노드, 포드 및 서비스 수준에서 Amazon EKS에 대한 포괄적인 메트릭 제공
- Amazon DevOps Guru 기반
- 노드 수준의 운영 성능 및 가용성 감지
- 문제와 관련된 메트릭 및 이벤트의 목록과 권장 사항을 포함하는 인사이트 제공
- Prometheus 기반
사용자 지정 메트릭(Custom Metric)
AWS에서 모니터링 할 때 기본 메트릭들 이외에 사용자 지정 메트릭 수집이 가능하다. 예를 들면, 인스턴스 ID 및 인스턴스 유형(type)의 차원을 사용한 메모리 사용 백분율을 메트릭으로 수집할 수 있다. 더 많은 차원을 추가하면 각 메트릭과 고유한 차원 값 조합으로 인해 새로운 메트릭 생성이 가능하며, 이때 분석 기능과 전체 비용이 증가한다.
Billing and Cost Management
비용 관점의 Cloud Service는 사용한 만큼 과금되고, 고정된 초기 자본 비용을 감소한다는 장점이 있다. 하지만 잘못된 구성, EC2 삭제 시 EBS 볼륨 미삭제, EIP 연결 해제 후 미반납 등과 같이 잘못 사용 시 막대한 비용이 발생할 수 있다. 이를 막기 위해 매달 PDF invoice 메일을 받거나, 비용 관련 경보 설정을 하거나, 매일 비용 보고서를 S3 Bucket에 저장하는 등의 방법을 사용할 수 있다.
AWS Cost Explorer
AWS의 Cost Explorer는 시간에 따른 비용과 사용량을 시각화하여 이해 및 관리가 손쉬운 인터페이스를 제공한다. 비용 및 사용량 데이터를 분석하는 사용자 지정 보고서를 작성할 수 있으며, 데이터를 높은 수준으로 분석하거나 추세를 식별 및 이상 탐지를 할 수 있다.
비용 이상탐지
‘비용 이상 탐지 (Cost Anomaly Detection)’ 활성화 시 통계 및 기계 학습 알고리즘이 적용된다.
AWS Cost Explorer 사용 사례
- 비용 사용 관련 사용자 지정 보고서
- 비용 시각화, 분석 중점
- 사용 패턴 파악
AWS Budgets
AWS Budgets은 비용 및 사용량을 모니터링하며 예산을 설정할 수 있는 서비스이다. 원하는 예산 기간을 일일, 월간, 분기별 또는 연산으로 설정하고 특정 예산 한도를 생성할 수 있다. 또한 사용자 지정 예산을 설정하여 여러 차원에서 비용 및 사용량을 추적하고, 예산 예측 생성이 가능하다. 뿐만 아니라 예약 보고서를 생성하고, 임계값 도달 시 사용자 지정 작업 설정이 가능하다.
예산 설정 타입
- 비용에 기반한 예산 생성
- 사용량에 기반한 예산 생성
- Savings Plans 사용률 또는 적용범위에 대한 예산
- 예약 인스턴스(Reserved Instances) 사용률 또는 적용범위에 대한 예산
- 사용률 예산: 사용되지 않거나 사용률이 낮은지 확인 가능
- 적용범위 예산: 사용하지 않는 인스턴스 수 확인 가능
AWS Budgets 사용 사례
- 제한 임계값 초과 비용 발생 방지
- 비용 계획, 예측, 집행 중점
- 예산과 지출 비교
'IT 인프라' 카테고리의 다른 글
[클라우드] 쿠버네티스 개요 및 주요 아키텍쳐 (1) | 2024.05.29 |
---|---|
[클라우드] AWS 모니터링 - CloudWatch (0) | 2024.05.28 |
[클라우드] AWS 고가용성 구현 - Region, AZ, ELB, ASG (0) | 2024.05.28 |
[클라우드] AWS(Amazon Web Service) - EC2, VPC, EBS, S3 (0) | 2024.05.27 |
[클라우드] 가상화 및 클라우드 (0) | 2024.05.27 |