Cloud DB for MSSQL VPC Migration

Prev Next

Cloud DB for MSSQL VPC Migration 에서는 네이버 클라우드 플랫폼의 Classic 환경에서 운영 중인 Cloud DB for MSSQL을 VPC 환경으로 이전하는 방법을 안내합니다.

Cloud DB for MSSQL VPC Migration 에서 설명하는 내용은 다음과 같습니다.

  • Classic Path Service 생성
  • 백업용 서버 생성
  • 데이터베이스 백업
  • VPC Peering 구성
  • 이관 대상 Cloud DB for MSSQL 생성
  • 데이터베이스 복원 및 SID 문제 해결

cdb_mssql_vpcmigration_diagram

각 단계의 절차는 아래 내용을 따라 순서대로 수행해 주십시오.

Classic Path Service 생성

Classic 환경과 VPC 환경 간 데이터 전송을 위한 Classic Path Service를 생성합니다.

Classic Path용 VPC 생성

Classic Path 서비스를 구성하기 위해 전용 VPC를 먼저 생성해야 합니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 i_menu > Services > Networking > VPC > VPC Management 를 차례대로 클릭해 주십시오.
  2. [VPC 생성] 버튼을 클릭하고, 아래 정보를 입력해 주십시오.
    cdbformssql_classiccdbmigration_3_ko
    • VPC 이름: 생성할 VPC의 이름
    • IP 주소 범위: 10.36.192.0/19 (Classic Path VPC 전용 CIDR 대역)
    • 유형: NORMAL
  3. 입력 완료 후 [생성] 버튼을 클릭해 주십시오.

Classic Path 생성

Classic 환경과 VPC 환경을 연결하기 위한 Classic Path를 생성합니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 i_menu > Networking > Classic Path 메뉴를 차례대로 클릭해 주십시오.
  2. [Classic Path 생성] 버튼을 클릭하고, 아래 정보를 입력해 주십시오.
    cdbformssql_classiccdbmigration_4_ko
    • Classic Path 이름: 생성할 Classic Path의 이름
    • VPC: 위에서 생성한 VPC
    • 메모: Classic Path 관련 메모로, [수정] 버튼을 클릭해 수정 가능
  3. 입력 완료 후 [생성] 버튼을 클릭해 주십시오.

Subnet 생성

생성한 Classic Path 전용 VPC에 Subnet을 추가로 생성합니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 i_menu > Services > Networking > VPC > Subnet Management를 차례대로 클릭해 주십시오.

  2. [Subnet 생성] 버튼을 클릭하고, 아래 정보를 입력해 주십시오.
    cdbformssql_classiccdbmigration_5_ko

    • Subnet 이름: Subnet의 이름
    • VPC: Classic Path에서 생성한 VPC
    • IP 주소 범위: Subnet의 IP 주소 범위
    • 가용 Zone: Subnet이 배치된 가용 Zone
    • Network ACL: Subnet에 적용된 Network ACL
    • Internet Gateway 전용 여부: Subnet의 인터넷 연결 여부, Public Subnet은 Y로 표시되고 Private Subnet은 N으로 표시
  3. 입력 완료 후 [생성] 버튼을 클릭해 주십시오.

백업용 서버 생성

백업 파일을 임시로 저장하고 복원 작업에 사용할 애플리케이션 서버를 생성합니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 i_menu > Server > Server > 서버 생성 메뉴를 차례대로 클릭해 주십시오.
  2. 서버 설정 탭에서 아래 항목을 순서대로 설정해 주십시오.
    cdbformssql_classiccdbmigration_6_ko
    • VPC: Classic Path에서 생성한 VPC
    • Subnet: VPC 접근 시 사용할 Subnet 선택
    • 서버 개수: 생성할 서버의 개수
    • 서버 이름: 생성할 서버의 이름
    • 공인 IP: 원격 접속이 필요한 경우 [새로운 공인 IP 할당] 선택
    • 메모: 서버 관련 메모로, [수정] 버튼을 클릭해 수정 가능

