GCP 리전 변경을 위한 워드프레스 사이트 이전 성공담

Last Updated on 2021-09-23 by BallPen

구글 클라우드 플랫폼에서 워드프레스 서버를 리전(region) 변경하여 안전하게 이전하는 방법을 알려드립니다.

GCP 리전 변경 이란 : GCP (Google cloud platform, 구글 클라우드 플랫폼)의 한 리전(region)에서 운영하던 VM 인스턴스를 다른 리전으로 변경하는 것을 말합니다.

저는 블로그를 us-east1 (사우스캐롤라이나) 리전에서 운영하고 있었어요.

그런데 아래 링크 글에서 말씀드렸듯이 GCP 약정 사용 할인을 us-east1이 아닌 asia-northeast1 (도쿄) 리전으로 잘못 구매하면서 문제가 생겼었죠.

GCP 약정 사용 할인을 받기 위한 구매 절차와 방법

잘 아시듯이 GCP 약정 사용 할인은 취소가 되지 않습니다. 약정된 기간동안 사용 여부와 무관하게 무조건 비용을 지불해야 합니다.

따라서 제가 시도한 방법은 우선 asia-northeast1 리전에 VPN 서버를 개설했어요. 그게 아래 링크 글이었습니다.

VPN 서버 구축을 위한 VM 인스턴스를 GCP에 만들기

그래도 약정 시스템과 비용 낭비가 심해 결국 us-east1에서 운영하던 블로그 전체를 리전의 벽을 넘어 asia-northeast1으로 이전을 시도하게 되었습니다.

이글은 그와 관련된 내용입니다.

1. GCP 리전과 영역

구글 클라우드 플랫폼, 즉 GCP에서 운영하는 리전(region)은 2021.8월 기준 27개이고, 영역(zone)은 82개 입니다.

GCP에서 운영하는 리전 및 영역 등의 갯수
GCP에서 운영하는 리전 및 영역 등의 갯수

리전이란 영역들로 구성된 독립적인 지리적 위치를 뜻합니다. 그러한 리전에는 구글이 소유한 데이터 센터들이 있습니다. 그리고 영역이란 장애발생시 대처할 수 있는 단위 구역으로 보시면 됩니다.

예를들어 us-east1(사우스캐롤라이나) 리전에는 us-east1-b, us-east1-c, us-east1-d의 총 3개의 영역이 있습니다.

이와 같이 한 리전에는 여러개의 영역이 존재하며, 그 중 한 영역이 자연 재해 등에 의해 손실되더라도 다른 영역에 의해 복구될 수 있게 됩니다.

그리고 일단 리전과 리전은 서로 분리된 리소스로 보시면 되고, 리전내에 있는 영역과 영역은 서로 연결된 리소스로 보시면 간편합니다.

따라서 재난 발생시 재해 복구 목적으로 데이터를 백업받기 위해서는 서로 다른 지리적 위치를 갖는 리전에 데이터를 복제해 놓는 것이 제일 좋습니다.

이때 리전과 리전이 완벽히 분리된 것으로 보지는 마세요. 멀티 리전 리소스의 경우 리전 간에 중복되고 분산되도록 관리되기도 한답니다.

2. GCP 영역 변경 위한 워드프레스 사이트 이전

예를 들어 동일 리전의 한 영역에서 다른 영역으로 워드프레스 사이트를 이전해야 하는 경우입니다.

예를 들어 us-east1(사우스캐롤라이나) 리전의 us-east1-b 영역에서 VM 인스턴스를 운영하다가 us-east1-c로 영역을 변경하고자 하는 경우입니다.

이러한 경우를 제가 직접 해본 경험은 없습니다만, 이와 관련된 구글의 공식 가이드는 분명히 존재합니다.

영역 간 VM 인스턴스 이동

위에 링크한 가이드에 따르면 영역간 이동의 경우 VM인스턴스를 자동방식으로 이동할 수 있습니다.

'영역간 VM 인스턴스 이동' 가이드 중 '자동으로 VM 이동' 내용에 대한 캡쳐 화면
‘영역간 VM 인스턴스 이동’ 가이드 중 ‘자동으로 VM 이동’ 내용에 대한 캡쳐 화면

또한 ‘수동으로 VM 이동’에 대한 내용도 있으니 가이드를 참고하시기 바랍니다.

3. GCP 리전 변경 위한 워드프레스 사이트 이전

이제부터가 이번 글의 본론 시작입니다.

