Migrate for Compute Engine 사용을 위한 Google Cloud 구성

Google Cloud Migrate for Compute Engine(이전의 Velostrata)을 사용하여 애플리케이션을 마이그레이션하려면 먼저 Google Cloud 조직을 구성해야 합니다. Migrate for Compute Engine은 이 구성을 사용하여 마이그레이션을 관리하고 관련된 다른 구성요소와 통신할 수 있습니다.

Google Cloud 구성에는 다음이 포함됩니다.

  1. Migrate for Compute Engine에서 자체 인프라에 사용할 조직 수준 권한과 프로젝트를 포함하여 Google Cloud 계정, 조직, 프로젝트를 설정합니다.
  2. 마이그레이션에 포함된 구성요소(Migrate for Compute Engine, Google Cloud, 마이그레이션할 원본 환경 등)가 Google Cloud Virtual Private Cloud를 사용하여 방화벽을 통해 서로 통신할 수 있도록 Google Cloud에서 네트워크를 설정합니다.
  3. Cloud Shell을 사용하여 Google Cloud 역할과 서비스 계정을 만들어 마이그레이션 중에 Migrate for Compute Engine에서 리소스를 만들고 사용되는 API를 관리할 수 있도록 권한을 설정합니다.

시작하기 전에

  • Google Cloud를 구성하는 Migrate for Compute Engine 스크립트를 실행할 Google Cloud 조직 관리자 계정을 확인해야 합니다.
  • Google Cloud Virtual Private Cloud를 설정해야 합니다. Migrate for Compute Engine은 Virtual Private Cloud를 사용하여 Google Cloud와 원본 환경 간의 통신을 지원합니다.
  • Google Cloud 조직은 마이그레이션에 포함되는 여러 구성요소 중 하나입니다. 각 구성요소에 대해 구성 작업을 수행합니다. 보다 자세한 내용은 Migrate for Compute Engine 아키텍처에 대한 설명을 읽어보세요.

Google Cloud 계정, 조직, 프로젝트 설정

Google Cloud로 마이그레이션할 Google Cloud 조직이 있어야 합니다. 조직이 있으면 Migrate for Compute Engine 스크립트로 Google Cloud에 역할과 서비스 계정을 구성할 수 있는 권한을 할당합니다. 또한 Velostrata Manager를 호스팅할 Migrate for Compute Engine 인프라 프로젝트를 만듭니다.

  1. Google Cloud Console로 이동하여 로그인합니다. 아직 계정이 없으면 가입 후 계정을 만듭니다.
  2. 조직을 설정하려면 조직 만들기 및 관리를 참조합니다. 자세한 내용은 Google Cloud 시작 영역의 리소스 계층 구조 결정을 참조하세요.
  3. 계정 및 역할 생성 스크립트를 실행하는 관리자에게 다음 권한을 할당합니다.

    • 조직 역할 관리자
    • 조직 관리자
    • Compute 관리자
    • (프로젝트) 소유자

    Google Cloud 계정, 서비스 계정, 역할 등의 IAM 개념에 대한 자세한 내용은 IAM 개요를 참조하세요.

  4. Google Cloud에서 Migrate for Compute Engine 인프라를 호스팅할 Google Cloud 프로젝트를 만듭니다. 이 문서의 나머지 부분에서는 이 프로젝트를 인프라 프로젝트라고 합니다.

Google Cloud에서 네트워크 설정

Migrate for Compute Engine은 Google Cloud Virtual Private Cloud 네트워크와 함께 원본 환경과의 VPN 연결을 사용하며, 마이그레이션을 완료하려면 먼저 구체적인 네트워킹 규칙을 설정해야 합니다. 배포 환경의 방화벽, 라우팅, 네트워크 태그 지정에 대한 자세한 내용은 네트워크 액세스 요구사항을 참조하세요.

네트워크 구성 작업에서는 Google Cloud Virtual Private Cloud가 있고 사용자가 Virtual Private Cloud 방화벽 규칙에 이미 익숙하다고 가정합니다. 자세한 내용은 Google Cloud Virtual Private Cloud를 참조하세요.

Cloud Shell을 사용하여 Google Cloud 역할 및 서비스 계정 만들기

Migrate for Compute Engine이 Google Cloud 리소스를 만들고 Cloud Storage API를 관리하는 데 사용할 수 있는 Google Cloud 역할서비스 계정을 만들어야 합니다. Migrate for Compute Engine에는 이러한 변경을 위한 Cloud Shell 스크립트가 포함되어 있습니다.

이 스크립트는 인프라 프로젝트에 역할과 서비스 계정을 만듭니다. 단, 여러 Google Cloud 프로젝트로 마이그레이션할 때는 예외입니다. 이 경우 스크립트는 조직 수준에서 Velostrata Manager 역할을 만들고 다른 역할과 서비스 계정은 인프라 프로젝트에 만듭니다.

