AWS 의 Kiro CLI 시리즈 3부로, RDS/Aurora 장애 분석을 EC2 + cron 으로 매일 자동 실행해 HTML 보고서를 만들고 S3 presigned URL 을 SES 이메일과 Slack 으로 발송하는 운영 파이프라인을 다룬다. Part 1·2 의 IDE·터미널 분석을 무인 스케줄 배포로 확장한 셈이다.
핵심 포인트- 공통 파이프라인은 Kiro CLI(--no-interactive)로 HTML 보고서 생성 → S3 업로드 → 7일 presigned URL → 이메일/Slack 알림 순이다.
- EC2 t3.small + IAM Role(KidaEC2Role)에 RDS describe, CloudWatch, CloudTrail, PI API, S3, SES/SNS 권한을 부여한다.
- MCP 서버 3종(aws-mcp, cloudwatch-mcp, aws-knowledge-mcp)과 steering 파일(rds-troubleshoot.md)의 6단계 분석 프레임워크를 재사용한다.
- 알림은 SES 이메일(HTML 테이블 링크)과 Slack Workflow Webhook(report_title/report_url 변수) 두 경로를 제공한다.
- cron 은 매일 UTC 00시(KST 09시)에 kida-daily-cron.sh 를 돌려 클러스터별로 순차 처리한다.
상세 정리- 목적: 운영팀이 매일 아침 RDS/Aurora 상태 보고서를 자동으로 받게 해, 수동 분석 개입을 없앤다.
- IAM 준비: KidaEC2Role 에 RDS describe·ListTagsForResource·PI API, CloudWatch GetMetricStatistics·logs, CloudTrail LookupEvents, S3 PutObject/GetObject(kida-reports-* 한정), SES/SNS 발송 권한을 부여한다.
- EC2 준비: t3.small + AL2023 AMI 에 인스턴스 프로파일로 위 Role 을 붙이고, Kiro CLI·uvx 설치 후 kiro-cli login 으로 인증한다.
- MCP 구성: ~/.kiro/settings/mcp.json 에 aws-mcp(RDS·CloudTrail·PI·SES), cloudwatch-mcp(메트릭·로그), aws-knowledge-mcp(문서 검색)를 등록한다.
- 분석 프레임워크: steering 파일은 클러스터/인스턴스 식별 → 타임존 → CloudWatch 메트릭 수집 → 근본원인 → HTML 보고서(Tailwind, 9탭) → 검증의 6단계로 짜였다.
- 수집 메트릭: 인스턴스별 CPUUtilization·FreeableMemory·DatabaseConnections·Read/WriteIOPS·SwapUsage·BufferCacheHitRatio·Deadlocks, Reader 의 AuroraReplicaLag, 클러스터의 VolumeBytesUsed 를 개별 수집한다.
- 자동화 스크립트: kida-daily-cron.sh 가 "cluster:region" 목록을 순회하며 보고서 생성, aws s3 cp 업로드, aws s3 presign(604800초=7일) URL 생성, SES send-email, Slack curl 발송을 수행한다.
- SES 경로: 발신·수신 주소를 verify-email-identity 로 사전 인증하고, 클러스터별 링크가 담긴 HTML 테이블 메일을 보낸다.
- Slack 경로: Workflow Builder 의 "From a webhook"으로 report_title·report_url 변수를 받아 메시지를 포맷하고 webhook 에 POST 한다.
- 장애 격리: 스크립트에 || true 를 써 한 클러스터 실패가 전체 파이프라인을 멈추지 않게 했다.
- 트레이드오프: presigned URL 은 7일 후 만료돼 이후엔 S3 직접 접근·재생성이 필요하고, Slack text 변수는 단일 라인만 지원해 포맷을 Workflow 쪽에서 잡아야 한다.
- 보안 주의: 예시 IAM 정책은 와일드카드를 포함하므로 실운영에선 특정 ARN 기반 최소 권한으로 좁히라고 명시한다.
왜 읽나Kiro·MCP 기반 DB 분석을 사람 개입 없이 매일 돌리고 싶은 SRE·DBA 에게 IAM·cron·알림까지 갖춘 복붙 가능한 운영 레시피.