AWS 고아 알람 보고서 생성

발행: (2025년 12월 28일 오후 11:44 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

파이프라인 구성

옵션

  • Build Discarder: 마지막 5개의 빌드와 아티팩트를 보관합니다.
  • Timestamps: 빌드 로그에 타임스탬프를 추가합니다.

환경 변수

  • DEFAULT_ENV – 기본 환경 이름.
  • DEFAULT_BRANCH – 기본 Git 브랜치 이름.
  • GIT_URL – Git 저장소 URL.
  • GIT_PATH – Git 저장소 경로.
  • REGION_NAME – AWS 리전 이름.
  • REPOSITORY_NUMBER – AWS 계정 저장소 번호.
  • PROJECT_NAME – 프로젝트 이름.
  • SNS_TOPIC_NAME – 알림용 SNS 토픽.
  • S3_BUCKET_NAME – 설정 파일이 저장된 S3 버킷.
  • S3_BUCKET_PATH – S3 내 설정 파일 경로.

트리거

파이프라인은 월요일 오전 10시 30분에 cron 표현식으로 매주 실행됩니다.

파이프라인 단계

  • Setting Build – 디스플레이 이름 및 설명 등 빌드 세부 정보를 설정합니다.
  • Cleaning the Workspace – Jenkins 워크스페이스를 정리합니다.
  • Pulling the Repository – 지정된 브랜치를 사용해 Git 저장소를 체크아웃합니다.
  • Download Artifacts from S3 – 설정된 S3 버킷 및 경로에서 아티팩트를 가져옵니다.
  • Execute Python Script
    • 파이썬 가상 환경을 설정합니다.
    • 의존성을 설치합니다.
    • 메인 스크립트 main.py를 실행합니다.
  • Post‑Build (Failure) – 빌드가 실패하면 SNS 알림을 전송합니다.

파이썬 스크립트 (main.py)

이 스크립트는 AWS 리소스 활용 보고서를 생성합니다. boto3 라이브러리를 사용해 AWS 서비스와 상호 작용하고, EC2 인스턴스와 RDS 데이터베이스의 메트릭을 수집한 뒤, 수집된 데이터를 기반으로 Excel 보고서를 작성합니다.

# Example snippet from main.py
import boto3
import xlsxwriter
import yaml

# Initialize AWS clients
ec2 = boto3.client('ec2', region_name='us-east-1')
rds = boto3.client('rds', region_name='us-east-1')

# ... rest of the script that builds the report ...

의존성

  • boto3
  • XlsxWriter
  • PyYAML

보고서 구조

생성된 Excel 보고서에는 다음 서비스에 대한 알람이 포함됩니다:

  • EC2
  • RDS
  • Load Balancer
  • Target Group
  • ECS Cluster
  • ECS Services
  • Lambda
  • SQS

값을 강조 표시하기 위한 임계값은 서비스별 제한에 따라 파이프라인에서 설정됩니다.

사용 방법

  1. 필요한 Jenkins 플러그인을 설치하고 Jenkins 인스턴스를 구성합니다.
  2. 새 파이프라인 작업을 생성합니다.
  3. 제공된 파이프라인 스크립트를 작업 설정에 붙여넣습니다.
  4. 필요한 매개변수와 환경 변수를 설정합니다.
  5. 구성을 저장하고 파이프라인을 수동으로 실행하거나 예약된 cron이 실행되도록 합니다.

생성된 Excel 보고서는 Jenkins 워크스페이스에 저장됩니다. 특정 AWS 환경에 맞게 파이프라인과 파이썬 스크립트를 자유롭게 커스터마이즈하세요.

GitHub 링크

https://github.com/prashantgupta123/devops-automation/tree/main/aws-cw-orphan-alarms

Back to Blog

관련 글

더 보기 »

AWS 클라우드 설계 원칙 식별

AWS Well-Architected Framework AWS Well‑Architected Framework는 보안이 뛰어나고, 복원력이 있으며, 효율적이고, 비용 효율적인 클라우드 아키텍처를 구축하기 위한 지침을 제공합니다.