명령줄 인터페이스(CLI)를 사용한 가상 머신(VM) 제품 배포

Google Cloud Marketplace를 통해 제공되는 가상 머신(VM) 제품은 Compute Engine에서 실행할 수 있는 커스텀 VM 인스턴스입니다. Compute Engine 개념의 개요는 Compute Engine 문서를 참조하세요.

Google Cloud Marketplace의 일부 VM 제품에서는 인프라 프로비저닝 및 관리를 위한 오픈소스 도구인 Terraform을 사용하여 명령줄 인터페이스(CLI)로 배포할 수 있도록 지원합니다. Terraform에 대한 자세한 내용은 Terraform 시작하기를 참조하세요.

개요

이 페이지에서는 Terraform을 사용하여 CLI로 VM 제품을 배포하는 단계를 설명합니다. 대략적으로 다음과 같은 단계를 수행합니다.

  1. 제품의 Google Cloud Marketplace 목록의 관련 섹션을 방문합니다.

  2. 필요한 경우 명령줄 배포에 사용할 서비스 계정을 선택하거나 만듭니다.

  3. 필요한 경우 서비스 계정 가장을 설정합니다.

  4. Terraform용 gcloud 환경을 구성합니다.

  5. CLI를 통해 VM 제품을 배포하는 데 사용할 Terraform 모듈 또는 코드 스니펫을 다운로드합니다.

  6. 모듈 또는 코드 스니펫을 사용하여 VM 제품을 배포합니다.

명령줄 배포 탭으로 이동

CLI를 통해 VM 제품 배포를 시작하려면 다음 안내를 따르세요.

  1. Cloud Marketplace에서 CLI를 통해 배포하려는 VM 제품의 제품 등록 페이지로 이동합니다.

    Marketplace로 이동

  2. 시작 버튼을 클릭하거나 CLI로 배포를 클릭하여 명령줄 배포 탭으로 이동합니다.

(선택사항) 서비스 계정 선택 또는 만들기

명령줄 배포 탭에서 명령줄 배포에 사용할 서비스 계정을 선택하거나 만들 수 있습니다. 코드 스니펫을 생성할 때 명령줄 배포 탭에서 서비스 계정을 선택하거나 만들지 않은 경우 사용하기 전에 생성된 Terraform 스니펫을 수동으로 수정하여 서비스 계정을 추가해야 합니다. 서비스 계정에 대한 자세한 내용은 서비스 계정 생성 및 관리를 참조하세요.

CLI를 통해 Cloud Marketplace VM 제품을 배포하려면 사용하는 서비스 계정에 Compute 관리자(roles/compute.admin) Identity and Access Management(IAM) 역할이 있어야 합니다. 명령줄 배포 탭에서 새 서비스 계정을 만들면 Google Cloud Marketplace가 이 역할을 자동으로 새 서비스 계정에 부여합니다. 명령줄 배포 탭에서 기존 서비스 계정을 선택하는 경우 서비스 계정에 이 역할이 있는지 확인해야 합니다.

서비스 계정을 선택하거나 만들려면 다음 안내를 따르세요.

  1. VM 제품의 Google Cloud Marketplace 등록정보에 있는 명령줄 배포서비스 계정 구성(선택사항)에서 구성 버튼을 클릭합니다.

  2. 서비스 계정 요청 권한에서 기존 서비스 계정 선택 또는 새 서비스 계정 만들기를 클릭하면 됩니다.

기존 서비스 계정 선택

기존 서비스 계정을 선택하려면 다음 안내를 따르세요.

  1. 서비스 계정 선택에서 사용할 서비스 계정을 선택합니다. 이 목록에는 Compute 관리자(roles/compute.admin) 역할이 있는 모든 기존 서비스 계정이 포함되어 있습니다.

    기존 서비스 계정에 Compute 관리자(roles/compute.admin) 역할이 없는 경우 목록이 비어 있습니다. 목록이 비어 있으면 기존 서비스 계정 중 하나에 이 역할을 부여한 후 이 탭으로 돌아오거나 새 서비스 계정을 만들면 됩니다.

  2. 제출 버튼을 클릭합니다.

새 서비스 계정 만들기

새 서비스 계정을 만들려면 다음 안내를 따르세요.

  1. 서비스 계정의 이름을 선택하고 서비스 계정 이름 필드에 추가합니다.

  2. 서비스 계정의 ID를 선택하고 서비스 계정 ID 필드에 추가합니다.

  3. 서비스 계정 설명 필드에 서비스 계정에 대한 설명을 추가합니다.

  4. 서비스 계정 만들기 버튼을 클릭합니다.