디스크 용량 설정

백업 서버에 필요한 만큼 디스크 크기를 조정합니다.

  1. 스토리지 설정 화면에서 아래 정보를 확인하거나 수정해 주십시오.
    cdbformssql_classiccdbmigration_7_ko
    • 스토리지 이름: 사용할 스토리지 이름
    • 스토리지 유형: 사용할 스토리지 유형
    • 스냅샷 이름: 생성 시 선택한 이름으로 자동 설정
    • 크기: 백업 용량에 따라 100GB 이상 권장
    • 스토리지 타입: 사용할 블록 스토리지 타입
    • IOPS: 기본 값 혹은 성능 요구에 따라 설정
참고

기본 디스크 외에 추가 디스크가 필요한 경우, [스토리지 추가] 버튼을 클릭하여 설정할 수 있습니다.

백업 폴더 생성 및 공유 설정

백업용 서버에 공유 폴더를 생성하고, MSSQL 백업 파일을 저장할 수 있도록 Everyone 권한을 부여합니다.

  1. 백업에 사용할 폴더를 선택해 주십시오.
    cdbformssql_classiccdbmigration_10-1_ko

  2. 생성한 폴더에서 마우스 우측 버튼을 클릭한 후, [backup Properties] 속성 창을 열어 주십시오.
    cdbformssql_classiccdbmigration_10-2_ko

  3. 상단 탭에서 [Sharing] 을 선택하고, [Share…] 버튼을 클릭해 주십시오.

  4. Choose people to share with 창이 나타나면, 드롭다운 메뉴에서 Everyone을 선택한 뒤 [Add] 버튼을 클릭해 주십시오.

  5. EveryonePermission LevelRead/Write로 변경해 주십시오.

  6. 하단의 [Share] 버튼을 클릭해 공유해 주십시오.

  7. 추후 SQL Server 백업 시 사용할 Network Path를 확인해 주십시오.

  8. [Close] 버튼을 눌러 완료해 주십시오.

참고

Network Path 는 MSSQL BACKUP DATABASE 명령어의 TO DISK 경로로 사용됩니다.

암호 보호 공유 해제

백업 폴더에 접근할 수 있도록 암호 보호 공유 및 공용 폴더 공유 설정을 해제합니다.
cdbformssql_classiccdbmigration_11_ko

  1. 애플리케이션 서버에서 Control Panel > Network and Internet > Network and Sharing Center > Advanced sharing settings 순서로 이동해 주십시오.
  2. All Networks 섹션을 펼친 후 아래 항목을 각각 설정해 주십시오.
    • Public folder sharing: Turn off Public folder sharing 선택
    • Password protected sharing: Turn off password protected sharing 선택
  3. 설정이 완료되면 [Save changes] 버튼을 클릭해 저장해 주십시오.

Classic DB Server 정보 확인

백업 대상인 Classic 환경의 Cloud DB for MSSQL 인스턴스 정보를 확인합니다.

  1. 네이버 클라우드 플랫폼 콘솔의 Classic 환경에서 i_menu > Services > Database > Cloud DB for MSSQL > DB Server 메뉴를 클릭해 주십시오.
    cdbformssql_classiccdbmigration_12_ko
  2. 생성된 DB Server 목록에서 대상 인스턴스를 선택해 주십시오.
  3. 마이그레이션 대상과 동일한 네트워크 대역인지 확인해 주십시오.

Classic DB 접속 허용을 위한 ACG 규칙 추가