다음 표에서는 Cloud Shell 스크립트로 만드는 역할과 서비스 계정을 설명합니다.

역할 서비스 계정 사용 설정된 권한
Velostrata Manager(velos_manager_deployment-name) velos-manager-deployment-name 마이그레이션에 필요한 모든 리소스(VM, Cloud Storage 버킷 등)를 만들 수 있음
Migrate for Compute Engine Cloud Extension(velos_ce_deployment-name) velos-cloud-extension-deployment-name 마이그레이션을 위해 Cloud Storage API를 관리할 수 있음

필요한 서비스 계정을 가장 쉽게 만드는 방법은 Migrate for Compute Engine과 함께 제공되는 Cloud Shell 스크립트를 사용하는 방법입니다.

이 스크립트는 다음과 같은 Google Cloud API를 사용 설정합니다.

  • Resource Manager API
  • Identity and Access Management(IAM) API
  • Compute Engine API
  • Cloud Storage API
  • Cloud Logging API
  • Cloud Monitoring API

권장되는 방법은 아니지만 Google Cloud를 수동으로 구성할 수도 있습니다.

기본 요건

조직 내의 여러 프로젝트로 마이그레이션하려면 숫자로 된 조직 ID가 필요합니다.

구성 스크립트 실행

구성 스크립트를 실행하려면 다음 안내를 따르세요.

  1. Cloud Shell 열기
  2. Migrate for Compute Engine 스크립트가 포함된 디렉터리로 변경합니다.
    cd /google/migrate/gce
    
  3. 서비스 계정 및 역할 ID에 추가할 배포 이름(예: main)을 선택합니다.
  4. 스크립트를 실행합니다.

      python3 velostrata_sa_roles.py -p project-ID -d deployment-name [-o organization]
    

    자세한 내용은 아래의 구성 스크립트 참조를 확인하세요.

단일 프로젝트 구성 예시

이 예시에서는 velostrata 인프라 프로젝트에 있는 역할 및 서비스 계정과 배포 이름 main으로 Google Cloud를 구성합니다.

python3 velostrata_sa_roles.py -p velostrata -d main

이 명령어는 다음을 만듭니다.

  • velostrata 프로젝트의 velos_manager_mainvelos_ce_main 역할
  • velostrata 프로젝트의 velos-manager-main@velostrata.iam.gserviceaccount.comvelos-cloud-extension-main@velostrata.iam.gserviceaccount.com 서비스 계정

여러 프로젝트 구성 예시

이 예시에서는 Google Cloud에 여러 프로젝트로의 마이그레이션을 처리하기 위한 역할 및 서비스 계정을 구성합니다. 스크립트에서는 velostrata 인프라 프로젝트를 사용합니다.

-o 플래그를 사용하여 스크립트를 실행하면 VM을 여러 프로젝트로 마이그레이션할 수 있는 조직 수준의 관리자 역할이 생성됩니다.

python3 velostrata_sa_roles.py -p velostrata -d main -o 12345678

이 명령어는 다음을 만듭니다.

  • ID가 12345678인 조직의 velos_manager_main 역할
  • velostrata 프로젝트의 velos_ce_main 역할
  • velostrata 프로젝트의 velos-manager-main@velostrata.iam.gserviceaccount.comvelos-cloud-extension-main@velostrata.iam.gserviceaccount.com 서비스 계정

구성 스크립트 참조

velostrata_sa_roles.py 스크립트를 사용하여 Migrate for Compute Engine에 리소스 생성 및 Cloud Storage API 관리 권한을 부여하는 Google Cloud 역할 및 서비스 계정을 만들 수 있습니다.

이 스크립트는 인프라 프로젝트에 역할과 서비스 계정을 만듭니다. 단, 여러 Google Cloud 프로젝트로 마이그레이션할 때는 예외입니다. 이 경우 스크립트는 조직 수준에서 Velostrata Manager 역할을 만들고 다른 역할과 서비스 계정은 인프라 프로젝트에 만듭니다.

이 스크립트가 성공적으로 완료되게 하려면 스크립트를 실행하는 관리자에게 Google Cloud 계정, 조직, 프로젝트 설정에 설명된 역할을 할당해야 합니다.

python3 velostrata_sa_roles.py -p project-ID -d deployment-name [-o organization-ID]

매개변수

매개변수 설명 필수
-d 또는 --deployment-name 배포 이름을 지정합니다. 이 이름은 서비스 계정 및 역할 이름에 추가됩니다. 8자(영문 기준) 미만이어야 하며 소문자와 숫자만 포함할 수 있습니다.
-p 또는 --project-id 마이그레이션을 호스팅할 Google Cloud 프로젝트의 ID를 지정합니다.
-o 또는 --org-id 숫자로 된 Google Cloud 조직 ID를 지정합니다. 여러 Google Cloud 프로젝트로 마이그레이션할 때 이 매개변수를 사용합니다. 아니요

다음 단계