Skip to content

playdelaybluelay-stack/aws-pilot-light-dr

 
 

Repository files navigation

AWS Pilot-Light DR Architecture

5인 팀 프로젝트 | 보안·백업·DR 테스트 전담 | 2025.12 ~ 2026.02

인디밴드 티켓팅 기업의 고객 시나리오를 기반으로,
AWS 멀티 리전(서울-도쿄) Pilot-Light 전략의 재해복구 아키텍처를 설계하고 구축했습니다.

핵심 성과

지표 수치
RTO 15분 이내
RPO 5분 이내
비용 절감 Warm-Standby 대비 평시 비용 98% 절감
IaC Terraform으로 2개 리전 50개 리소스 코드화
CI/CD GitHub Actions 5개 워크플로우 (OIDC)
보안 Custom WAF 7일 운영 중 실제 침입 23건 차단

아키텍처

구성 요약:

  • Primary 리전(서울): 3-Tier 웹 애플리케이션 + CloudFront + WAF
  • DR 리전(도쿄): Pilot-Light 최소 리소스 대기 → 장애 시 StepFunctions으로 자동 확장
  • 멀티 리전 복제: S3 CRR, DynamoDB Global Tables, AWS Backup

담당 업무

이 프로젝트는 5인 팀으로 진행했고, 아래는 제가 직접 담당한 영역입니다.

보안 아키텍처

  • CloudFront + Custom WAF 구축
    • ALB마다 개별 WAF를 연결하는 대신, CloudFront 단일 진입점에 WAF를 연결해 비용 절감
    • 티켓팅 서비스의 Burst 트래픽 특성상 Managed Rule이 아닌 Custom Rule로 세밀한 Rate Limiting 적용
  • 보안 그룹 화이트리스트 + Gateway/Interface 엔드포인트 설계
    • NAT Gateway 의존도를 최소화하여 비용 절감 + 외부 연결점 제거
    • 라우트 테이블에 0.0.0.0/0이 없는 구조로 설계
  • IAM 최소 권한 원칙
    • MSP-고객사 관계를 고려한 User Group 설계 (power user / admin / read-only)
  • Cognito 도입
    • 기존: DynamoDB에 유저 비밀번호를 직접 저장하는 구조
    • 변경: Cognito User Pool로 이전하여 AWS와 보안 책임 공유 + 관리 대시보드 확보
    • DR 대비: migration shell script로 DR 리전 User Pool에 사전 동기화

백업 및 DR failover/failback

  • AWS Backup 플랜 설정 (S3 Lifecycle Policy, DynamoDB PITR 포함)
    • EC2 Golden AMI, 로그, DB 백업을 비용 최적화 + 감사 규정에 맞춰 정책 수립
  • S3 CRR, AWS Backup, DynamoDB 멀티 리전 복제
  • StepFunctions 기반 DR 복구/롤백 자동화
    • 왜 StepFunctions인가: Terraform apply로도 가능하지만, 단계별 장애 지점 파악이 용이하고, 평시 비용이 0원이며, Slack 연동으로 관리자 승인 후 실행하는 반자동화 구현

CI/CD

  • GitHub Actions 워크플로우 5개 구성 (Terraform plan/apply/destroy, 리전별 분리)
  • GitHub OIDC로 보안 위협 최소화 — 패키지 업데이트를 제외하면 GitHub가 유일한 외부 연결점

문서화

  • 네이밍/태깅 컨벤션 구축 및 WBS 문서화
  • Draw.io 활용 아키텍처 다이어그램 작성
  • SWOT 기반 고객 시나리오 설정 제안

기술적 의사결정

결정 선택 대안 선택 이유
DR 전략 Pilot-Light Warm-Standby MAU 5만 규모 소기업 고객의 비용 제약. 평시 DR 리전 비용을 거의 0으로 유지하면서 RTO 15분을 달성
WAF 구성 Custom Rule AWS Managed Rule 티켓팅 서비스 특성상 Burst 상태의 Rate Limiting을 세밀하게 제어할 필요
DR 실행 StepFunctions Terraform apply 단계별 장애 추적 용이, 평시 비용 0원, Slack 연동 반자동화
사용자 인증 Cognito DynamoDB 직접 관리 AWS와 보안 책임 공유, 소규모 조직의 관리 편의성, 대시보드 제공
CI/CD 인증 GitHub OIDC IAM Access Key 장기 자격 증명 없이 임시 토큰으로 보안 강화
엔드포인트 VPC Endpoint NAT Gateway 비용 절감 + 외부 연결점 제거로 보안 강화

기술 스택

Terraform AWS VPC EC2 S3 ALB Route 53 CloudFront WAF & Shield AWS Backup DynamoDB Cognito StepFunctions Lambda EventBridge CloudWatch Athena ACM SSM GitHub Actions Slack

프로젝트 배경

SWOT 분석을 기반으로 설정한 가상 고객 시나리오:

  • 고객사: 인디밴드 전문 티켓팅 기업 (MAU 50,000)
  • 핵심 과제: On-premises 노후 설비 → AWS 클라우드 마이그레이션 + 재해복구 체계 구축
  • 요구사항: 고가용성, 3-Tier 아키텍처, 멀티 리전 DR, DDoS 방어, 인력별 접근 권한 제한, 비용 최적화

⚠️ 이 레포는 MSP-Project-Pilot-Light/v3.0에서 Fork한 것입니다.
원본은 팀 공동 작업 레포이며, 이 Fork에서 개인 고도화(Cognito 도입, Custom WAF)를 진행했습니다.

About

Multi-region disaster recovery architecture on AWS using Pilot Light strategy | RTO 15m RPO 5m

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 68.7%
  • JavaScript 20.0%
  • HCL 6.1%
  • Shell 2.9%
  • Python 1.6%
  • Dockerfile 0.3%
  • Other 0.4%