Classic 환경에서 이용 가능합니다.
Cloud DB for MySQL VPC Migration에서는 네이버 클라우드 플랫폼의 Classic 환경에서 운영 중인 Cloud DB for MySQL을 VPC 환경으로 이전하는 방법을 안내합니다.
Classic 환경과 VPC 환경은 네트워크가 분리되어 있으므로 데이터를 이전하려면 두 환경을 연결하는 경로를 통하거나 백업 파일을 매개로 데이터를 옮겨야 합니다. Cloud DB for MySQL VPC Migration에서 설명하는 내용은 다음과 같습니다.
- 이전 방식 선택과 공통 사전 준비
- 방법 1. Classic Path와 Database Migration Service를 이용한 이전
- 방법 2. Object Storage에 저장한 백업 파일을 이용한 이전
- 방법 3. mysqldump를 이용한 이전
- 이전 후 확인 및 전환
- 문제 해결
Classic 환경의 Cloud DB for MySQL은 신규 DB Server 생성이 종료되었습니다. 운영 중인 Classic DB Server는 VPC 환경으로 이전해 주십시오. VPC 환경의 Cloud DB for MySQL에 대한 자세한 내용은 Cloud DB for MySQL 시작을 참조해 주십시오.
이전 방식 선택과 공통 사전 준비
Cloud DB for MySQL은 세 가지 방식으로 Classic 환경에서 VPC 환경으로 이전할 수 있습니다. 다음 표에서 각 방식의 특징을 확인하고 서비스 상황에 맞는 방식을 선택해 주십시오.
| 구분 | 방법 1. Classic Path + Database Migration Service | 방법 2. Object Storage 백업 파일 복원 | 방법 3. mysqldump |
|---|---|---|---|
| 데이터 전송 경로 | Classic Path 내부망 | Object Storage | 애플리케이션 서버 |
| 서비스 중단 | 전환 시점에만 짧게 중단 | 백업 시점 이후 변경분 미반영, 백업부터 전환까지 쓰기 중단 필요 | 덤프부터 전환까지 쓰기 중단 필요 |
| 데이터 동기화 | 초기 적재 후 변경분 실시간 동기화 | 없음 | 없음 |
| Target DB 위치 | Classic Path 전용 VPC 안 | 제한 없음 | 제한 없음 |
| 적합한 경우 | 중단 시간을 최소화해야 하는 운영 DB | 중단이 가능하고 네트워크 연결 구성 없이 이전하려는 DB (백업 파일 800MiB 초과 1TiB 미만) | 중단이 가능하고 데이터가 작은 DB |
이전 방식과 관계없이 작업 전에 확인해야 할 사전 준비 항목은 다음과 같습니다.
- Source DB와 Target DB의 MySQL 버전을 확인해 주십시오. 방법 1과 방법 3은 버전이 달라도 이전할 수 있지만, 버전 간 호환되지 않는 문법이나 기본값이 있는지 이전 후 확인해야 합니다. 메이저 버전이 다른 경우의 주의 사항은 버전이 다른 DB 간 마이그레이션을 참조해 주십시오. 방법 2는 백업 파일과 Target DB의 메이저 버전이 같아야 합니다.
- 사용자 계정과 DB Config는 어떤 방식에서도 함께 이전되지 않습니다. 이전이 끝나면 Target DB의 DB User 관리와 DB Config 메뉴에서 다시 설정해 주십시오. 방법 2에서 함께 삭제되는 그 외 항목은 방법 2의 주의 사항을 참조해 주십시오.
- 이전 작업을 완료한 후 애플리케이션 서버도 VPC 환경으로 이전하고 접속 정보를 Target DB의 Private 도메인으로 변경해야 합니다.
방법 1. Classic Path와 Database Migration Service를 이용한 이전
Classic Path는 네이버 클라우드 플랫폼 내부망으로 Classic 환경과 VPC 환경을 연결하는 서비스입니다. Classic Path로 네트워크 경로를 만든 뒤 Database Migration Service(이하 DMS)로 Source DB(Classic)의 데이터를 Target DB(VPC)로 옮기고 변경분을 동기화합니다. 전체 흐름은 다음과 같습니다.
- Classic Path 전용 VPC와 Subnet 생성
- Classic Path 생성
- Route Table 설정
- Target DB 생성
- ACG 설정
- Source DB 접속 정보 확인 및 마이그레이션 계정 생성
- DMS Endpoint 생성 및 접속 테스트
- Migration 작업 생성, 실행, 완료
Classic Path에는 다음 제약 사항이 있습니다. 작업 전에 반드시 확인해 주십시오.
- Classic Path는 전용 대역으로 생성한 VPC에서만 이용할 수 있습니다. 전용 대역은 민간 10.36.192.0/19, 공공 10.36.224.0/19입니다.
- 한 계정에서 Classic과 연결할 수 있는 VPC는 하나입니다.
- Classic Path와 직접 연결된 VPC만 Classic과 통신할 수 있습니다. VPC Peering으로 연결된 다른 VPC는 통신할 수 없으므로 Target DB는 Classic Path 전용 VPC 안에 생성해야 합니다.
- Classic 환경의 Private Subnet에 있는 IP와는 통신할 수 없습니다.
- 도메인이 아닌 IP 연결만 지원합니다.
- 자세한 내용은 Classic Path 사용 환경을 참조해 주십시오.
Classic Path 전용 VPC 생성
Classic Path를 연결할 VPC를 생성합니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Networking > VPC > VPC Management 메뉴를 차례대로 클릭해 주십시오.
- [VPC 생성] 버튼을 클릭하고 아래 정보를 입력해 주십시오.
- VPC 이름: 생성할 VPC의 이름
- IP 주소 범위: Classic Path 전용 대역 (민간 10.36.192.0/19, 공공 10.36.224.0/19)
- 유형: NORMAL
- [생성] 버튼을 클릭해 주십시오.
IP 주소 범위는 네트워크 주소와 서브넷 마스크가 일치해야 합니다. 전용 대역을 /16과 같이 다른 마스크로 입력하면 "IPv4 CIDR block은 private 대역 내에서 /16~/28 범위여야 합니다." 메시지와 함께 생성되지 않습니다. 반드시 /19로 입력해 주십시오.
Subnet 생성
Target DB를 배치할 Subnet을 생성합니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Networking > VPC > Subnet Management 메뉴를 차례대로 클릭해 주십시오.
- [Subnet 생성] 버튼을 클릭하고 아래 정보를 입력해 주십시오.
- Subnet 이름: 생성할 Subnet의 이름
- VPC: 위에서 생성한 Classic Path 전용 VPC
- IP 주소 범위: VPC 대역 안의 하위 범위 (예: 전용 대역의 첫 /24)
- 가용 Zone: Target DB를 생성할 Zone
- Network ACL: 기본 Network ACL 또는 10.0.0.0/8 대역의 Inbound, Outbound를 허용하는 Network ACL
- Internet Gateway 전용 여부: 서비스 구성에 따라 선택. Classic Path 통신에는 영향 없음
- 용도: 일반
- [생성] 버튼을 클릭해 주십시오.
Classic Path 생성
Classic 환경과 VPC 환경을 연결하는 Classic Path를 생성합니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Networking > Classic Path 메뉴를 차례대로 클릭해 주십시오.
- [Classic Path 생성] 버튼을 클릭하고 아래 정보를 입력해 주십시오.
- Classic Path 이름: 생성할 Classic Path의 이름
- VPC: 위에서 생성한 Classic Path 전용 VPC
- [생성] 버튼을 클릭해 주십시오.
- 목록에서 상태가 운영중으로 표시되는지 확인해 주십시오.
Route Table 설정
Target DB가 속한 Subnet의 Route Table에 Classic 대역으로 가는 경로를 추가합니다. Classic 환경에는 사용자가 설정하는 Route Table이 없으므로 VPC 환경에서만 설정합니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Networking > VPC > Route Table 메뉴를 차례대로 클릭해 주십시오.
- Target DB가 속한 Subnet이 연관된 Route Table을 선택해 주십시오. 별도로 지정하지 않았다면 Subnet의 Internet Gateway 전용 여부에 따라 기본 생성된
{VPC 이름}-default-public-table또는{VPC 이름}-default-private-table에 연관됩니다. [연관 Subnet] 탭 메뉴에서 확인할 수 있습니다. - [Routes 설정] 버튼을 클릭해 주십시오.
- [생성] 버튼을 클릭하고 아래 정보를 입력해 주십시오.
- 목적지(Destination): 10.0.0.0/8
- Target 유형: CLASSICPATH
- Target 이름: 위에서 생성한 Classic Path
- [확인] 버튼을 클릭해 주십시오.
- [Routes] 탭 메뉴에서 10.0.0.0/8 경로의 Target 유형이 CLASSICPATH로 표시되는지 확인해 주십시오.
Target DB 생성
Classic Path 전용 VPC에 데이터를 이전할 VPC 환경의 Cloud DB for MySQL을 생성합니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Database > Cloud DB for MySQL 메뉴를 차례대로 클릭해 주십시오.
- [DB Server 생성] 버튼을 클릭하고 서버 설정 화면에서 아래 항목을 설정해 주십시오. 그 외 항목은 DB Server를 참조해 주십시오.
- DB 엔진 버전: 이전 후 사용할 MySQL 버전. 다른 버전으로 이전하는 경우 버전이 다른 DB 간 마이그레이션을 참조해 주십시오.
- VPC: 위에서 생성한 Classic Path 전용 VPC
- Subnet: 위에서 생성한 Subnet
- DB 설정 화면에서 DB Data Load를 신규 생성으로 선택하고 나머지 항목을 입력한 뒤 생성을 완료해 주십시오.
- 생성이 완료되면 DB Server 상세 정보에서 사설 IP를 확인해 주십시오. 이후 ACG와 Source DB 계정 설정에 사용합니다.
ACG 설정
DMS는 Target DB에서 Source DB의 접속 포트로 접속하여 데이터를 가져옵니다. 양쪽 ACG에 다음 규칙이 있어야 합니다. 3306은 기본 포트 기준 예시이며 Source DB 생성 시 다른 포트를 지정한 경우 해당 포트를 사용해 주십시오.
| 설정 위치 | 방향 | 허용 대상 | 포트 |
|---|---|---|---|
| Target DB의 ACG (VPC 환경 Server > ACG) | Outbound | Source DB의 사설 IP (/32) 또는 Classic 대역 (10.0.0.0/8) | Source DB 접속 포트 (기본 3306) |
| Source DB의 ACG (Classic 환경 Server > ACG) | Inbound | Target DB의 사설 IP (/32) 또는 Target DB가 속한 Subnet 대역 | Source DB 접속 포트 (기본 3306) |
Source DB의 ACG는 다음과 같이 설정합니다.
- 네이버 클라우드 플랫폼 콘솔의 Classic 환경에서 Menu > All Services > Database > Cloud DB for MySQL 메뉴를 차례대로 클릭해 주십시오.
- Source DB를 선택하고 상세 정보의 ACG 이름 옆 [규칙 보기] 버튼을 클릭해 주십시오.
- 아래 정보를 입력하고 [추가] 버튼을 클릭해 주십시오.
- 프로토콜: TCP
- 접근 소스: Target DB의 사설 IP (/32) 또는 Target DB가 속한 Subnet 대역
- 허용 포트: Source DB 접속 포트 (기본 3306)
- [적용] 버튼을 클릭하고 상세 정보의 적용 규칙 수가 늘어났는지 확인해 주십시오.
Target DB가 고가용성 구성인 경우 Standby Master의 사설 IP도 Source DB의 ACG에 함께 허용해 주십시오. Target DB가 속한 Subnet 대역 전체를 허용하면 서버 구성이 바뀌어도 규칙을 수정하지 않아도 됩니다.
Source DB 접속 정보 확인 및 마이그레이션 계정 생성
Classic Path는 IP 연결만 지원하므로 Source DB의 Private 도메인에 해당하는 사설 IP를 확인하고, DMS가 사용할 계정을 Source DB에 생성합니다.
- Classic 환경의 Cloud DB for MySQL 상세 정보에서 Private 도메인을 확인해 주십시오.
- 네이버 클라우드 플랫폼의 서버에서 다음 명령으로 사설 IP를 확인해 주십시오. Private 도메인은 네이버 클라우드 플랫폼 내부에서만 조회됩니다.
nslookup {Source DB Private 도메인} - 네이버 클라우드 플랫폼 콘솔의 Classic 환경에서 Source DB를 선택하고 DB 관리 > DB User 관리 메뉴를 차례대로 클릭해 주십시오.
- 아래 정보를 입력하고 [DB User 추가] 버튼을 클릭해 주십시오.
- USER_ID: 마이그레이션에 사용할 계정 아이디
- HOST(IP): Target DB의 사설 IP 또는 Target DB가 속한 Subnet 대역의 와일드카드 표기 (예: Subnet이 10.36.xxx.0/24이면 10.36.xxx.%)
- DB 권한: DDL
- 암호: 계정 비밀번호
- [저장] 버튼을 클릭해 주십시오.
- 생성한 계정이 마이그레이션에 필요한 권한을 모두 보유하고 있는지 확인해 주십시오. DMS에 필요한 최소 권한은 Source DB 및 Target DB 접속 설정의 "마이그레이션을 위해 필요한 최소 권한 항목"을, 콘솔에서 DDL 권한으로 생성한 계정이 보유한 권한 목록은 DB Server의 "DDL / CRUD / READ 권한을 가진 계정이 각각 보유하고 있는 권한 목록"을 참조해 주십시오.
콘솔에서 생성한 계정이 보유하지 않은 권한은 사용자가 직접 부여할 수 없습니다. 다음과 같이 부족한 권한이 있으면 네이버 클라우드 플랫폼 포털의 고객 문의로 Source DB 서비스 이름, 계정 아이디, HOST(IP), 필요한 권한 목록을 전달하여 권한 부여를 요청해 주십시오.
- Target DB가 MySQL 8.0.32 이상인 경우:
RELOAD또는FLUSH_TABLES. Source DB가 MySQL 8.0.23 이상이면 DDL 권한 계정에FLUSH_TABLES가 포함되어 있어 요청이 필요 없고, MySQL 5.7이면RELOAD를 요청해야 합니다. - Backup 타입을 mydumper로 선택하는 경우:
BACKUP_ADMIN
권한 부여가 완료된 뒤 DMS Endpoint를 생성해 주십시오.
- Source DB가 Classic 환경의 Private Subnet IP를 사용하는 경우 Classic Path로 통신할 수 없습니다. 기본 사설 IP를 사용해 주십시오.
- Source DB에 장애 조치(Failover)가 발생하면 Private 도메인이 가리키는 사설 IP가 바뀔 수 있습니다. 동기화가 중단되면 사설 IP를 다시 확인하고 Endpoint를 수정해 주십시오.
DMS Endpoint 생성 및 접속 테스트
Source DB 정보를 DMS Endpoint로 등록하고 Target DB에서 접속되는지 확인합니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Database > Database Migration Service 메뉴를 차례대로 클릭해 주십시오.
- Endpoint Management 메뉴를 클릭하고 [Endpoint 생성] 버튼을 클릭해 주십시오.
- 아래 정보를 입력하고 [생성] 버튼을 클릭해 주십시오. 자세한 내용은 Endpoint Management를 참조해 주십시오.
- Source DB 식별자: Endpoint를 구분할 이름
- Endpoint URL: Source DB의 사설 IP (Private 도메인이 아닌 IP)
- DB PORT: Source DB 접속 포트 (기본 3306)
- DB USER, DB Password: 위에서 생성한 마이그레이션 계정
- Migration Management 메뉴에서 [Migration 생성] 버튼을 클릭하고 Source DB(Endpoint)와 Target DB를 선택한 뒤 [Test Connection] 버튼을 클릭해 접속을 확인해 주십시오. 자세한 절차는 Migration Management를 참조해 주십시오.
Migration 작업 생성, 실행, 완료
접속 테스트가 성공하면 Backup 타입(mysqldump 또는 mydumper)과 스레드 수를 선택하고 Migration 작업을 생성합니다. 작업을 생성하면 백업(Export), 복구(Import), 데이터 동기화(Replication) 세 단계가 자동으로 진행되며, 동기화 상태에서 애플리케이션을 전환한 뒤 작업을 완료합니다.
- Migration 작업을 생성하고 진행 상태를 확인해 주십시오. 자세한 절차는 Database Migration Service 시나리오를 참조해 주십시오.
- 데이터 동기화(Replication) 단계에서 지연 시간이 0초에 가까워지면 Source DB에 연결된 애플리케이션의 쓰기를 중단해 주십시오.
- 지연 시간이 0초인 것을 확인하고 [완료] 버튼을 클릭해 주십시오. 완료하면 동기화가 종료되고 Target DB가 쓰기 가능한 상태로 바뀝니다.
- 이전 후 확인 및 전환을 진행해 주십시오.
- Migration 작업 중 발생한 오류는 Database Migration Service 문제 해결 가이드의 일반적인 문제와 DB 접속 설정 문제를 참조해 주십시오.
- Target DB는 Classic Path 전용 VPC 안에 있어야 하므로, 이전 후 다른 VPC로 옮기려면 VPC 환경 안에서 DMS를 한 번 더 수행해야 합니다. 운영 VPC가 따로 있는 경우 처음부터 운영 VPC를 Classic Path 전용 대역으로 생성하는 방안도 검토해 주십시오.
방법 2. Object Storage에 저장한 백업 파일을 이용한 이전
Classic 환경의 Cloud DB for MySQL 백업 파일을 Object Storage에 저장한 뒤, VPC 환경에서 그 백업 파일로 Cloud DB for MySQL을 생성하는 방식입니다. 네트워크 연결이 필요 없지만 백업 시점 이후의 변경분은 반영되지 않습니다. 전체 흐름은 다음과 같습니다.
- Source DB 쓰기 중단 및 백업 수행
- 백업 파일을 Object Storage에 저장
- VPC 환경에서 Object Storage의 백업 파일로 Target DB 생성
Object Storage의 백업 파일로 복원하려면 백업 파일이 다음 조건을 만족해야 합니다.
- 백업 파일 크기는 800MiB 초과 1TiB 미만이어야 합니다. 이 범위를 벗어나면 방법 1 또는 방법 3을 사용해 주십시오.
- 백업 파일의 MySQL 메이저 버전과 Target DB 생성 시 선택한 메이저 버전이 같아야 합니다.
- 백업 파일의 MySQL 마이너 버전은 Target DB 생성 시 선택한 마이너 버전보다 같거나 낮아야 합니다.
- 백업 파일의 lower_case_table_names 값과 Target DB 생성 시 선택한 값이 같아야 합니다.
- Object Storage에 저장한 백업 파일명은 변경하면 안 되며, 디렉터리 경로를 포함한 총 길이는 100자 이하여야 합니다.
- 복원된 Target DB에서는 Cloud DB for MySQL에서 허용하지 않는 스토리지 엔진 테이블, 모든 DB Config, Plugin, 사용자 계정(DB ACL), Event, Trigger, Stored Procedure, Stored Function이 삭제됩니다. 사용자 계정은 Target DB 생성 시 입력한 계정만 남으므로 필요한 항목은 별도로 다시 생성해 주십시오.
- 전체 조건은 DB Server의 DB 설정 항목을 참조해 주십시오.
백업 수행 및 Object Storage에 저장
Source DB의 최신 백업 파일을 Object Storage에 저장합니다. 백업 시점 이후의 변경분은 이전되지 않으므로 쓰기를 중단한 뒤 백업을 수행해 주십시오.
- Source DB에 연결된 애플리케이션의 쓰기를 중단해 주십시오.
- 네이버 클라우드 플랫폼 콘솔의 Classic 환경에서 Menu > All Services > Database > Cloud DB for MySQL 메뉴를 차례대로 클릭해 주십시오.
- Backup 메뉴를 클릭해 주십시오.
- 백업 설정 행의 [상세내역] 버튼을 클릭해 주십시오.
- 쓰기 중단 이후에 생성된 백업 파일을 선택하고 [Object Storage로 보내기] 버튼을 클릭해 주십시오.
- Object Storage로 보내기 팝업 창에서 저장할 버킷과 폴더를 선택하고 [Object Storage로 보내기] 버튼을 클릭해 주십시오.
- Object Storage 콘솔에서 백업 파일이 저장되었는지 확인해 주십시오. 저장 완료까지 수 분이 소요될 수 있습니다.
- 쓰기 중단 이후 백업이 아직 수행되지 않았다면 백업 시간이 되기를 기다리거나, 백업 시간을 변경하여 백업을 수행한 뒤 진행해 주십시오. 백업 설정 변경 방법은 Backup을 참조해 주십시오.
- Object Storage로 보내기 시 버킷 잠금을 해제하고 접근 제어와 ACL을 설정해야 합니다.
- Object Storage 이용 신청 시 별도의 요금이 부과됩니다.
Object Storage의 백업 파일로 Target DB 생성
VPC 환경에서 Object Storage의 백업 파일을 불러와 Cloud DB for MySQL을 생성합니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > All Services > Database > Cloud DB for MySQL 메뉴를 차례대로 클릭해 주십시오.
- [DB Server 생성] 버튼을 클릭하고 서버 설정을 입력한 뒤 [다음] 버튼을 클릭해 주십시오.
- DB 설정 화면에서 아래 항목을 설정해 주십시오. 그 외 항목은 DB Server를 참조해 주십시오.
- DB 엔진 버전: 백업 파일과 동일한 메이저 버전, 같거나 높은 마이너 버전
- DB Data Load: Object Storage에서 가져오기
- Bucket: 백업 파일을 저장한 버킷
- 복원 파일: 저장한 백업 파일
- 테이블 대소문자 구분: Source DB의 lower_case_table_names 값
- [다음] 버튼을 클릭하고 최종 확인 후 [생성] 버튼을 클릭해 주십시오.
- Target DB의 상태가 운영중으로 바뀌면 Source DB와 데이터 건수를 비교해 주십시오. 백업 파일이 유효하지 않은 경우 데이터 복원 없이 신규 DB Server가 생성되므로 반드시 확인해 주십시오.
- 이전 후 확인 및 전환을 진행해 주십시오.
방법 3. mysqldump를 이용한 이전
애플리케이션 서버에서 mysqldump로 Source DB의 데이터를 SQL 파일로 내려받고 Target DB에 적재하는 방식입니다. 데이터가 작거나 일부 DB만 이전할 때 적합하며, 덤프 시점 이후의 변경분은 반영되지 않습니다.
Source DB와 Target DB 양쪽에 접속할 수 있는 서버가 필요합니다. 다음 중 하나를 선택해 주십시오.
- Classic Path 전용 VPC의 애플리케이션 서버: 방법 1의 VPC, Classic Path, Route Table 설정을 동일하게 구성하고, 서버 ACG에 Source DB와 Target DB 접속 포트의 Outbound를 허용합니다.
- 공인 IP를 통한 접속: Source DB와 Target DB에 Public 도메인을 할당하고 애플리케이션 서버의 공인 IP를 각 DB의 ACG에 허용합니다. 자세한 내용은 클라우드 외부에서 DB Server 접속을 참조해 주십시오.
데이터 내려받기 및 적재
- Source DB에 연결된 애플리케이션의 쓰기를 중단해 주십시오.
- Source DB의 DB User 관리에서 애플리케이션 서버의 IP를 HOST(IP)로 하는 계정을 생성해 주십시오. DB 권한은 READ 이상으로 지정하고, Stored Procedure와 Function까지 내려받으려면 DDL로 지정해 주십시오.
- 애플리케이션 서버에서 다음 명령으로 데이터를 내려받아 주십시오.
mysqldump -h {Source DB 사설 IP 또는 도메인} -P {포트} -u {계정} -p \ --single-transaction --routines --triggers --events \ --set-gtid-purged=OFF --databases {DB 이름} > backup.sql - Target DB의 DB User 관리에서 애플리케이션 서버의 IP를 HOST(IP)로 하는 계정을 생성하고 이전 대상 DB의 DDL, DML 권한을 부여해 주십시오.
- 애플리케이션 서버에서 다음 명령으로 데이터를 적재해 주십시오.
mysql -h {Target DB Private 도메인} -P {포트} -u {계정} -p < backup.sql - Source DB와 Target DB의 데이터 건수를 비교하고 이전 후 확인 및 전환을 진행해 주십시오.
- Cloud DB for MySQL 계정은 SUPER 권한이 없으므로
--set-gtid-purged=OFF옵션이 필요합니다. - 덤프 파일의 Stored Procedure, Function, Trigger, View에 포함된
DEFINER절의 계정이 Target DB에 없으면 적재 시 오류가 발생합니다. Target DB에 같은 계정을 먼저 생성하거나 덤프 파일에서DEFINER절을 제거한 뒤 적재해 주십시오. - MySQL 접속 허용 호스트는 CIDR 표기를 지원하지 않으므로 대역으로 허용하려면 와일드카드 표기(예: 10.36.xxx.0/24 대역은 10.36.xxx.%)를 사용해 주십시오.
이전 후 확인 및 전환
데이터 이전이 끝나면 다음 순서로 확인하고 애플리케이션을 전환합니다.
- Source DB와 Target DB의 데이터베이스, 테이블 목록과 주요 테이블의 건수를 비교해 주십시오.
- Target DB의 DB User 관리에서 애플리케이션이 사용할 계정을 생성해 주십시오. HOST(IP)는 VPC 환경의 애플리케이션 서버 IP 또는 대역으로 지정합니다.
- Source DB의 DB Config 중 변경한 항목이 있으면 Target DB의 DB Config 관리 에서 동일하게 설정해 주십시오.
- 방법 2로 이전한 경우 삭제된 Event, Trigger, Stored Procedure, Stored Function을 다시 생성해 주십시오.
- 애플리케이션 서버를 VPC 환경으로 이전하고 접속 정보를 Target DB의 Private 도메인으로 변경해 주십시오.
- 전환 후 일정 기간 Source DB를 유지하며 문제가 없는지 확인한 뒤 Classic 환경의 DB Server를 삭제해 주십시오.
- 방법 1을 사용한 경우 Migration 작업과 Endpoint를 삭제해 주십시오. Classic Path가 더 이상 필요 없으면 Classic Path 메뉴 상단의 [Classic Path 이용 중] 드롭다운를 클릭한 뒤 **[Classic Path 삭제]**를 클릭해 삭제해 주십시오.
문제 해결
Classic Path 구성과 데이터 이전 과정에서 발생할 수 있는 문제와 점검 항목은 다음과 같습니다. DMS 작업 자체에서 발생한 문제는 Database Migration Service 문제 해결 가이드의 일반적인 문제와 DB 접속 설정 문제를 참조해 주십시오.
| 증상 | 점검 항목 |
|---|---|
| VPC 생성 시 CIDR 오류 메시지 표시 |
|
| Classic Path 생성 창에 VPC 목록 미표시 |
|
| Source DB 포트 접속 시 응답 없음, DMS Test Connection 실패 |
|
| Object Storage 백업 파일로 생성한 Target DB에 데이터 없음 |
|
| mysqldump 적재 시 DEFINER 오류 |
|