애플리케이션 서버에서 Classic DB Server로 직접 접근이 필요한 경우, ACG에 접속 허용 규칙을 수동으로 추가합니다.

  1. 위에서 확인한 DB Server의 ACG 이름 옆 [규칙 보기] 버튼을 클릭해 주십시오.
    cdbformssql_classiccdbmigration_13_ko
  2. ACG 규칙 설정 창에서 아래 항목을 입력해 주십시오.
    • 프로토콜: TCP
    • 접근 소스: 애플리케이션 서버의 공인 IP 또는 [myIP] 버튼 클릭으로 자동 입력
    • 허용 포트: 1433
    • 메모: ACG 규칙 관련 메모로, [수정] 버튼을 클릭해 수정 가능
  3. [추가] 버튼 클릭 후, [적용] 버튼을 눌러 설정을 저장해 주십시오.
주의

애플리케이션 서버가 Classic DB에 직접 접속해야 하는 경우에만 설정해 주십시오.

데이터베이스 백업

기존 Classic DB에서 생성한 백업용 애플리케이션 서버의 공유 폴더로 데이터를 백업합니다.

Classic Cloud DB for MSSQL 마이그레이션 대상 데이터베이스 준비

백업 및 마이그레이션을 위해 Classic 환경에서 사용할 데이터베이스를 생성합니다.
cdbformssql_classiccdbmigration_14_ko

  1. SQL Server Management Studio(SSMS)를 실행한 후, 다음 정보를 입력하여 Classic Cloud DB for MSSQL에 접속해 주십시오.
    • 서버 유형: 데이터베이스 엔진
    • 서버 이름: DB 서버 정보
    • 인증: SQL Server 인증
    • 로그인: 해당 DB 계정의 아이디
    • 암호: 해당 DB 계정의 암호
  2. 연결 후, 아래 예시와 같이 테스트용 테이블을 생성해 주십시오.
    cdbformssql_classiccdbmigration_14-2_ko
USE cpathdb1
GO

CREATE TABLE tblx (
  idx INT IDENTITY(1,1)
)
GO

INSERT INTO tblx DEFAULT VALUES
GO 2

SELECT * FROM tblx
GO
  1. 결과 탭에서 데이터가 정상적으로 나오는지 확인해 주십시오.

VPC Route Table에서 CLASSICPATH Route 추가

Classic 환경과 통신하기 위해 CLASSICPATH 대상 라우트 항목을 추가합니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 i_menu > Services > Networking > VPC > Route Table 메뉴를 클릭해 주십시오.
    cdbformssql_classiccdbmigration_15-1_ko

  2. Public Subnet용 Route Table을 선택한 후 [Routes 설정] 버튼을 클릭해 주십시오.

cdbformssql_classiccdbmigration_15-2_ko

  1. [생성] 버튼을 클릭하고 아래 값을 입력해 주십시오.
    • 목적지(Destination): 10.0.0.0/8
    • Target 유형: CLASSICPATH
    • Target 이름: 설정한 Classic Path 이름
  2. 입력이 완료되면 [확인] 또는 [적용] 버튼을 클릭해 설정을 저장해 주십시오.

백업용 서버 ACG 설정

MSSQL 서버가 백업 서버의 공유 폴더에 접근할 수 있도록 ACG 규칙을 변경합니다.

  1. 백업용 애플리케이션 서버에 적용된 ACG를 확인해 주십시오.
  2. 콘솔에서 해당 ACG의 [규칙 보기] 버튼을 클릭해 주십시오.
    cdbformssql_classiccdbmigration_16-1_ko
  3. [Inbound 규칙] 탭에서 아래 규칙이 포함되어 있는지 확인해 주십시오.
    • 프로토콜: TCP
    • 접근 소스: 10.0.0.0/8
    • 허용 포트: 445
  4. 해당 규칙이 없다면 동일한 항목을 적용하고 [확인] > [적용] 버튼을 차례대로 클릭해 주십시오.

Classic Cloud DB for MSSQL 백업

Classic 환경의 데이터베이스를 애플리케이션 서버의 공유 폴더로 백업합니다.

  1. SQL Server Management Studio(SSMS)에 접속해 주십시오.