방금전 위에서 영역간에 VM 인스턴스를 이동하는 방법에 대해 소개해드렸는데요. 실제로 이 방법으로 국내외 많은 분들이 영역 이동을 하고 있습니다.

문제는 구글 클라우드 리전 이동입니다. GCP 리전 변경 또는 리전 이동에 대한 공식 문서는 정말 찾아보기 힘듭니다. 많은 분들이 영역 이동 방법을 리전 이동에 그대로 적용하여 시도하는 것 같은데 성공했다는 답글도 찾기 어려워요.

또한 영역 이동 방법에서 제시한 방법 중에 스냅샷을 만들고 VM을 삭제하고 하는 일련의 과정이 겁나서 못하겠더라구요. 제가 그동안 성장시킨 블로그를 자칫 영원히 잃어버릴 것 같았어요.

그래서 여러 고민을 하다가 ‘UpdraftPlus WordPress Backup Plugin‘을 활용해 이전을 시도했어요.

내용 전개 편의상 A리전이 있고 B리전이 있다고 보겠습니다. 그리고 현재의 워드프레스는 A리전에 설치되어 있고 그것을 B리전으로 변경하는 상황을 가정하겠습니다.

(1단계) 현재 리전(A리전)의 워드프레스를 UpdraftPlus WordPress Backup Plugin으로 백업 받기

우선 A리전에서 동작되는 워드프레스에 UpdraftPlus Plugin을 설치하세요. 그리고 활성화하면 아래와 같은 화면을 볼 수 있습니다.

만일 플러그인을 설치하고 활성화하는 방법을 모를 경우에는 인터넷에 있는 다른 문서들을 참고해주시면 감사하겠습니다.

GCP 리전 변경 위해 UpdraftPlus 플러그인으로 현재의 워드프레스를 백업합니다.
GCP 리전 변경 위해 UpdraftPlus 플러그인으로 현재의 워드프레스를 백업합니다.

위 화면 중간에 보시면 ‘지금 백업하기’ 버튼이 있습니다. 그것을 누르시면 아래 창이 나옵니다.

지금 보여지는 것처럼 체크하고 '지금 백업하기'를 클릭하세요.
지금 보여지는 것처럼 체크하고 ‘지금 백업하기’를 클릭하세요.

위 그림처럼 체크하고 ‘지금 백업하기’를 클릭합니다. 그러면 워드프레스와 관련된 모든 파일들이 백업되어 GCP Web-server에 저장됩니다. 아래 그림은 백업이 완료된 후의 화면 모습입니다.

Web-server에 저장된 백업파일들을 하나씩 클릭하여 다운로드하고 컴퓨터에 저장해 놓으세요.
Web-server에 저장된 백업파일들을 하나씩 클릭하여 다운로드하고 컴퓨터에 저장해 놓으세요.

중요한 것은 위 이미지에서 빨강색 상자로 표기한 백업파일들이 GCP Web-server에 있다는 것입니다. 이 백업 파일들을 하나씩 클릭해서 다운받아 여러분의 컴퓨터에 저장해 놓으시기 바랍니다.

다운받아 저장된 파일들은 나중에 B리전 워드프레스로 업로드하여 복원(Restore)할 것이므로 잘 보관하셔야 합니다.

(2단계) 이동할 리전(B리전)에 워드프레스 VM 인스턴스 새로 만들기

이제부터는 B리전에 워드프레스 VM 인스턴스를 새롭게 만드는 작업을 시작합니다. 이미 A리전에 워드프레스 VM 인스턴스를 만들어서 운영하고 있는 상황이니 워드프레스 설치 경험은 있을 것입니다.

A리전에 있는 조건과 동일하게 만드시면 됩니다. 아래 링크를 클릭하면 시작됩니다.

Google Cloud에서 WordPress 실행

설치하는 과정에서 리전 설정할 때 꼭 B리전을 설정해주어야 합니다. 설치가 완료되면 아래와 같은 화면이 나타납니다.

B리전에 워드프레스가 잘 설치되면 이 화면이 니타납니다.
B리전에 워드프레스가 잘 설치되면 이 화면이 니타납니다.

이 화면은 ‘GCP 초기화면의 좌측 상단 햄버거 모양 그림’\(\rightarrow\)’Deployment Manager’\(\rightarrow\)’배포’\(\rightarrow\)’인스턴스 클릭’하면 언제든지 볼 수 있습니다.

