본문으로 건너뛰기
프로젝트 목록

Com2us Platform · Migration

GCP → Tencent Cloud 무중단 마이그레이션

서머너즈워: 크로니클의 서버 80대·DB 20개를 약 1주일 만에 서비스 중단 없이 GCP에서 Tencent Cloud로 옮긴 프로젝트입니다.

역할
Cloud Engineer · 메인 엔지니어
기간
2023.02 – 2026.02
CSP
GCP · Tencent
규모
서버 80대 · DB 20개
핵심 기술
Terraform · GCP · Tencent Cloud · Online Migration
80
이관한 서버
20
이관한 DB
0
서비스 중단

한눈에 보기

1. 방화벽 먼저네트워크·방화벽 규칙 동일 구성2. Online Migration서버를 이관 도구로 이동3. 비공개 검증동일 인프라 구성 후 개발팀과 확인4. 트래픽 단계 전환검증 후 단계적으로 전환GCPTencent Cloud서버 80대 · DB 20개비공개 운영LIVE약 1주일 · 서비스 중단 0 · gcp.tf → tencentcloud.tf
약 1주일 만에 서비스 중단 없이 끝납니다. 전 과정이 GCP Terraform 코드에서 Tencent Terraform 코드로 남습니다.

문제

라이브 게임의 인프라를 클라우드 간에 옮기면서 서비스를 멈출 수 없었고, 옮기는 과정에서 방화벽 정책이 다르게 적용되면 안 됐습니다.

접근

네트워크와 방화벽 규칙을 Tencent에 GCP와 동일하게 먼저 구성했습니다. 서버는 Online Migration 도구로 옮기고 같은 인프라를 구성한 뒤, 비공개로 운영하며 개발팀과 이슈를 확인하고 트래픽을 단계적으로 전환했습니다. 전 과정은 GCP Terraform 코드를 Tencent Terraform 코드로 옮기는 방식으로 진행했습니다.

결과

약 1주일 만에 서비스 중단 없이 이관을 끝냈습니다. 일부는 GCP에 남기고 대부분의 게임 서버와 DB를 Tencent로 옮겼으며, 방화벽 정책은 전부 검토해 다시 세운 상태로 운영했습니다.

자세히 보기

트래픽 단계 전환LIVEGCPTencent0%100%서비스 중단 0 · 약 1주일
트래픽이 모두 Tencent로 옮겨 갑니다. 서비스 중단은 0입니다.
LIVEGCPTencent Cloud방화벽 규칙이 먼저Online Migration · 서버 블록 80개비공개 운영트래픽 전환약 1주일 · 서비스 중단 0gcp.tf → tencentcloud.tf
두 섬 아래 코드: gcp.tf → tencentcloud.tf

Tencent 보안그룹 리소스 (관련 공개 저장소 pf-03)

이 코드가 하는 일: Tencent Cloud 보안그룹과 그 안의 규칙을 만드는 모듈 코드입니다. 첫 블록은 보안그룹을 만들 때만(local.create) 이름, 설명, 프로젝트, 태그를 붙여 생성하고, 두 번째 블록은 인바운드(ingress)와 아웃바운드(egress) 규칙 목록을 변수로 받아 그 보안그룹에 한 번에 적용합니다. 규칙이 변수로 들어오기 때문에 GCP에서 정리한 방화벽 규칙을 이 형식의 목록으로 옮겨 적으면 같은 정책을 Tencent 쪽에 그대로 세울 수 있습니다.

resource "tencentcloud_security_group" "sg" {
  count       = local.create ? 1 : 0
  name        = var.name
  description = var.description
  project_id  = var.project_id
  tags        = merge(var.tags, var.security_group_tags)
}

resource "tencentcloud_security_group_lite_rule" "lite_rule" {
  count             = var.create_lite_rule ? 1 : 0
  security_group_id = local.this_sg_id
  ingress           = var.ingress_for_lite_rule
  egress            = var.egress_for_lite_rule
}

배운 점

클라우드 간 이관에서 가장 먼저 할 일은 서버를 옮기는 것이 아니라 두 클라우드의 리소스를 역할별로 짝지어 보는 일이었습니다. 네트워크, 서브넷, 방화벽, 서버의 대응표를 먼저 정리하니 GCP Terraform 코드를 Tencent Terraform 코드로 옮기는 작업이 단순해졌고, 방화벽 정책도 옮기는 김에 전부 검토해 다시 세울 수 있었습니다. 서비스를 멈추지 않는 비결도 한 번에 바꾸지 않는 데 있었습니다. 같은 인프라를 먼저 구성해 비공개로 운영하며 개발팀과 이슈를 확인하고, 트래픽은 단계적으로 넘겼습니다. 인프라는 코드로 남았지만 트래픽 전환 절차까지 코드와 런북으로 남겨야 다음 이관에서도 같은 결과를 재현할 수 있다는 점을 배웠습니다.

관련 현장 노트

Open to work · 클라우드 인프라/보안

테마 고르기

사원증을 누르면 그 테마로, 보던 내용과 같은 곳으로 이동합니다. 끌면 흔들리기만 합니다.

처음 화면으로 →