cdbformssql_classiccdbmigration_17_ko

  1. 아래 예시와 같이 쿼리를 입력하고 순차적으로 실행해 주십시오.
CREATE TABLE tblx (
    idx INT IDENTITY (1,1)
);
GO

INSERT INTO tblx DEFAULT VALUES;
GO 2

SELECT * FROM tblx;
GO

BACKUP DATABASE cpathdb1
TO DISK = '\\10.36.192.6\backup\cpathdb1.full'
WITH INIT;
GO
  1. 하단 메시지 탭에 “BACKUP DATABASE successfully processed...” 메시지와 함께 완료 시간이 출력되는지 확인해 주십시오.

Classic Cloud DB for MSSQL 관리자 계정 SID 확인

복원 대상 환경에서 동일한 로그인 계정을 생성하기 위해 Classic DB의 SID 값을 확인합니다.

  1. SQL Server Management Studio(SSMS)에 접속해 주십시오.

cdbformssql_classiccdbmigration_18_ko

  1. 아래 쿼리를 입력하고 실행해 주십시오.
SELECT SID
FROM master.sys.sql_logins
WHERE name = 'testadmin'

VPC Peering 구성

Classic Path VPC와 운영 중인 VPC 간의 통신을 위해 Peering을 구성합니다.

Classic Path VPC와 운영 중인 VPC 정보 확인

Classic Path VPC와 마이그레이션 대상 VPC의 CIDR 대역을 확인해 주십시오.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 i_menu > Services > Networking > VPC > VPC Management 메뉴를 클릭해 주십시오.

cdbformssql_classiccdbmigration_19-1_ko

  1. 다음 항목을 확인해 주십시오.

    • Classic Path 전용 VPC의 CIDR
    • 운영 중인 VPC의 CIDR
  2. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 i_menu > Services > Networking > VPC > Subnet Management 메뉴를 클릭해 주십시오.

cdbformssql_classiccdbmigration_19-2_ko

  1. 다음 항목을 확인해 주십시오.
    • Classic Path VPC의 Subnet
    • 운영 중인 VPC의 Subnet
주의

CIDR 대역이 중복되면 VPC Peering 구성이 불가합니다.

Route Table에서 CLASSICPATH 라우트 삭제

VPC Peering 라우트 작업을 위해 CLASSICPATH 라우트를 삭제합니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 i_menu > Services > Networking > VPC > Route Table 메뉴를 클릭해 주십시오.

cdbformssql_classiccdbmigration_20_ko

  1. 삭제할 라우트가 설정된 Public Subnet용 Route Table을 선택한 후, [Routes 설정] 버튼을 클릭해 주십시오.
  2. 다음 조건에 해당하는 라우트 항목을 찾은 후 [삭제] 버튼을 클릭해 주십시오.
    • 목적지(Destination): Classic Path 환경에 속한 IP 주소
    • Target 유형: CLASSICPATH
    • Target 이름: 생성된 Classic Path 이름
  3. [적용] 버튼을 눌러 변경 사항을 저장해 주십시오.

Classic Path VPC와 사용자 VPC 간 VPC Peering 구성

Classic Path VPC와 사용자 VPC 간 통신을 위해 VPC Peering을 반드시 양방향으로 구성해야 합니다. 각 VPC는 서로 다른 CIDR 대역이어야 하며, 한 번씩 요청자-수락자 역할을 바꿔 두 건의 Peering을 생성해 주십시오.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 i_menu > Services > Networking > VPC > VPC Peering 메뉴를 차례대로 클릭해 주십시오.

