この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
안녕하세요, 임채정입니다.
AWS의 모범사례 에서의 RDS는 보안을 위한 프라이빗 서브넷에 작성하는 것을 추천하고 있습니다.
하지만 RDS를 퍼블릭 서브넷에서 작성하는 경우도 있습니다.
만약, 퍼블릭 서브넷에 RDS 를 작성해두고 나중에 프라이빗 서브넷으로 변경하고 싶은 경우 어떻게 해야될까요.
이번 블로그에서는 서브넷 그룹을 수정하는 방식으로 퍼블릭 서브넷에 있는 RDS 를 프라이빗 서브넷으로 이동시키는 방법을 정리해봤습니다.
아젠다
- 변경 방법
- 서브넷그룹 수정
- RDS의 레프리카 작성
- RDS의 다중 AZ 설정 해제
- 서브넷그룹 수정(2)
0. 변경 방법
이번 블로그에서는 퍼블릭 서브넷에 위치해있는 RDS 를 서브넷그룹을 변경하는 방법으로 프라이빗 서브넷으로 이동시켜보겠습니다.
-> 목표 : VPC A의 퍼블릭 서브넷에 있는 RDS를 VPC A의 프라이빗 서브넷으로 이동시킨다.
리드 레프리카를 사용한 변경방법은 다음과 같습니다.
1. 서브넷 그룹 수정(프라이빗 서브넷 추가)
2. RDS 의 레프리카 수정
3. RDS 의 마스터 변경
4. 퍼블릭 서브넷의 RDS 삭제
5. 서브넷 그룹 수정(퍼블릭 서브넷 삭제)
다음과 같이 조금 복잡하게 작업을 하는 이유는 서브넷그룹을 수정할 때는 사용중인 서브넷을 변경할 수 없기 때문입니다.
또한, 변경 방법에 관해서는 아래 페이지를 참고했습니다.
이 블로그에서 RDS의 작성은 생략하겠습니다.
1. 서브넷그룹 수정
먼저 RDS에 연결된 서브넷 그룹을 수정하겠습니다.
이번에 사용할 RDS에 연결된 서브넷을 확인해보면 다음과 같이 서브넷그룹에 포함된 서브넷을 확인할 수 있습니다.
다음 서브넷그룹에 포함되어 있는 서브넷은 전부 퍼블릭 서브넷입니다.
확인을 했으니 RDS의 리드 레프리카를 프라이빗 서브넷으로 작성하기 위해 서브넷 그룹을 수정하겠습니다.
RDS 에 설정된 서브넷그룹을 선택해서 [편집]을 클릭합니다.
[서브넷 추가]영역에서 가용영역을 선택해서 해당 가용영역의 서브넷을 삭제 선택합니다.
이 때, 서브넷 그룹에서 RDS에 연결되어 있는 서브넷을 제외한 퍼블릭 세브넷을 제거합니다.
RDS와 연결된 서브넷을 남겨두는 이유는 연결된 서브넷은 제거할 수 없기 때문입니다.
연결된 서브넷을 제거하려고 하면 다음와 같은 에러가 출력됩니다.
그렇기 때문에 RDS가 작성된 퍼블릭 서브넷 + 복수개의 프라이빗 서브넷을 추가합니다.
그러면 RDS가 작성된 서브넷을 제외하고는 프라이빗으로만 이루어진 서브넷으로 세브넷그룹이 구성됩니다.
2. RDS의 다중 AZ 설정 후 재부팅
이번에는 서브넷그룹에 추가된 프라이빗 서브넷에 RDS의 다중 AZ 설정을 하겠습니다.
다중 AZ 설정을 하게되면 자동으로 보조 서브넷인 프라이빗 서브넷에 새로운 DB 인스턴스를 생성합니다.
대상 RDS 를 선택하고 [수정]을 클릭합니다.
그리고 다중 AZ 설정을 해줍니다.
인스턴스의 수정 예약에서 [즉시 적용]을 선택해주고 [DB 인스턴스 수정]을 클릭합니다.
그러면 다중 AZ에 예
라고 표시됩니다.
장애 조치로 재부팅 하겠냐는 안내문에 표시를 하고 [확인]을 클릭합니다.
재부팅하면 ap-northeast-1c
였던 서브넷이 ap-northeast-1a
으로 변경되면서 프라이빗 세브넷으로 변경됩니다.
3. RDS의 다중 AZ 설정 해제
다음으로 이번에는 RDS의 다중 AZ 설정을 다시 해제합니다.
일단 프라이빗 서브넷에 위치한 RDS인스턴스를 선택해서 [수정]을 클릭합니다.
그리고 다중 AZ 설정을 해제합니다.
인스턴스의 수정 예약에서 [즉시 적용]을 선택해주고 [DB 인스턴스 수정]을 클릭합니다.
이러면 다중 AZ에 아니요
라고 표시됩니다..
4. 서브넷그룹 수정(2)
마지막으로 다시한번 서브넷 그룹을 수정해서 남아있는 퍼블릭 서브넷을 제거하겠습니다.
대상 서브넷그룹을 선택해서 [편집]을 클릭합니다.
가용영역을 선택해서 퍼블릭 서브넷을 삭제합니다.
이렇게 되면 프라이빗 서브넷만 포함된 서브넷그룹이 됩니다.
즉, RDS를 퍼블릭 서브넷에서 프라이빗 서비넷을 이동시킨 것입니다.
여기까지가 퍼블릭 서브넷에 있는 RDS를 프라이빗서브넷으로 변경하는 방법이었습니다.