서비스 계정을 만든 후에는 IAM을 사용하여 서비스 계정의 액세스 제어를 계속 관리할 수 있습니다.

(선택사항) 서비스 계정 가장 설정

서비스 계정 가장을 사용하여 명령줄 배포 액세스를 관리하는 것이 좋습니다. 가장을 사용하면 누구나 배포에 액세스하는 데 사용할 수 있는 서비스 계정 키를 만드는 대신 서비스 계정 토큰 생성자(roles/iam.serviceAccountTokenCreator) IAM 역할을 특정 주 구성원에게 부여하거나 취소하여 액세스 권한을 관리합니다.

서비스 계정에 역할을 부여하고 취소하는 방법은 서비스 계정에 대한 액세스 관리를 참조하세요. 서비스 계정 가장에 대한 자세한 내용은 서비스 계정 가장을 참조하세요.

Terraform에 대한 gcloud 환경 구성

명령줄 배포 탭의 gcloud 구성에 일련의 명령어가 표시됩니다. Terraform용 gcloud 환경을 구성하려면 제공된 명령어를 복사하고 실행합니다.

Terraform 모듈 다운로드

포함된 Terraform 모듈 또는 생성된 코드 스니펫을 사용하여 VM 제품이 구성된 방식에 따라 CLI를 통해 VM 제품을 배포합니다. VM 제품을 배포하는 데 포함된 모듈 또는 생성된 코드 스니펫을 사용하는지 확인하려면 제품의 Cloud Marketplace 목록의 명령줄 배포 탭으로 이동합니다. 포함된 모듈을 사용하여 제품을 배포하는 경우 다운로드 버튼이 표시됩니다. 생성된 코드 스니펫을 사용하여 제품을 배포하는 경우 코드 생성 버튼이 표시됩니다.

포함된 모듈이나 생성된 코드 스니펫을 다운로드하려면 다음 단계를 따르세요.

포함된 Terraform 모듈

  1. VM 제품의 Cloud Marketplace 등록정보에 있는 명령줄 배포 탭에서 다운로드 버튼을 클릭합니다. 이렇게 하면 사용할 Terraform 모듈이 포함된 ZIP 파일이 다운로드됩니다.

  2. 다운로드한 ZIP 파일에서 Terraform 모듈을 추출합니다.

생성된 코드 스니펫

  1. VM 제품의 Cloud Marketplace 등록정보에 있는 명령줄 배포 탭에서 코드 생성 버튼을 클릭합니다. 그러면 복사하여 Terraform에서 사용해 Terraform으로 VM을 배포할 수 있는 코드 스니펫이 생성됩니다.

  2. 생성된 코드 스니펫을 복사하려면 클립보드에 복사를 클릭합니다.

포함된 모듈 또는 생성된 코드 스니펫을 사용하여 VM 제품 배포

포함된 모듈 또는 생성된 코드 스니펫을 사용하여 CLI를 통해 VM 제품을 배포하려면 다음 단계를 완료합니다.

포함된 Terraform 모듈

  1. 다운로드한 Terraform 모듈에서 README.md 파일을 찾습니다.

  2. README.md 파일의 제품별 안내를 따릅니다.

    제품별 안내를 따르는 동안 문제가 발생하면 다음 명령어를 실행하여 모듈을 배포해 볼 수 있습니다.

    • terraform init

    • terraform apply

생성된 코드 스니펫

  1. 생성된 코드 스니펫에 사용하려는 서비스 계정이 포함되어 있는지 확인합니다. 명령줄 배포에 사용할 서비스 계정을 구성한 경우 해당 서비스 계정의 정보가 생성된 코드 스니펫에 포함됩니다. 서비스 계정을 구성하지 않은 경우 생성된 코드 스니펫을 수정하여 사용할 서비스 계정을 지정해야 합니다.

  2. Terraform을 설치한 머신에 main.tf라는 새 파일을 만듭니다.

  3. 수정한 생성된 코드 스니펫을 자신이 만든 main.tf 파일에 붙여넣습니다.

  4. 다음 명령어를 실행합니다.

    • terraform init

    • terraform apply

다음 단계

VM 제품의 CLI 배포 관리에 대한 자세한 내용은 VM 제품의 CLI 배포 관리를 참조하세요.