가장 우측 단에서 제일 위에 워드프레스 ‘Site address’ 정보가 나오고 여러 계정들에 대한 임시 비밀번호가 나옵니다. 이때 사이트 IP가 달라진 것을 알 수 있습니다. A리전에서 사용하던 IP를 B리전에서 그대로 사용할 수는 없습니다.

이하 아래쪽에서 ‘Site address’라는 표현은 모두 위쪽 그림에서의 ‘Site address’에 기재된 IP주소를 뜻합니다.

더 아래로 내려오면 첫번째 빨강색 상자가 리전 정보입니다.

이전할 리전으로 제대로 설정 되었는지 확인하세요. 만일 틀렸다면 인스턴스를 삭제하고 설치단계부터 다시 시작하면 됩니다.

위 그림에서 중간에 있는 빨강색 사각형 상자를 누르면 워드프레스 관리자 페이지로 로그인 할 수 있습니다. 로그인 해서 들어가세요. 접속 계정과 비밀번호는 위쪽에 ‘WordPress Admin user’와 ‘WordPress Admin password’를 사용하면 됩니다.

(3단계) 이동할 리전(B리전)의 워드프레스에 UpdraftPlus WordPress Backup Plugin을 설치한 후 백업 파일을 Restore 실행하기

지금 B리전에 설치된 워드프레스에 로그인된 상태입니다. 아무런 글도 없고 페이지도 없는 완전 초기 화면만 있을거에요.

우선 Updraft Plugin을 설치 한 후 활성화하세요. 그리고 아래의 화면으로 이동하신 다음에 ‘Upload backup files’을 클릭하세요.

그 다음에 A리전 워드프레스에서 백업하여 컴퓨터에 저장한 파일들을 모두 업로드 하고 Restore 버튼을 클릭하면 됩니다.

이때 창이 하나 뜨는데 무시하시고 Restore를 계속 진행하세요.

A리전에서 백업한 파일들을 업로드하고 Restore 합니다.
A리전에서 백업한 파일들을 업로드하고 Restore 합니다.

이 단계가 마무리되면 A리전에 있던 워드프레스의 글, 페이지, 플러그인, 설정 등이 그대로 모두 B리전의 워드프레스에 복사되어 복원된 것을 알 수 있습니다.

따라서 현재 상태는 접속주소만 서로 다르고 A리전과 B리전에서 완전히 동일한 내용의 블로그가 운영되고 있는 중으로 보시면 됩니다.

이제 4단계로 가시면 됩니다.

(참고) B리전 워드프레스 관리자 페이지에서 로그아웃후 재접속이 안될 때 해결 방법

이때 B리전 워드프레스 관리자 페이지를 로그아웃 한 후 다시 관리자 페이지로 로그인하려면 로그인이 안됩니다.

그 이유는 B리전 워드프레스의 Site address와 복원된 워드프레스 및 사이트 주소가 일치하지 않기 때문입니다. 이 문제는 Restore 될 때 워드프레스 주소가 A리전의 설정들로 그대로 복원되기 때문입니다.

워드프레스 설정에 있는 '워드프레스 주소'와 '사이트주소'
워드프레스 설정에 있는 ‘워드프레스 주소’와 ‘사이트주소’

일단 로그인이 안되더라도 그냥 두고 (4단계)를 진행하면 됩니다. 나중에 로그인이 됩니다. 그런데도 굳이 접속 해야할 필요가 있다면 아래의 방법으로 하세요.

아래 이미지에서 제일 아래쪽 빨강색 상자로 표시된 phpMyAdmin web interface로 접속하세요.

접속 계정과 비밀번호는 아래 이미지에서 위쪽에 쓰여 있는데요. ‘WordPress MySQL user’와 ‘WordPress MySQL password’를 사용하면 됩니다.

phpMyAdmin 접속후 왼쪽 단에서 ‘wp_options’ 를 선택하면 오른쪽 단에 그 내용들을 볼 수 있습니다. 그곳에서 ‘option_name’ 중 siteurl과 ‘home’에 등록된 주소를 바로 위 그림에서 제시된 Site address의 IP주소로 바꾸어 주세요.

그러면 워드프레스 관리자 페이지로 다시 로그인 할 수 있습니다. 이때 관리자 계정은 A리전의 데이터로 복원설정되어 있으므로 이제부터는 A리전에서 사용하던 계정으로 로그인해야 합니다.

관리자 페이지 접속 불가시 아래의 youtube 동영상을 보시면 도움이 될 수 있습니다. GCP상황과 완전히 일치하지는 않지만 그래도 참고가 될 것입니다.

