NCP

[NCP] Classic to VPC

안녕하세요. ManVSCloud 김수현입니다.

2020.09.17 VPC(Virtual Private Cloud)가 출시되고 네이버 클라우드에서도 VPC를 이용한 격리된 네트워크 환경 구성이 가능해졌습니다.
하지만 기존 사용자들은 Classic에서 서비스를 사용 중이었기에 VPC로 이전하는 쉽지않은 작업으로 다소 고려해야할 될 사항들에 대한 고민이 있었을 것입니다.

최근 Naver Cloud Platform Classic 플랫폼에서 VPC로 이미지를 복제할 수 있는 기능이 추가되어 Server Image를 Classic to VPC 하는 포스팅을 해볼까합니다.

우선 이미지 복제 테스트용 간단한 APM 서버 하나를 만든 뒤 테스트하였습니다.

Apache 2.4.6, php8.0.3, MySQL 8.0.21 버전이며 MySQL은 Local이 아닌 Cloud DB for MySQL로 사용중입니다. 또한 NAS가 추가로 연결되어있는 것을 확인할 수 있습니다.

그럼 이제 Classic Server Image 를 VPC로 복제하도록 하겠습니다.


Classic to VPC

Classic 플랫폼에서 Server는 이미지 생성을 위해 [정지] 상태가 되어야합니다.

서버 [정지] 후 “내 서버 이미지 생성”을 선택하여 이미지를 생성해줍니다.
이후 Server Image로 이동하면 선택한 서버의 이미지가 생성되는 것을 확인할 수 있습니다.

생성된 이미지를 선택하고 [VPC로 복제]를 선택하여 복제해줍시다.

서버 이미지 크기는 기존 서버에 장착된 모든 스토리지 크기의 합이 나옵니다(NAS 제외)

복제 신청 후 Platform을 Classic에서 VPC로 변경해주고 VPC의 Server – Server Image로 이동해줍니다.
VPC Server Image에서 이미지가 잘 복제되어 생성되고 있습니다.

이미지가 생성되는 동안 해당 VPC, Subnet, Network ACL, ACG 등을 구성해주어야합니다.

격리된 나만의 네트워크가 다 구성이 되었다면 Server Image로 다시 돌아갑니다.

Classic으로부터 복제된 이미지를 선택해주고 [+서버 생성]을 해줍시다

서버 생성 시 먼저 만들어둔 VPC, Subnet에 맞춰 하나하나 선택해줍니다.

예를 들어 스토리지 종류 선택 시 SSD로 체크하게 되면 이전 Classic에서 사용했던 스토리지 중에 HDD로 사용하던 스토리지도 SSD로 생성되었습니다.

그렇다면 SSD는 HDD보다 조금 더 비용이 추가될텐데 나는 조금이라도 비용 절감을 하기 위해 HDD로 변경하고싶다면?

쉽게 가능합니다. 서버 생성 후 만들어진 SSD 스토리지를 선택하여 아래와 같이 스냅샷을 생성합니다.

스냅샷 생성 후 VPC-Server-Snapshot으로 이동하여 생성된 스냅샷으로 [+스토리지 생성]을 해줍시다.
이때 스토리지 종류를 선택할 수 있게됩니다.
HDD로 생성하여 추가해줍시다.
(기존에 붙여진 SSD 스토리지를 제거하지 않고 추가할 경우 /dev/xvdc로 생성됩니다.)

추가된 스토리지를 서버내에서 마운트 작업을 해줍시다!

Classic 플랫폼의 Server Image를 이용해서 VPC로 복제하고 복제한 이미지를 이용해서 서버를 생성하는 방법까지 진행해보았습니다.

하지만 여기까지해도 사이트는 정상적으로 출력되지 않을 것입니다.

왜냐하면 Classic 플랫폼의 Server만 복제해왔기때문이죠.
Cloud DB for MySQL과 NAS가 Classic에 있어 연결되지 않은 상태입니다.

기존에 Cloud DB for MySQL을 사용했을 때 간단하게 아래와 같이 두 가지 케이스를 가져와보았습니다.

1) “Classic Cloud DB for MySQL 도 옮길 때 같이 VPC Cloud DB for MySQL로 옮기고 싶어요.”
▶ Server 이미지 복제 전에 해당 서버에 mysqldump를 이용하여 Cloud DB for MySQL내에 DB를 복제합니다.

[root@classic-to-vpc backup]# mysqldump -h db-5sal9.cdb.ntruss.com -u manvscloud -p manvscloud > /backup/manvscloud_20210306.sql
Enter password: 
[root@classic-to-vpc backup]# ll
total 504
-rw-r--r-- 1 root root 512263 Mar  6 12:01 manvscloud_20210306.sql

이후 VPC에서 Cloud DB for MySQL을 생성하고 VPC에 복제된 서버에서 mysql 명령어로 VPC Cloud DB for MySQL로 복원해줍니다.

ex) mysql -h [VPC_CloudDBforMySQL Host] -u manvscloud -p manvscloud < /backup/manvscloud_20210306.sql

이후 변경된 VPC Cloud DB for MySQL의 host로 서버내에 DB와 커넥트 시켜야하는 설정파일에서 변경해줍니다.

2) “Cloud DB for MySQL는 그대로 Classic으로 쓰고 이후에 VPC로 옮기고 싶어요.”
▶ Classic Cloud DB for MySQL에서 사용중인 DB를 선택하고 [DB관리]-[Public 도메인 관리]를 선택합니다. 또한 해당 DB의 ACG에서 VPC에 복제된 서버의 공인 IP를 추가해줍니다.

이후 생성된 Cloud DB for MySQL에 생성된 public 도메인을 VPC 서버내에 DB와 커넥트 시켜야하는 설정파일에서 변경해줍니다.

Cloud DB for MySQL 뿐만 아니라 NAS 역시 연결되어있었다면 VPC 환경으로 다시 옮겨주어야합니다. 만약 기존 Classic 환경에서 웹 서비스를 운영중이었고 NAS 스토리지로 데이터가 저장된다거나 불러오는 것들이 있다면 반드시 NAS의 데이터도 이전 작업이 필요할 것입니다.

우선 오늘은 간단하게 Classic 플랫폼에서 VPC 플랫폼으로 Server Image를 복제해보았습니다.

우선 VPC 플랫폼으로 복제 후 나머지 DB 같은 것도 같이 이전 작업을 해보았는데
너무 깔끔하게 잘 되어 기쁩니다.

물론 간단한 서비스만 이용하여 플랫폼 이동 작업을 테스트하였지만
다른 추가적인 서비스를 사용 중이라면 추가적으로 고려해야할 부분이 존재할 것으로 보입니다.

서버 이미지가 VPC로 복제되는 소식을 전해주신 리눅서님에게 감사드리며
이상 Naver Cloud Platform 의 Server Image Classic to VPC 포스팅을 마치겠습니다.

긴 글 읽어주셔서 감사합니다.

Previous Post Next Post

You Might Also Like

No Comments

Leave a Reply