pile·
인프라 / DevOps·AWS KoreaAWS Korea Tech·

Part 3: Kiro로 RDS/Aurora 장애 분석 자동화하기 — 매일 자동으로 보고서 받기

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·알림까지 갖춘 복붙 가능한 운영 레시피.
AWS Korea
AWS Korea Tech 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 인프라 / DevOps·AWS KoreaAWS Korea Tech·

    엔터프라이즈 보안 요구사항을 충족하는 프라이빗 Amazon Bedrock AgentCore 구축하기

    Amazon Bedrock AgentCore의 VPC egress 기능(2026년 4월 추가)을 활용해 온프레미스 LLM·사내 IdP·사내 MCP 서버에 인터넷 노출 없이 연결하는 방법을 다룬다. 규제 산업 엔터프라이즈가 기존 사내 자산을 그대로 유지하면서 Bedrock AgentCore를 안전하게 구축하기 위한 구성 가이드다.

    요약 이어보기
    #mcp#amazon-bedrock#vpc+2
  2. 인프라 / DevOps·gitlab-engGitLab Blog·

    OpenTofu와 Argo CD로 구성하는 GitLab 기반 AWS 제어 플레인

    GitLab을 단일 제어 플레인으로 삼아 OpenTofu로 AWS 인프라를 프로비저닝하고, Argo CD로 GitOps 기반 애플리케이션 배포까지 자동화하는 엔드투엔드 튜토리얼이다. VPC·EKS 클러스터 구성부터 Helm 기반 툴 설치, 샘플 앱 배포까지 모든 과정이 GitLab CI/CD 파이프라인으로 연결된다.

    요약 이어보기
    #kubernetes#aws-eks#gitops+2
  3. 인프라 / DevOps·AWS KoreaAWS Korea Tech·

    Amazon Bedrock 기반 사내 LLM, 키 발급부터 비용 차단까지: F&F의 LiteLLM 게이트웨이 운영 사례

    패션 기업 F&F가 Amazon Bedrock과 LiteLLM 프록시를 결합해 구축한 사내 LLM 플랫폼 운영 사례다. API 키 셀프서비스 발급, 모델별 접근 승인 워크플로, 사용자·프로젝트별 예산 자동 차단까지 전 과정을 직접 구현한 아키텍처 결정과 운영 교훈을 공유한다.

    요약 이어보기
    #kubernetes#amazon-bedrock#litellm+2