퍼블릭 서브넷에 있는 Amazon Relational Database Service(RDS) DB 인스턴스가 있습니다. DB 인스턴스를 동일한 가상 가격 클라우드(VPC) 내의 프라이빗 서브넷으로 이동하고 DB 인스턴스를 프라이빗으로 만들고자 합니다.
간략한 설명
Amazon RDS는 동일한 VPC 내에서 DB 인스턴스의 서브넷 그룹을 변경하는 옵션을 제공하지 않습니다. 그러나 다음 해결 방법을 사용하여 DB 인스턴스를 퍼블릭 서브넷에서 프라이빗 서브넷으로 이동할 수 있습니다. 이 해결 방법을 사용하면 새 DB 인스턴스를 생성하거나 스냅샷 복원 프로세스를 사용할 필요가 없습니다. 또한 이 해결 방법은 새 인스턴스를 만들고 트래픽을 전환할 때 가동 중지 시간을 최소화합니다. 장애 조치 시간만 눈에 띄는 가동 중지 시간을 초래합니다.
참고: 이 해결 방법은 RDS DB 인스턴스에만 사용하세요. DB 인스턴스가 Aurora 클러스터의 일부인 경우 복제 옵션을 사용합니다. 또는 이 해결 방법을 따르되 다중 AZ를 끄지 마세요. 대신 리더를 삭제하고 다시 생성하세요.
해결 방법
DB 인스턴스에서 다중 AZ 배포 및 퍼블릭 접근성을 끕니다.
이미 DB 인스턴스를 단일 AZ로 설정하고 퍼블릭 접근성 파라미터를 아니오로 설정한 경우 이 단계를 건너뜁니다.
DB 인스턴스의 다중 AZ 배포를 끄려면 다음 단계를 완료합니다.
- Amazon RDS 콘솔을 엽니다.
- 탐색 창에서 데이터베이스를 선택합니다. 그런 다음 DB 인스턴스를 선택합니다.
- 수정을 선택합니다.
- DB 인스턴스 수정 페이지에서 다중 AZ 배포 및 퍼블릭 접근성에서 아니오를 선택합니다.
- 계속을 선택한 다음, 수정 사항 요약을 검토합니다.
- 즉시 적용 또는 예약된 다음 유지 관리 기간 동안 적용을 선택합니다.
참고: 수정으로 인해 DB가 재부팅되기 때문에 가동 중지가 발생합니다. 자세한 내용은 즉시 적용 설정 사용을 참고하세요.
- 변경 사항을 검토하고, 올바르면 DB 인스턴스 수정을 선택하여 저장합니다.
DB 인스턴스의 IP 주소 검색
DB 인스턴스가 사용 가능 상태로 돌아오면 DB 인스턴스의 엔드포인트에서 dig를 실행하여 IP 주소를 찾습니다.
dig rds_endpoint
참고: rds_endpoint를 DB 인스턴스의 엔드포인트로 바꿉니다.
출력 예시:
db-RDS-instance.xxxxxxxx.us-east-1.rds.amazonaws.com. 5 IN A 172.39.5.213
프라이빗 IP 주소에서 기본 인스턴스가 사용하는 서브넷을 찾을 수 있습니다.
이 예제에서는 다음과 같은 서브넷을 찾을 수 있습니다.
- 서브넷 1: 172.39.5.0/24
- 서브넷 2: 172.39.4.0/24
IP 주소가 172.39.5.0/24 미만이므로 인스턴스는 서브넷 1에 있습니다.
DB 인스턴스에서 퍼블릭 서브넷을 제거하고 프라이빗 서브넷을 추가합니다.
서브넷 그룹의 모든 프라이빗 서브넷을 추가합니다. 또한 서브넷 그룹에서 기본 인스턴스가 사용하는 서브넷을 제외한 모든 퍼블릭 서브넷을 삭제합니다. 이전 예제에서는 DB 인스턴스가 이 서브넷을 사용하기 때문에 서브넷 1을 제외한 모든 항목을 삭제합니다.
다음 단계를 완료합니다.
- Amazon RDS 콘솔을 엽니다.
- 탐색 창에서 서브넷 그룹을 선택합니다. 그런 다음 DB 인스턴스와 연결된 서브넷 그룹을 선택합니다.
- 편집을 선택합니다.
- 서브넷 추가 섹션에서 가용 영역 및 프라이빗 서브넷을 선택합니다.
- 삭제할 퍼블릭 서브넷을 선택한 다음 제거를 선택합니다.
- 저장을 선택합니다.
DB 인스턴스에서 다중 AZ를 켭니다.
DB 인스턴스에 대해 다중 AZ 배포를 켭니다. 새 보조 인스턴스는 나머지 프라이빗 서브넷 중 하나에서 시작됩니다.
장애 조치로 DB 인스턴스를 재부팅하고 다중 AZ 배포를 끕니다.
DB 인스턴스가 장애 조치되면 보조 인스턴스가 기본 인스턴스가 됩니다. 따라서 새 기본 인스턴스는 프라이빗 IP 주소를 사용합니다. 장애 조치로 DB 인스턴스를 재부팅한 후 현재 퍼블릭 서브넷에 있는 새 보조 인스턴스를 제거합니다. 보조 인스턴스를 제거하려면 다중 AZ 배포를 아니요로 설정하여 다중 AZ를 끕니다.
퍼블릭 서브넷 제거
다음 단계를 완료합니다.
- 서브넷 그룹에서 나머지 퍼블릭 서브넷을 제거합니다.
참고: RDS 측의 서브넷 그룹에서 서브넷을 제거합니다. VPC에서 서브넷을 삭제할 필요는 없습니다.
- 서브넷 그룹에 프라이빗 서브넷만 있는지 확인합니다.
- DB 인스턴스가 이전에 다중 AZ 배포였다면 다중 AZ 배포를 다시 켭니다.
관련 정보
다중 AZ DB 클러스터 배포