내 AWS 환경에서 무슨 일이 벌어지고 있는 걸까?
원문: AWS Cloud Practitioner Essentials — Module 7: Monitoring and Analytics
출처: AWS E-Learning / Compiled by Kenneth Leung (2020)
한 줄 요약: CloudWatch로 리소스 상태를 실시간 감시하고, CloudTrail로 누가 무엇을 했는지 감사하며, Trusted Advisor로 비용·성능·보안을 한눈에 점검한다.
왜 모니터링이 필요한가
클라우드의 핵심은 탄력성이다. EC2 인스턴스가 자동으로 늘어나고 줄어들고, 서비스가 동적으로 변화한다. 이런 환경에서 시스템 상태를 지속적으로 관찰하지 않으면, 과부하가 걸렸는지, 에러가 쏟아지고 있는지, 불필요한 리소스가 돌아가고 있는지 알 수 없다.
모니터링은 시스템을 관찰하고, 지표를 수집하고, 그 지표를 기반으로 의사결정이나 자동 대응을 하는 것이다. AWS는 이를 위해 세 가지 핵심 서비스를 제공한다.
지금 내 시스템은 괜찮은가? — Amazon CloudWatch
Amazon CloudWatch는 AWS 리소스의 지표(metrics)를 모니터링하고, 그 지표에 기반하여 경보(alarm)를 설정하고 자동 조치를 실행할 수 있는 서비스다. AWS 서비스들이 자동으로 CloudWatch에 지표를 전송하고, CloudWatch는 시간에 따른 성능 변화를 그래프로 보여준다.
CloudWatch 경보 — 임계값을 넘으면 자동 대응
CloudWatch 경보(alarm)는 특정 지표가 사전에 정의한 임계값을 넘거나 밑돌 때 자동으로 조치를 수행한다. 예를 들어, 개발용 EC2 인스턴스의 CPU 사용률이 일정 기간 동안 특정 수치 이하로 유지되면 자동으로 인스턴스를 중지시켜 불필요한 비용을 막을 수 있다. 경보는 SNS(Simple Notification Service)와 연동하여 알림을 보낼 수도 있다.
CloudWatch 대시보드 — 한 화면에 모든 지표를
CloudWatch 대시보드는 여러 리소스의 지표를 한 곳에서 확인할 수 있는 단일 화면이다. EC2의 CPU 사용률, S3 버킷의 요청 수, RDS의 I/O 등을 한눈에 볼 수 있다. 업무 목적이나 애플리케이션별로 별도의 대시보드를 만들 수도 있다.
대시보드의 실질적 효과는 두 가지다.
| 효과 | 설명 |
|---|---|
| MTTR 단축 | 평균 복구 시간(Mean Time to Resolution)을 줄여 장애에 빠르게 대응 |
| TCO 절감 | 총 소유 비용(Total Cost of Ownership)을 줄여 운영 효율 향상 |
누가 뭘 했는지 다 기록된다 — AWS CloudTrail
AWS CloudTrail은 계정에서 발생하는 모든 API 호출을 기록하는 감사(audit) 도구다. 누가, 언제, 어디서(IP 주소), 어떤 방법으로 API를 호출했는지를 빠짐없이 남긴다. 누군가 남긴 “발자국(trail)”이라고 생각하면 된다.
| 기록 항목 | 예시 |
|---|---|
| What (무엇이 일어났나) | 새 IAM 사용자 Mary가 생성됨 |
| Who (누가 요청했나) | IAM 사용자 John |
| When (언제) | 2020년 1월 1일 오전 9:00 |
| How (어떤 방법으로) | AWS Management Console |
이벤트는 API 호출 후 보통 15분 이내에 CloudTrail에 기록된다. 로그는 S3 버킷에 무기한 보관할 수 있으며, Vault Lock 같은 변조 방지 기능으로 보안 감사 로그의 무결성을 보장할 수 있다.
CloudTrail Insights — 이상 징후 자동 탐지
CloudTrail Insights는 선택적(optional) 기능으로, 활성화하면 계정 내의 비정상적인 API 활동을 자동으로 감지한다. 예를 들어, 평소보다 훨씬 많은 EC2 인스턴스가 갑자기 생성되면 이를 알려준다.
전문가의 조언을 자동으로 — AWS Trusted Advisor
AWS Trusted Advisor는 AWS 환경을 자동으로 점검하고, AWS 모범 사례에 따라 실시간 권장 사항을 제공하는 서비스다. 마치 AWS를 잘 아는 컨설턴트가 옆에서 계속 점검해주는 것과 같다.
Trusted Advisor는 다섯 가지 범주로 점검한다.
| 범주 | 점검 예시 |
|---|---|
| 비용 최적화 (Cost Optimization) | 사용률이 낮은 EC2 인스턴스, 백업되지 않은 EBS 볼륨 |
| 성능 (Performance) | 리소스의 과부하 여부 |
| 보안 (Security) | 루트 사용자 MFA 미활성화, S3 버킷 공개 접근 여부 |
| 내결함성 (Fault Tolerance) | 단일 AZ 배포 등 장애 취약점 |
| 서비스 한도 (Service Limits) | 서비스별 사용량이 한도에 근접했는지 |
대시보드 신호등
Trusted Advisor 대시보드에서 각 범주의 점검 결과는 세 가지 색으로 표시된다.
| 색상 | 의미 |
|---|---|
| 녹색 체크 | 문제 없음 |
| 주황색 삼각형 | 조사 권장 |
| 빨간색 원 | 조치 필요 |
일부 점검은 모든 AWS 계정에 무료로 제공되고, 전체 점검은 Business 이상의 Support 플랜에서 사용할 수 있다. 이메일 알림을 설정하면 결제, 운영, 보안 담당자에게 점검 결과를 자동으로 발송할 수 있다.
마무리
세 가지 서비스의 역할을 한 문장으로 정리하면 이렇다. CloudWatch는 “지금 어떤 상태인가”를 알려주고, CloudTrail은 “누가 무엇을 했는가”를 기록하며, Trusted Advisor는 “더 잘할 수 있는 부분은 없는가”를 알려준다. 문제를 빨리 발견하는 것이 곧 비용을 줄이고 보안을 높이는 가장 확실한 방법이다.