이슈
AWS Aurora RDS DB t 시리즈 → r 시리즈로 인스턴스 타입 변경 후, DB 외부 접속 불가 (Connection timed out) 에러가 발생함

발생 증상
Aurora RDS에 접속 시 Connection timed out 에러가 발생했으며, Aurora 인스턴스 상태는 AWS 콘솔에서 Available로 정상 표시되고 있었다.
패킷이 목적지에 도달하지 못하고 있는 상태로, Connection refused가 아닌 Timed out이 발생한다는 점에서 네트워크 레벨에서 트래픽이 차단되고 있음을 의심할 수 있었다.
점검 항목
- ✅ 점검 항목결과Aurora 인스턴스 상태 : Available (정상)
- ✅ Security Group Inbound (13306 포트) : 허용됨 (정상)
- ✅ NACL Inbound : 모든 트래픽 허용 (정상)
- ✅ Publicly Accessible : 예 (정상)
- 🚨 지정된 서브넷 : Private 서브넷
- 🚨 라우팅 테이블 IGW 경로 : 없음
Aurora 인스턴스에 Public IP는 할당되어 있었으나 Private 서브넷에 배치되어 있었고, 해당 서브넷의 라우팅 테이블에는 인터넷 게이트웨이(IGW) 경로가 없었다. 이로 인해 외부에서 들어오는 트래픽이 Aurora까지 라우팅되지 못한 것이 원인이었다.
원인
기존 Aurora 클러스터에 지정된 서브넷 그룹에는 Public 서브넷과 Private 서브넷이 혼재되어 있었다.
인스턴스 타입 변경(db.t3.medium → db.r6g.large) 시 AWS는 내부적으로 기존 인스턴스를 종료하고 새 인스턴스를 프로비저닝한다. 이때 서브넷 그룹에 등록된 서브넷 중 하나를 AWS가 자동으로 선택하여 배치하는데, 기존 t3.medium은 우연히 Public 서브넷에 배치되어 정상 동작하고 있었으나 이번 인스턴스 타입 변경 시 Private 서브넷이 선택된 것이다.
- 인스턴스 타입 변경
- AWS 내부적으로 기존 인스턴스 종료 → 새 인스턴스 프로비저닝
- 서브넷 그룹내 Public/Private 서브넷 혼재
- AWS가 자동으로 Private 서브넷에 새 인스턴스 배치
- Public IP는 할당되었으나 라우팅 테이블에 IGW(인터넷 게이트웨이) 경로 없음
- 외부 → Aurora 트래픽 라우팅 불가 → Connection Timed Out
이와 같이 서브넷 그룹 내 Public / Private 서브넷이 혼재되어있을 경우, 아래 상황에서 동일한 문제가 재발할 수 있다.
- 인스턴스 타입 변경 (이번 케이스)
- Aurora Failover (장애 조치) 시 새 인스턴스 생성
- Read Replica 추가
- Aurora Auto Scaling으로 인스턴스 자동 추가
긴급 조치
복구를 최우선으로 하여 우선 Aurora 가 배치된 Private 서브넷의 라우팅 테이블에 IGW 경로를 추가했다.
- VPC 콘솔 → Route Tables → Routes → Edit routes

위 경로 추가 후 외부 접속이 정상화되었다.
다만 이는 Private 서브넷이 사실상 Public처럼 동작하게 되는 임시 조치로, Private 서브넷의 라우팅 테이블에 인터넷 게이트웨이(IGW) 로 향하는 경로가 설정되어있으면 안된다.
근본 해결
긴급 조치 후 즉시 근본 해결을 위한 조치를 진행했다.
Public 서브넷만으로 구성된 새 Subnet Group으로 교체하는 것이 근본 해결책이다.
Aurora 클러스터의 서브넷 그룹은 AWS 콘솔 UI 및 CLI 로 직접 변경이 불가하여 스냅샷으로 새 클러스터를 복원하는 방식으로 진행했다.
1. 신규 서브넷 그룹 생성
Public 서브넷만으로 구성된 서브넷 그룹을 생성한다.
2. 스냅샷 생성
- RDS 콘솔 → Databases → 기존 클러스터 선택 → 작업 → 스냅샷 생성

3. 스냅샷으로 새 클러스터 복원
- RDS 콘솔 → Snapshots → 스냅샷 선택 → 작업 → 스냅샷 복원

스냅샷 복원 시 생성중에는 Reader 인스턴스로 보이지만, 생성이 완료되면 Writer 인스턴스로 변경되는 점을 참고하자.


4. 연결 확인
네트워크 연결 정상 확인 후 새 클러스터 엔드포인트로 접속을 확인한다.
5. 기존 클러스터 삭제 및 긴급 조치 원상복구
새 클러스터 정상 확인 후 기존 클러스터를 삭제하고, 긴급 조치로 추가했던 IGW 경로를 제거하여 Private 서브넷을 원상복구한다.
결론
Aurora RDS 인스턴스 타입 변경 후 발생한 외부 접속 불가 이슈의 근본 원인은 기존 클러스터에 배치된 서브넷 그룹에 Public/Private 서브넷이 혼재되어 있던 잘못된 구성이었다. 인스턴스 타입 변경 전까지는 우연히 Public 서브넷에 배치되어 정상 동작하고 있었으나, 인스턴스 교체 과정에서 Private 서브넷으로 배치되며 문제가 드러났다.
재발 방지를 위해 아래 사항을 준수해야 한다.
- 서브넷 그룹은 Public 또는 Private 단일 용도로만 구성 (혼재 금지)
- 외부에서 직접 접근하는 Aurora라면 반드시 Public 서브넷만으로 서브넷 그룹 구성
- 인스턴스 타입 변경 전 서브넷 배치 상태 사전 확인
'AWS' 카테고리의 다른 글
| [AWS] 서로 다른 VPC에 있는 EC2에서 RDS로 연결하기 (VPC 피어링) (0) | 2026.06.17 |
|---|---|
| [AWS] 부하 테스트를 위한 CloudWatch 대시보드 구축 : 메모리 사용률까지 띄워보기 (0) | 2025.05.30 |
| [AWS] S3 + CloudFront + Route53으로 정적 파일 HTTPS 배포하기 (0) | 2025.04.21 |
| [AWS] EC2 서버 메모리 부족 이슈 (0) | 2025.02.05 |
| [EC2] 컴퓨터 변경 후 AWS EC2 인스턴스 SSH 접속 설정 (0) | 2023.01.01 |