워드프레스 WordPress 주소 변경 방법 (관리자 페이지 접속 불가)

(4단계) Cloud DNS의 A 레코드를 B리전의 Site address IP로 변경하기

이제부터는 Cloud DNS의 A 레코드를 A리전 IP에서 B리전 IP로 변경하세요. 여기서 B리전 IP란 Site address에 기재된 IP를 말합니다.

‘GCP 초기화면의 좌측 상단 햄버거 모양 그림’\(\rightarrow\)’네트워크 서비스’\(\rightarrow\)’Cloud DNS’\(\rightarrow\)’목록에서 영역이름 선택’\(\rightarrow\)’유형’에서 A가 기재된 열의 가장 끝에 있는 ‘레코드 세트 수정’을 클릭하여 B리전 IP로 변경하세요

Cloud DNS의 A레코드 변경을 위해서는 빨강색 사각형 오른쪽 끝에 있는 '레코드 세트 수정' 아이콘을 클릭하세요.
Cloud DNS의 A레코드 변경을 위해서는 빨강색 사각형 오른쪽 끝에 있는 ‘레코드 세트 수정’ 아이콘을 클릭하세요.

이제 B리전 관리자 페이지의 로그인이 아무 문제 없이 잘 될 것입니다. 여기서 중요한 것은 로그인 할 때 A리전에서 사용하던 계정 그대로 사용하면 됩니다.

(5단계) 현재 리전에 있는 워드프레스 VM 인스턴스를 중지(또는 삭제)하기

  • B리전에 설치된 워드프레스의 관리자 페이지가 정상적으로 로그인 되나요?
  • 글이나 페이지, 플러그인 등이 모두 제대로 이전되었나요?
  • 블로그 도메인을 입력했을때 블로그가 정상적으로 잘 나오나요? 아직 https 인증서 작업이 이루어지지 않았기 때문에 http 접속만 가능할 것입니다. 일단 http 접속만 잘 되어도 문제는 없는 것입니다.

위 질문에 모두 YES라면 B리전으로 워드프레스가 잘 이전된 것입니다.

이제는 불필요해진 현재 리전, 즉 A리전 VM 인스턴스를 중지하기 바랍니다.

‘GCP 초기화면의 좌측 상단 햄버거 모양 그림’\(\rightarrow\)’Compute Engine’\(\rightarrow\)’VM 인스턴스’로 이동하면 A리전 워드프레스 VM 인스턴스와 B리전 워드프레스 VM 인스턴스가 모두 실행되고 있을 것입니다.

이 상태로 오래 두게 되면 사이트중복문제나 비용 과다 청구 등의 문제가 발생할 수 있습니다.

불필요한 A리전 VM 인스턴스를 중지하시기 바랍니다.

이 상태에서도 블로그나 웹사이트가 제대로 동작되어야 합니다.

제대로 동작된다면 B리전의 워드프레스가 잘 동작하고 있음을 뜻합니다.

중지된 A리전 VM 인스턴스는 상황을 보아서 더이상 필요가 없다고 판단하면 삭제해도 됩니다.

(6단계) http를 https로 변경하기

http를 https로 변경해야 통신데이터가 암호화되어 민감한 정보의 누출을 방지할 수 있습니다.

이에 대해서는 아래의 링크 글을 참고하기 바랍니다.

구글 클라우드(Google Cloud Platform)에 워드프레스(WordPress) 설치-http를 https로 변경하는 방법 중심으로 설명드립니다.

GCP 리전 변경을 위한 워드프레스 사이트 이전을 완료하였습니다.

4. GCP 리전 변경 방법의 요약 정리

  1. 현재 리전의 워드프레스를 UpdraftPlus WordPress Backup Plugin으로 백업 받기
  2. 이동할 리전에 워드프레스 VM 인스턴스 새로 만들기
  3. 이동할 리전의 워드프레스에 UpdraftPlus WordPress Backup Plugin을 설치한 후 백업 파일을 Restore 실행하기
  4. Cloud DNS의 A 레코드를 B리전의 Site address IP로 변경하기
  5. 현재 리전에 있는 워드프레스 VM 인스턴스를 중지(또는 삭제)하기
  6. 이동한 리전의 http를 https로 변경하기
흥미롭고 도움이 되는 글이었나요? 리뷰를 부탁드립니다.
[Total: 2 Average: 5]

1 thought on “GCP 리전 변경을 위한 워드프레스 사이트 이전 성공담”

Leave a Comment