머신 이미지 만들기


머신 이미지를 사용하여 Compute Engine에서 실행되는 VM 인스턴스에 대한 여러 디스크에 관련된 모든 구성, 메타데이터, 권한, 데이터를 저장합니다. 머신 이미지를 만드는 데 사용하는 VM 인스턴스를 소스 VM 인스턴스라고 합니다.

머신 이미지 사용할 때와 사용 방법에 대한 상세 설명은 머신 이미지를 참조하세요.

이 문서에서는 소스 VM 인스턴스에서 머신 이미지를 만드는 단계를 설명합니다.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.

제한 및 제약사항

  • 특정 인스턴스의 머신 이미지는 60분마다 최대 6번 만들 수 있습니다.
  • Cloud Key Management Service(Cloud KMS) 또는 고객 제공 암호화 키(CSEK)를 사용하여 머신 이미지를 보호할 수 있습니다. 암호화 키는 디스크의 콘텐츠를 보호합니다. 그러나 메타데이터는 보호되지 않습니다.
  • CSEK를 사용하여 머신 이미지를 보호하는 경우 머신 이미지 생성 중에 모든 디스크 데이터의 전체 사본이 저장됩니다. 그 외 모든 시나리오에서는 디스크 데이터가 다른 사본에 저장됩니다.
  • 다음과 같은 소스 VM에서는 머신 이미지를 만들 수 없습니다.

    • 200TB가 넘는 디스크가 연결되어 있습니다.
    • 연결된 디스크가 없습니다.
    • 연결된 하이퍼디스크 볼륨이 있습니다.
    • C3D, H3, A3 또는 Z3 머신 유형 사용

머신 이미지에서 지원하지 않는 인스턴스 및 디스크 속성

VM 인스턴스에서 머신 이미지를 만들거나 머신 이미지에서 VM 인스턴스를 만들 때 다음 인스턴스 및 디스크 속성은 보존되거나 복원되지 않습니다.

  • disks.architecture
  • disks.description
  • disks.labels
  • disks.locked
  • disks.multiWriter
  • disks.onUpdateAction
  • disks.provisionedIops
  • disks.shieldedInstanceInitialState
  • disks.sourceImage
  • disks.sourceImageEncryptionKey
  • disks.sourceInstantSnapshot
  • disks.sourceSnapshot
  • disks.sourceSnapshotEncryptionKey
  • privateIpv6GoogleAccess
  • resourceManagerTags
  • resourcePolicies
  • secure_tag
  • shieldedInstanceConfig

VM에서 머신 이미지 만들기

Google Cloud 콘솔, Google Cloud CLI 또는 REST를 사용하여 머신 이미지를 만들 수 있습니다.

머신 이미지를 만들려면 다음 정보가 필요합니다.

  • 만들려는 머신 이미지의 이름
  • 소스 VM 인스턴스의 이름
  • 소스 VM 인스턴스가 위치한 영역
  • 설명(선택사항)
  • storageLocation(선택사항). 위치를 지정하지 않은 경우 기본 스토리지 위치는 소스 VM 인스턴스의 멀티 리전 Cloud Storage 위치입니다.
  • 암호화 키(선택사항). Google 소유 및 Google 관리 키인 Cloud Key Management Service(Cloud KMS) 또는 고객 제공 암호화 키(CSEK) 사이에서 선택할 수 있습니다. 암호화 키가 지정되지 않은 경우 머신 이미지는 Google 소유 및 Google 관리 키를 사용하여 암호화됩니다.
  • 머신 이미지를 인스턴스 클론 및 스냅샷 생성에 사용하려면 인스턴스에서 머신 이미지를 생성하기 전에 인스턴스에 고유한 OS 및 앱 정보를 삭제합니다. 예를 들어 Windows VM 인스턴스의 경우 GCESysprep을 사용해 시스템 복제를 준비합니다.

콘솔

  1. Google Cloud Console에서 머신 이미지 페이지로 이동합니다.

    머신 이미지로 이동

  2. 머신 이미지 만들기를 클릭합니다.

  3. 머신 이미지의 이름을 지정합니다.

  4. 선택사항: 설명을 입력합니다.

  5. 소스 VM 인스턴스를 선택합니다.

  6. 선택사항: 머신 이미지를 저장할 위치를 지정합니다. 멀티 리전 또는 리전 스토리지 중 하나를 선택하세요. 위치에 관한 상세 설명은 머신 이미지 스토리지 위치를 참조하세요.

  7. 선택사항: 암호화 방법을 선택합니다.

  8. 만들기를 클릭합니다.

gcloud

gcloud compute machine-images create 명령어를 사용하여 인스턴스에서 머신 이미지를 만듭니다.

gcloud compute machine-images create MACHINE_IMAGE_NAME \
    --source-instance=SOURCE_VM_NAME

다음을 바꿉니다.

  • MACHINE_IMAGE_NAME: 만들려는 머신 이미지의 이름
  • SOURCE_VM_NAME: 이미지를 만들 소스 VM 인스턴스의 이름

예시

예를 들어 다음 gcloud 명령어를 사용하여 my-instance라는 소스 인스턴스에서 my-machine-image라는 머신 이미지를 만들 수 있습니다.

gcloud compute machine-images create my-machine-image  \
    --source-instance=my-instance

이 프로세스는 몇 분 정도 소요됩니다. 머신 이미지가 생성되면 다음과 비슷한 출력이 표시됩니다.

Created [https://www.googleapis.com/compute/v1/projects/project-12345/global/machineImages/my-machine-image].
NAME               STATUS
my-machine-image   READY

REST

API에서 machineimages.insert 메서드에 대해 POST 요청을 작성합니다. 요청 본문에 다음 POST 요청을 포함합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/machineImages

{
  "name": "MACHINE_IMAGE_NAME",
  "sourceInstance": "SOURCE_INSTANCE_URL"
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • MACHINE_IMAGE_NAME: 만들려는 머신 이미지의 이름
  • SOURCE_INSTANCE_URL: 머신 이미지를 만드는 데 사용할 소스 VM 인스턴스의 전체 또는 부분 URL. 예를 들어 myProject라는 프로젝트에 my-instance라는 소스 인스턴스가 있는 경우 유효한 URL은 다음과 같습니다.

    • https://www.googleapis.com/compute/v1/projects/myProject/global/instances/my-instance
    • projects/myProject/global/instances/my-instance
    • global/instances/my-instance

다음 단계