라이선스 보기 및 추가


이 문서에서는 가상 머신(VM) 인스턴스와 연결된 라이선스를 보고 라이선스를 VM에 추가하고 라이선스 업데이트 기록을 보는 방법을 설명합니다. Compute Engine의 라이선스에 대한 자세한 내용은 라이선스 정보를 참조하세요.

시작하기 전에

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

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스할 때는 인증을 설정할 필요가 없습니다.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    REST

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

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

VM과 연결된 라이선스 보기

VM과 연결된 라이선스를 보려면 Google Cloud 콘솔, gcloud CLI 또는 Compute Engine API를 사용합니다.

콘솔

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 라이선스를 확인할 VM의 이름을 클릭합니다. 인스턴스 세부정보 페이지가 열립니다.

  3. 인스턴스 세부정보 페이지 하단에서 동등한 REST를 클릭합니다.

  4. 부팅 디스크의 licenses 필드를 봅니다.

gcloud

  1. 다음 gcloud compute instances describe 명령어를 실행합니다.

    gcloud compute instances describe VM_NAME
    

    VM_NAME을 VM 이름으로 바꿉니다.

  2. 출력의 disks 섹션을 봅니다. licenses 필드에는 부팅 디스크와 연결된 라이선스가 표시됩니다.

REST

  1. 다음 instances.get v1 메서드를 호출합니다.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME
    

    다음을 바꿉니다.

    • PROJECT: 프로젝트 이름입니다.
    • ZONE: VM이 포함된 영역입니다.
    • VM_NAME: VM의 이름
  2. Compute Engine API는 licenses 필드의 disks 섹션에서 부팅 디스크와 연결된 라이선스를 반환합니다.

VM과 연결된 사용자 라이선스 보기

VM과 연결된 사용자 라이선스를 보려면 Google Cloud 콘솔, gcloud CLI 또는 Compute Engine API를 사용합니다.

콘솔

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 사용자 라이선스를 확인할 VM의 이름을 클릭합니다. 인스턴스 세부정보 페이지가 열립니다.

  3. 인스턴스 세부정보 페이지 하단에서 동등한 REST를 클릭합니다.

  4. 부팅 디스크의 userLicenses 필드를 봅니다.

gcloud

  1. 다음 gcloud beta compute instances describe 명령어를 실행합니다.

    gcloud beta compute instances describe VM_NAME
    

    VM_NAME을 VM 이름으로 바꿉니다.

  2. 출력의 disks 섹션을 봅니다. licenses 필드에는 부팅 디스크와 연결된 라이선스가 표시됩니다.

REST

  1. 다음 instances.get 베타 메서드를 호출합니다.

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT/zones/ZONE/instances/VM_NAME
    

    다음을 바꿉니다.

    • PROJECT: 프로젝트 이름입니다.
    • ZONE: VM이 포함된 영역입니다.
    • VM_NAME: VM의 이름
  2. Compute Engine API는 licenses 필드의 disks 섹션에서 부팅 디스크와 연결된 라이선스를 반환합니다.

이미지를 가져올 때 라이선스 추가

이미지를 가져올 때 라이선스를 추가하려면 다음 gcloud compute images import 명령어를 사용합니다.

gcloud compute images import IMAGE_NAME \
  --source-file=SOURCE_FILE
  --os=OS

다음을 바꿉니다.

  • IMAGE_NAME: 만들 이미지의 이름입니다.
  • SOURCE_FILE: 가져올 가상 디스크의 로컬 파일이나 Cloud Storage URI입니다.
  • OS: 가져올 디스크 이미지의 OS입니다. OS의 라이선스는 이 플래그 값에서 추론됩니다. 가져올 때 라이선스 정보를 제공하는 명시적 플래그가 없습니다. 지원 값 목록은 --os 플래그를 참조하세요.

이미지 가져오기에 대한 자세한 내용은 가상 디스크 가져오기를 참조하세요.

이미지를 생성할 때 라이선스 추가

이미지를 만들 때 라이선스를 추가하려면 다음 gcloud compute images create 명령어를 사용합니다.

gcloud compute images create IMAGE_NAME \
  --source-image=SOURCE_IMAGE \
  --licenses=LICENSES

다음을 바꿉니다.

  • IMAGE_NAME: 만들 이미지의 이름입니다.
  • SOURCE_IMAGE: 새 이미지를 만들 이미지의 이름입니다.
  • LICENSES: 쉼표로 구분된 라이선스 문자열 목록입니다. 예를 들면 "license1", "license2"입니다.

이미지 만들기에 대한 자세한 내용은 커스텀 이미지 만들기, 삭제, 지원 중단Windows 이미지 만들기를 참조하세요.

이미지를 만들 때 라이선스 및 사용자 라이선스 추가

이미지를 만들 때 라이선스와 사용자 라이선스를 추가하려면 다음 gcloud beta compute images create 명령어를 사용합니다.

