Architecture

동작 순서
1. Prod EKS 장애 발생
└ 노드 다운, Pod CrashLoop 등
2. CloudWatch Agent (DaemonSet)가 이상 지표 감지
└ cluster_node_count 0, pod_restart 급증 등
3. CloudWatch Alarm → ALARM 상태 전환
└ Composite Alarm: 복합 조건 충족
4. CloudWatch가 상태 변경 이벤트 발생
└ {"source": "aws.cloudwatch", "detail": {"state": {"value": "ALARM"}}}
5. Prod 리전 EventBridge Rule이 이벤트 캐치
└ event_pattern: source=aws.cloudwatch, state=ALARM
6. EventBridge가 DR 리전 EventBridge로 포워딩
└ 크로스 리전 타겟 설정(DR 리전의 "Event Bus"를 선택하여 전달하는 구조 - 아래 사진 참고)
7. DR 리전 EventBridge Rule이 수신
└ Lambda 트리거
8. Lambda 실행
└ 이벤트 검증 → Prod 헬스체크 한번 더 → 중복 실행 체크
└ 통과하면 CodeBuild 호출 (TF_VAR_dr_mode=active)
9. CodeBuild 실행
└ CodeCommit에서 Terraform 코드 clone
└ terraform init → apply
└ ASG desired 0 → 2 (또는 EKS 노드그룹 스케일업)
10. DR 리소스 활성화 완료
└ 인스턴스 기동 → 서비스 Ready
11. Route 53 트래픽 전환
└ DNS failover로 DR 엔드포인명
참고
EventBridge 리전간 전달 방법

"다른 AWS 계정의 대상"에 해당 리전에 해당하는 "ARN" 삽입