cdbformssql_classiccdbmigration_21_ko

  1. [VPC Peering 생성] 버튼을 클릭하고 아래 정보를 입력해 주십시오.

    • 요청 VPC: Classic Path VPC (vpccpath)
    • 수락 VPC: 사용자 VPC (mssqlvpc)
    • 요청 VPC IP 주소 범위: 10.36.192.0/19
    • 수락 VPC IP 주소 범위: 10.0.0.0/16
  2. 동일하게 반대 방향 Peering을 한 번 더 생성해 주십시오.

    • 요청 VPC: 사용자 VPC (mssqlvpc)
    • 수락 VPC: Classic Path VPC (vpccpath)
    • 요청 VPC IP 주소 범위: 10.0.0.0/16
    • 수락 VPC IP 주소 범위: 10.36.192.0/19
  3. 두 Peering 모두 상태가 ‘운영중’ 인지 확인해 주십시오.

Route Table 설정

Peering이 정상적으로 구성되었다면, 각 VPC에서 상대 VPC를 목적지로 지정하는 Route 설정을 추가해야 합니다.

  1. Classic Path VPC → 사용자 VPC 경로 설정

    • VPC > Route Table 메뉴로 이동
    • vpccpath-default-public-table 항목 선택
    • Routes 탭에서 다음 항목이 존재하는지 확인
      cdbformssql_classiccdbmigration_22_ko
      • 목적지: 10.0.0.0/16
      • Target 유형: VPCPEERING
      • Target 이름: classicpathvpc2vpc
    • 해당 경로가 없을 경우, 수동으로 추가해 주십시오.
  2. 사용자 VPC → Classic Path VPC 경로 설정

    • 동일하게 사용자 VPC의 Route Table을 선택 (mssqlvpc-default-public-table)
    • Routes 탭에서 다음 항목이 존재하는지 확인
      cdbformssql_classiccdbmigration_23_ko
      • 목적지: 10.36.192.6/32
      • Target 유형: VPCPEERING
      • Target 이름: vpc2classicpathvpc

이관 대상 Cloud DB for MSSQL 생성

백업 데이터 이관을 위해 VPC 환경에 Cloud DB for MSSQL 인스턴스를 사전 생성합니다.

VPC Cloud DB for MSSQL ACG 설정

VPC 환경의 Cloud DB for MSSQL 인스턴스가 백업 서버의 공유 폴더에 접근할 수 있도록 ACG 설정을 확인합니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 i_menu > Services > Database > Cloud DB for MSSQL > DB Server > DB Server 상세 화면 > ACG > [규칙 보기] 를 차례대로 클릭해 주십시오.
  2. 아래 ACG 규칙이 포함되어 있는지 확인해 주십시오.
    cdbformssql_classiccdbmigration_25-2_ko
    • Outbound 규칙
      • 프로토콜: TCP
      • 목적지: 10.36.192.6/32
      • 허용 포트: 445

VPC Cloud DB for MSSQL 서버 확인

백업 파일을 이관할 VPC 환경의 Cloud DB for MSSQL 인스턴스를 확인합니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 i_menu > Services > Database > Cloud DB for MSSQL > DB Server 메뉴를 클릭해 주십시오.

cdbformssql_classiccdbmigration_24_ko

  1. 이관 대상 DB Server 항목을 선택하고, 아래 항목을 확인해 주십시오.
    • DB 서비스 이름: 복원 대상 DB 의 서비스 이름
    • DB 엔진 버전: 복원 대상 DB 의 엔진 버전
    • VPC : 복원 대상 DB가 연결된 VPC 이름
    • Subnet : 복원 대상 DB가 배치된 서브넷 이름
    • 접속 포트: 1433
    • ACG 이름: 해당 DB 인스턴스에 연결된 접근 제어 그룹 이름

데이터베이스 복원 및 SID 문제 해결

Classic Path VPC의 애플리케이션 서버에 백업된 데이터를 VPC 환경의 Cloud DB for MSSQL 인스턴스에 복원합니다.

백업 파일을 활용한 데이터베이스 복원

Peering을 통해 연결된 Classic Path VPC의 공유 폴더 경로에서 백업 파일을 참조하여 복원을 수행합니다.

  1. SQL Server Management Studio(SSMS)를 실행한 후 VPC 환경의 MSSQL 서버에 접속해 주십시오.
  2. 아래 쿼리를 실행해 복원을 수행해 주십시오.
    cdbformssql_classiccdbmigration_26_ko