gcloud beta compute images create IMAGE_NAME \
  --source-image=SOURCE_IMAGE \
  --licenses=LICENSES \
  --user-licenses=USER_LICENSES

다음을 바꿉니다.

  • IMAGE_NAME: 만들 이미지의 이름입니다.
  • SOURCE_IMAGE: 새 이미지를 만들 이미지의 이름입니다.
  • LICENSES: 쉼표로 구분된 라이선스 문자열 목록입니다. 예를 들면 "license1", "license2"입니다.
  • USER_LICENSES: 쉼표로 구분된 사용자 라이선스 문자열 목록입니다. 예를 들면 "userlicense1", "userlicense2"입니다.

이미지 만들기에 대한 자세한 내용은 커스텀 이미지 만들기, 삭제, 지원 중단Windows 이미지 만들기를 참조하세요.

사용자 라이선스 추가 및 유효성 검사

사용자 라이선스를 추가하고 유효성을 검사하려면 다음을 수행합니다.

  1. VM을 중지합니다.

  2. gcloud compute instances describe 명령어를 사용하여 VM과 연결된 디스크를 나열합니다.

    gcloud compute instances describe VM_NAME --format="yaml(disks)"
    
  3. 출력이 다음과 비슷하게 표시되는지 확인합니다.

    disks:
    - autoDelete: true
      boot: true
      deviceName: BOOT_DISK_NAME
      diskSizeGb: '20'
      guestOsFeatures:
      - type: UEFI_COMPATIBLE
      index: 0
      interface: SCSI
      kind: compute#attachedDisk
      licenses:
      - BOOT_DISK_LICENSE_STRING
      mode: READ_WRITE
      source: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/BOOT_DISK_NAME
      type: PERSISTENT
    
  4. 이전 단계의 출력에서 부팅 디스크의 이름을 찾습니다. 부팅 디스크에서 boot의 값이 true이고, 부팅 디스크의 이름은 deviceName의 값입니다.

  5. gcloud beta compute disks update 명령어를 사용하여 사용자 라이선스를 부팅 디스크에 추가합니다.

    gcloud beta compute disks update BOOT_DISK_NAME \
       --update-user-licenses=LICENSE_URIS
    

    다음을 바꿉니다.

    • BOOT_DISK_NAME: 라이선스를 추가할 부팅 디스크의 이름입니다.

    • LICENSE_URIS: 모든 기존 사용자 라이선스를 바꾸는 쉼표로 구분된 라이선스 문자열 목록입니다.

  6. gcloud beta compute disks describe 명령어를 사용하여 부팅 디스크에 대한 정보를 가져옵니다.

    gcloud beta compute disks describe BOOT_DISK_NAME
    

    BOOT_DISK_NAME을 연결된 라이선스에 대해 확인할 부팅 디스크의 이름으로 바꿉니다.

  7. 출력이 다음과 비슷하게 표시되는지 확인합니다.

    creationTimestamp: '2021-05-05T15:26:27.835-07:00'
    guestOsFeatures:
    - type: UEFI_COMPATIBLE
    id: '727854272460268924'
    interface: SCSI
    kind: compute#disk
    labelFingerprint: 42WmSpB8rSM=
    lastAttachTimestamp: '2021-05-05T15:26:27.836-07:00'
    licenseCodes:
    - '1000006'
    - '6213885950785916969'
    licenses:
    - BOOT_DISK_LICENSE_STRING
    multiWriter: false
    name: VM_NAME
    physicalBlockSizeBytes: '4096'
    selfLink: https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE/disks/DISK_NAME
    selfLinkWithId: https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE/disks/727854272460268924
    sizeGb: '20'
    sourceImage: https://www.googleapis.com/compute/beta/projects/IMAGE_PROJECT/global/images/IMAGE
    sourceImageId: '7397991294075835597'
    status: READY
    type: https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE/diskTypes/pd-standard
    userLicenses:
    - LICENSE_URI
    users:
    - https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME
    zone: https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE
    
  8. 적절한 라이선스 문자열의 userLicenses 필드에서 이전 단계의 출력을 확인하여 사용자 라이선스가 부팅 디스크에 추가되었는지 확인합니다.

    userLicenses 필드에 원하는 라이선스 문자열이 없으면 라이선스 문자열 목록을 지운 후 업데이트해야 할 수 있습니다. gcloud beta compute disks update 명령어를 사용하면 이를 수행할 수 있습니다.

  9. VM을 시작합니다.

라이선스 업데이트 기록 보기

다음 절차를 수행하여 프로젝트에 있는 VM의 라이선스 업데이트 기록을 봅니다.

  1. Google Cloud Console에서 활동 페이지로 이동합니다.

    활동으로 이동

  2. 카테고리필터 창에서 활동 유형구성을 선택합니다.

  3. 카테고리필터 창에서 리소스 유형디스크를 선택합니다.

다음 단계