T
Tech Insights
HomeCategoriesCompanies
홈
현재 페이지
AWS Advanced JDBC Wrapper의 blue/green 플러그인을 통하여 전환 시 최소의 다운타임 달성하기

AWS Advanced JDBC Wrapper의 blue/green 플러그인을 통하여 전환 시 최소의 다운타임 달성하기

AWS
2026년 3월 3일
약 5분
AWS Advanced JDBC Wrapper의 blue/green 플러그인을 통하여 전환 시 최소의 다운타임 달성하기
AI 요약

AWS Advanced JDBC Wrapper Blue/Green 플러그인: RDS 전환 시 다운타임 최소화

1. 개요

  • 본 문서는 AWS Advanced JDBC Wrapper의 Blue/Green 배포 플러그인을 소개하며, RDS Aurora Blue/Green 전환 시 발생하는 다운타임과 연결 문제를 최소화하는 방법을 설명합니다.
  • 목표: 애플리케이션 코드 변경 없이 JDBC 연결 설정만으로 전환 중 연결 라우팅, 상태 감지, 트래픽 관리를 자동화하여 다운타임 최소화.

2. Blue/Green 배포 플러그인 소개

  • 핵심 기능: RDS Aurora Blue/Green 전환 과정에서 발생하는 연결 종료, DNS 전파 지연, 엔드포인트 변경 자동 감지 및 처리.
  • 주요 특징:
    • 자동 전환 감지: 백그라운드 모니터링으로 RDS 메타데이터 주기적 조회 및 Phase 변화 실시간 감지.
    • 지능형 트래픽 관리: 전환 단계별 연결 및 쿼리 실행 자동 제어.
    • DNS 독립적 라우팅: IP 기반 라우팅으로 stale DNS 문제 방지.
    • 연결 인벤토리 관리: Blue/Green 환경의 엔드포인트 및 IP 주소 사전 수집.

3. 플러그인 동작 방식

3.1. 상태 모니터링 및 인벤토리 유지

  • RDS 메타데이터 테이블/함수를 주기적으로 조회하여 Blue/Green Phase 감지 및 라우팅 정책 적용.
  • Blue/Green 양쪽 환경의 엔드포인트 및 IP 주소 목록 사전 수집 및 관계 정리.

3.2. 전환 단계별 트래픽 라우팅

  • PREPARATION: Blue 호스트명을 IP 주소로 치환하여 연결 준비.
  • IN_PROGRESS: 모든 신규 연결 및 기존 쿼리 실행 일시 중단(Suspend).
  • POST: Blue 호스트명→Green IP 치환, DNS 전파 대기 및 Green 노드 직접 연결 거부.
  • COMPLETED: DNS 안정화 후 정상 호스트명 기반 라우팅 복귀.

3.3. 내부 레이어 구조

  • 레이어 A (Interception): BlueGreenConnectionPlugin (JDBC 호출 가로채기, Connect/Execute Routing 적용).
  • 레이어 B (Policy): BlueGreenStatusProvider (상태/인벤토리/라우팅 정책 관리).
  • 레이어 C (Monitoring): BlueGreenStatusMonitor (배경 모니터링 및 Phase 감지).

4. 사전 요구사항 및 제약사항

  • 네트워크 연결: 클러스터/인스턴스 엔드포인트 직접 접근 가능해야 함 (CNAME alias 미지원).
  • DB 엔진 버전: 메타데이터 테이블 지원 버전 필요.
  • 애플리케이션 스택: AWS Advanced JDBC Wrapper 2.6.0 이상, PostgreSQL/MySQL JDBC 드라이버.
  • 사용자 권한: 비관리자 계정 시 rds_tools 확장 등 추가 권한 필요.
  • 미지원 구성: Multi-AZ clusters, Aurora Global Database.
  • 로깅 설정: FINE 레벨 이상 로깅 설정 필요 (로그 저장 공간 확보).

5. Java 애플리케이션 설정 및 파라미터

  • Maven/Gradle 종속성 추가.
  • .java 파일에서 파라미터 설정 (예: bgConnectTimeoutMs, bgHighMs, bgSwitchoverTimeoutMs).
    • bgConnectTimeoutMs: 신규 연결 최대 대기 시간.
    • bgHighMs: Aurora/RDS 메타데이터 폴링 주기 조정 (낮을수록 빠름).
    • bgSwitchoverTimeoutMs: 전체 전환 타임아웃 설정.

6. 전환 단계별 동작 및 롤백

  • 전환 수명 주기 (Lifecycle): NOT_CREATED → CREATED → PREPARATION → IN_PROGRESS → POST → COMPLETED.
  • Phase별 폴링 주기 및 라우팅 정책: Phase에 따라 폴링 주기 및 트래픽 라우팅 정책 자동 조정.
  • 롤백 감지: Green 모니터에서 Phase 값 역행 감지 시 롤백 처리 (bgSwitchoverTimeoutMs 설정 주의).

7. 결론

  • AWS Advanced JDBC Wrapper Blue/Green 플러그인은 RDS/Aurora 전환 시 다운타임을 최소화하고 DNS 독립적 동작을 보장.
  • 애플리케이션 코드 변경 없이 JDBC 연결 파라미터 설정만으로 활성화 가능.
  • 유연한 튜닝 및 롤백 메커니즘 제공으로 높은 가용성과 복원력 확보.
원문 보기

태그

AWS기술