AWS RDS(Relational Database Service)는 관리형 데이터베이스 서비스로, 데이터베이스 운영의 복잡성을 줄여주는 강력한 도구입니다. 그러나 여러 비즈니스 요구 사항에 따라 RDS를 다른 AWS 계정으로 이전해야 할 상황이 발생할 수 있습니다. 이 글에서는 AWS RDS를 한 계정에서 다른 계정으로 효과적으로 이전하는 방법과 고려해야 할 사항을 단계별로 설명합니다.
1. RDS를 다른 계정으로 이전해야 하는 이유
RDS를 다른 계정으로 이전해야 하는 주요 상황은 다음과 같습니다:
- 계정 구조 변경: 조직의 AWS 계정 분리나 통합 작업.
- 프로젝트 이전: 데이터베이스를 별도의 팀 또는 고객 계정으로 이동.
- 비용 관리 최적화: 비용 분리를 위한 리소스 재배치.
2. RDS 이전 전략
AWS는 RDS를 직접적으로 다른 계정으로 이전하는 기능을 제공하지 않습니다. 대신, 다음과 같은 두 가지 전략을 사용할 수 있습니다:
- 스냅샷(Snapshot) 공유 및 복구
- RDS 데이터베이스의 스냅샷을 생성하고 이를 다른 계정과 공유한 뒤 복구하는 방식.
- 장점: 빠르고 간단하며, AWS 관리형 스냅샷을 활용 가능.
- 단점: 데이터가 정적이므로 동기화 시점 이후 데이터는 포함되지 않음.
- 데이터 복제(Data Migration)
- AWS DMS(Data Migration Service)나 다른 복제 도구를 사용하여 데이터를 실시간으로 이전.
- 장점: 실시간 동기화 가능.
- 단점: 설정이 복잡하고 비용이 추가 발생.
3. 스냅샷 공유 및 복구 방식 (권장)
3.1 스냅샷 생성
먼저 기존 RDS에서 데이터베이스 스냅샷을 생성합니다.
- AWS Management Console에서 RDS 서비스로 이동.
- 복사하려는 데이터베이스를 선택.
- “Snapshot 생성(Create Snapshot)” 클릭.
- 이름을 입력하고 “Create” 버튼을 눌러 스냅샷을 생성.
3.2 스냅샷 공유
생성된 스냅샷을 대상 계정과 공유합니다.
- RDS 콘솔에서 스냅샷(Snapshots) 탭으로 이동.
- 공유하려는 스냅샷을 선택하고 “공유(Share)” 버튼 클릭.
- “Allow access to other AWS accounts” 옵션 선택.
- 대상 계정의 AWS 계정 ID를 입력한 뒤 저장.
주의: 암호화된 스냅샷은 공유하려면 KMS 키를 대상 계정과도 공유해야 합니다.
3.3 대상 계정에서 스냅샷 복구
대상 계정에서 공유받은 스냅샷을 복구하여 새 RDS 인스턴스를 생성합니다.
- 대상 계정으로 로그인하여 RDS 콘솔로 이동.
- “Snapshots”에서 “Shared with me” 섹션으로 이동.
- 공유받은 스냅샷을 선택하고 “Restore Snapshot” 클릭.
- 새 RDS 인스턴스의 구성(엔진, 스펙, 네트워크 설정 등)을 지정한 뒤 복구.
4. 데이터 복제를 활용한 실시간 이전
4.1 AWS DMS(Data Migration Service) 설정
- AWS DMS 콘솔로 이동하고 Replication Instance를 생성.
- 원본(Source) 및 대상(Target) 데이터베이스 엔드포인트를 생성:
- 원본: 기존 RDS.
- 대상: 새 계정의 RDS.
- Migration Task를 생성하여 데이터 복제:
- 전체 데이터 마이그레이션.
- 실시간 CDC(Change Data Capture) 동기화.
4.2 데이터 검증
마이그레이션이 완료되면 데이터 정합성을 검증하여 문제가 없는지 확인합니다.
5. 네트워크 설정 및 권한 확인
RDS를 다른 계정으로 이전할 때 네트워크 및 권한 설정이 중요합니다.
5.1 네트워크 설정
- VPC 설정 확인: 복구된 RDS 인스턴스가 애플리케이션과 동일한 VPC에 배치되도록 설정.
- 보안 그룹: RDS의 인바운드 규칙을 적절히 구성하여 접근 가능하도록 설정.
5.2 권한 확인
- 대상 계정에서 적절한 IAM 권한을 구성하여 RDS와 연결된 애플리케이션이 정상적으로 데이터베이스에 접근할 수 있도록 합니다.
6. 비용 고려 사항
- 스냅샷 스토리지 비용: RDS 스냅샷은 저장 공간 사용에 따라 요금이 부과됩니다.
- DMS 비용: AWS DMS를 사용할 경우, 복제 인스턴스와 데이터 전송 비용이 추가됩니다.
- RDS 인스턴스 비용: 새로 생성된 RDS 인스턴스의 크기와 사용량에 따라 요금이 부과됩니다.
7. 요약
AWS RDS를 다른 계정으로 이전하는 작업은 크게 스냅샷 공유 방식과 데이터 복제 방식을 통해 수행할 수 있습니다.
- 스냅샷 공유는 빠르고 간단한 방법으로, 정적 데이터를 이전하는 데 적합합니다.
- 데이터 복제는 실시간 데이터 동기화가 필요한 경우 적합합니다.
각 방법의 장단점을 고려하여 프로젝트의 요구 사항에 가장 적합한 방법을 선택하세요. 네트워크 설정 및 권한 구성, 비용 최적화에도 주의를 기울이는 것이 중요합니다.
AWS RDS의 유연한 데이터베이스 관리 기능을 활용해 더 나은 데이터 운영 환경을 만들어 보세요! 🚀
'IT 개발 정보 > DB' 카테고리의 다른 글
EXPLAIN 사용한 쿼리 살펴보기 (0) | 2020.01.05 |
---|