DB 업그레이드에 맞춰 애플리케이션 호환성을 확인하고, 커넥터와 SQL 조회 결과를 수정한 뒤 운영 환경으로 전환했습니다.

<aside>

RDS 업그레이드 호환성을 확인하고 운영 전환을 완료했습니다.

작업 시점: 2025.03(작업 기록 기준)

환경: AWS RDS for MariaDB, Java, MyBatis, MySQL Connector/J

1. 업그레이드 환경에서 애플리케이션을 확인했습니다

MariaDB 버전 지원 종료 안내를 받고 기존 RDS에서 블루/그린 환경을 만들었습니다. Green 환경을 업그레이드한 뒤 한글이 깨지는 증상을 확인해, 애플리케이션 호환성을 점검하고 DB 커넥터와 SQL 조회 결과를 수정했습니다.

rds-structure.svg

Green 환경에서 확인한 수정 사항을 운영 전환에 반영했습니다.

2. 커넥터와 데이터 경계의 호환성을 맞췄습니다

변경 대상 적용한 변경 변경 목적
DB 커넥터 MySQL 커넥터 5.1.27 → 8.0.28 한글 깨짐 등 업그레이드 호환성 대응 과정에서 교체
SQL 조회 결과 이미지 ID를 CAST(oid AS CHAR)로 조회 이미지 ID를 문자열로 반환

커넥터는 문자열 표시 등 업그레이드 호환성에 대응해 교체했고, 이미지 ID는 SQL에서 문자열로 반환하도록 처리했습니다.

3. 운영 전환과 이후 관점

Green 환경에서 대응한 변경을 반영하고 운영 전환을 완료했습니다.

이 경험에서는 DB 업그레이드를 인프라 버전 변경만으로 보지 않고, 드라이버·SQL 결과·Java 타입이 만나는 경계를 함께 확인하는 것이 중요했습니다.

4. AWS 운영에서 함께 담당한 대응

트래픽 분산과 세션 유지

EC2 두 대로 운영하는 환경에서 ELB로 트래픽을 분산하고 세션이 유지되도록 설정했습니다. 세션 유지는 ELB 설정으로 처리했습니다.

서버 용량 대응

필요에 따라 EC2 인스턴스 유형을 변경해 기존 인스턴스의 자원을 조정했습니다.

백업과 테스트 환경 확보