AWS 모니터링 & Troubleshooting & Audit

AWS CloudWatch Metrics
- AWS의 모든 서비스에 대한 지표를 제공
- 계정에서 일어나는 모든 일을 모니터링할 수 있다
- CPUUtilization, Networkln
- metrics는 namespace에 속한다
- 서비스당 namespace는 하나이다
- metrics당 최대 dimension(측정 기준)은 10개이다
- metrics는 시간을 기반으로 하므로 타임스탬프가 꼭 있어야 한다
CloudWatch metric Streams
- 외부로 스트리밍 할 수 있다
- metrics를 원하는 대상으로 지속적으로 스트리밍하는 경우 거의 실시간으로 전송(near-real-time)되고 지연 시간도 짧아진다
- Amazon Kinesis Data Firehose가 대상이 될 수있고 여기서 원하는 곳으로도 전송이 가능
- Datadog, Sumo Logic과 같은 3rd party 제공자로도 직접 전송할 수 있다
CloudWatch Logs
- 로그를 로그 그룹으로 그룹화한다
- 로그 그룹의 이름으로는 보통 애플리케이션을 나타낸다
- 로그 그룹 내에는 로그 스트림ㅇ ㅣ있다
- 애플리케이션 내 인스턴스나 다양한 로그 파일명 또는 컨테이너 등을 나타낸다
CloudWatch Logs - Sources
- SDK, CloudWatch Logs Agent, CloudWatch Unified Agent
- Elastic Beanstalk : 애플리케이션의 로그를 CloudWatch에 전송하고 ECS는 컨테이너의 로그를 CloudWatch에 전송
- AWS Lambda : 함수 자체에서 로그를 보낸다
- VPC Flow Logs : VPC 메타데이터 네트워크 트래픽 로그를 보낸다
- API Gateway : 받은 모든 요청을 CloudWatch Logs에 보낸다
- CloudTrail : 필터링해 로그를 보낼 수 있다
- Route53 : 모든 DNS 쿼리를 로그로 저장한다
Amazon EventBridge
- 클라우드에서 CRON job을 할 수 있다
- 이벤트 패턴에 반응 할 수도 있다
- 특정 작업을 수행하는 서비스에 반응하는 이벤트 규칙
- 대상이 다양하다면 Lambda 함수를 트리거해서 SQS, SNS 메시지 등을 보낼 수 있다
- 이벤트를 기본 이벤트 버스로 전송하는 AWS의 서비스
- 파트너 이벤트 버스
- 아카이빙도 가능
- 디버깅에도 유용
Schema Registry
- 스키마 레지스트리의 스키마를 사용하면 애플리케이션의 코드를 생성할 수 있고 이벤트 버스의 데이터가 어떻게 정형화되는지 알 수 있다
CloudWatch Container Insight
- 컨테이너로부터 지표와 로그를 수집, 집계, 요약하는 서비스