[AWS Cloud Practitioner] AWS 환경 모니터링 (Amazon CloudWatch, AWS Trusted Advisor)
Amazon CloudWatch
- AWS 인프라와 AWS에서 실행하는 애플리케이션을 실시간으로 모니터링 할 수 있음
- 지표를 추적하고 모니터링하여 시간 경과에 따른 성능 변화 그래프를 자동으로 생성
- 지표값이 사전에 정의된 임계값을 상회 (또는 하회)할 경우 경보 생성
- SNS 와 연동 가능 (AWS 리소스에 대한 다양한 종류의 지정 경보를 SMS로 수신 할 수 있음)
ex)EC2 를 사용해 개발. 개발자가 인스턴트 중지를 잊는 경우 인스턴스가 계속 실행되어 요금 발생. CloudWatch를 사용하는 경우 특정 임계값 미만으로 유지되는 경우 EC2 인스턴스를 자동으로 중지하는 CloudWatch 경보를 생성할 수 있음
CloudWatch Dashboard
- 단일 위치에서 리소스에 대한 모든 지표 접근 가능
(ex. CloudWatch 대시보드를 사용해 Amazon EC2 인스턴스의 CPU 사용률, Amazon S3 버킷에 대해 실행된 총 요청 수 등을 모니터링할 수 있음)
- 비즈니스 용도, 애플리케이션에 따라 별도의 대시보드를 사용자 지정 할 수 있음
AWS CloudTrail
- 계정에 대한 API 호출 기록 (호출자 ID, 호출 시간, 호출자 소스 IP)
- 누군가가 남긴 이동 경로(또는 작업로그)의 추적
- 애플리케이션 및 리소스에 대한 사용자 활동 및 API 호출의 전체 내역을 볼 수 있음
- 호출 15분 이내에 CloudTrail에 업데이트
- API 호출이 발생한 날짜 및 시간, 요청한 사용자, API 호출에 포함된 리소스 유형 등을 지정하여 이벤트(로그) 필터링 가능
ex. AWS Management Console의 IAM를 탐색. 새로운 IAM 사용자가 생성된 것을 발견하지만, 누가 언제 만들었는지 알 수 없음. 이 때 AWS CloudTrail로 이동하여 이벤트 기록 섹션에서CreateUser API 작업에 대한 이벤트만 표시하도록 필터 적용
CloudTrail Insights : CloudTrail의 옵션기능으로 AWS 계정에서 비정상적인 API 활동을 자동으로 감지할 수 있음
AWS Trusted Advisor
: AWS 환경을 검사, 모범 사례에 따라 실시간 권장 사항을 제공하는 웹서비스
5가지 핵심 원칙
(✅: 문제가 감지되지 않은 항목 수 / ⚠️ : 권장 조사 항목 / ❗️: 조치 수)
1. 비용 최적화
2. 성능
3. 보안
4. 내결함성
5. 서비스 한도
- 서비스가 제공하는 권장사항은 배포 모든 단계에 유용하며 새로운 work flow를 만들고 개발하는데 도움을 받을 수 있음
- 기존 애플리케이션 및 리소스를 지속적으로 개선하는데 활용할 수 있음
검사 예시
1. 루트 사용자에 대해 Multi-Factor Authentication이 활성화 되지 않은 경우 Trusted Advisor가 알려줌
2. 사용률 낮은 EC2 인스턴스가 존재하여 비용 절감을 위해 종료할 수 있는 경우 알려줌
3. EBS 볼륨을 적절한 기간동안 백업하지 않은 경우 알려줌