RESTORE DATABASE cpathdb1
FROM DISK = '\\10.36.192.6\backup\cpathdb1.full'
WITH REPLACE;
  1. 복원이 완료되면 출력 메시지에서 "Processed" 및 "RESTORE DATABASE successfully" 문구를 확인할 수 있습니다.

SID 기반 계정 생성 및 로그인 검증

복원한 데이터베이스에 대해 사용자 계정이 기존 Classic 환경과 동일한 SID로 생성되지 않으면 접근이 제한될 수 있습니다. 이를 방지하기 위해 기존 Classic DB에서 확인한 SID 값을 사용해 로그인 계정을 생성하고, 해당 계정으로 접속이 가능한지 확인합니다.

  1. SQL Server Management Studio(SSMS)에서 마스터 데이터베이스에 접속해 주십시오.
  2. 아래 구문을 실행해 주십시오.

cdbformssql_classiccdbmigration_27_ko

CREATE LOGIN AServerAdmin
WITH PASSWORD='P@ssw0rd'
, SID=0x3D75220DEFFB564588417C6A6EBC7BB7
, DEFAULT_DATABASE=[master]
, CHECK_POLICY=OFF
, CHECK_EXPIRATION=OFF
GO
  1. 명령어 실행 후 "명령이 완료되었습니다." 메시지가 나타나는지 확인합니다.
  2. 이후 SSMS의 서버 연결 창을 실행해 주십시오.

cdbformssql_classiccdbmigration_28_ko

  1. 아래 항목을 입력하고 연결을 시도해 주십시오.
    • 서버 이름: VPC 환경의 DB 서버 주소
    • 인증: SQL Server 인증
    • 로그인: 사용자 계정 아이디
    • 암호: 사용자 암호
참고

Classic 환경에서 사용된 계정과 동일한 SID를 부여해야만 데이터베이스 내 사용자와 연동되어 정상적인 접근이 가능합니다.

VPC Cloud DB for MSSQL 콘솔 사용자에게 복원한 데이터베이스의 DB-OWNER 권한 부여

복원된 데이터베이스에 기존 콘솔 사용자 계정을 연결하고 db_owner 권한을 부여합니다.

cdbformssql_classiccdbmigration_29_ko

  1. SQL Server Management Studio(SSMS)에서 복원된 데이터베이스에 접속합니다.
  2. 아래 SQL 문을 실행하여 콘솔 사용자 계정을 생성하고, db_owner 역할을 부여해 주십시오.
USE cpathdb1
GO

CREATE USER testadmin FOR LOGIN testadmin
GO

ALTER ROLE [db_owner] ADD MEMBER testadmin
GO
참고

쿼리가 성공적으로 실행되면 콘솔 사용자 계정 testadmincpathdb1 데이터베이스의 모든 권한을 갖게 됩니다.

복원된 데이터베이스에서 콘솔 Admin 계정으로 복원된 데이터 확인

SID 복원 및 권한 설정이 완료된 후, 콘솔 사용자 계정으로 데이터베이스에 접속하여 복원이 정상적으로 수행되었는지 확인합니다.

cdbformssql_classiccdbmigration_30_ko

  1. SQL Server Management Studio(SSMS)에서 콘솔 사용자 계정으로 cpathdb1 데이터베이스에 접속해 주십시오.
  2. 아래 쿼리를 실행하여 데이터가 정상적으로 복원되었는지 확인해 주십시오.
SELECT * FROM tblx
참고

데이터가 조회되지 않는 경우, 로그인 SID 일치 여부 또는 사용자 권한 부여 상태를 다시 확인해 주십시오.
복원 및 접근 권한 설정이 완료되면 tblx 테이블에 복원 전 입력했던 데이터가 정상적으로 출력됩니다.