Ubuntu에서 Ubuntu Pro로 업그레이드


2021년 4월 21일에 Ubuntu 16.04 LTS가 유지보수를 종료하게되며 더 이상 지원되지 않거나 보안 업데이트를 받지 않습니다. Ubuntu Pro로 업그레이드하면 확장 보안 유지보수(ESM) 중에 보안 업데이트를 계속 받을 수 있습니다.

이 문서에서는 각 VM에 대해 다음을 수행하여 Ubuntu에서 Ubuntu Pro로 업그레이드하는 방법을 보여줍니다.

  1. 업데이트 및 종속 항목 설치
  2. Ubuntu Pro 라이선스 추가
  3. 라이선스 유효성 검사

지원되는 업그레이드 경로

다음 표는 지원되는 업그레이드 경로를 보여줍니다.

초기 버전 최종 버전
Ubuntu 16.04 LTS Ubuntu Pro 16.04 LTS
Ubuntu 18.04 LTS Ubuntu Pro 18.04 LTS
Ubuntu 20.04 LTS Ubuntu Pro 20.04 LTS

제한사항

  • 라이선스를 추가하기 전에 VM을 중지해야 합니다.

  • 동일한 버전인 경우에만 Ubuntu LTS에서 Ubuntu Pro LTS로 업그레이드할 수 있습니다. 예를 들어 Ubuntu 16.04 LTS에서 Ubuntu Pro 16.04 LTS로 업그레이드할 수 있지만 Ubuntu 16.04 LTS에서 Ubuntu Pro 20.04 LTS로 업그레이드할 수는 없습니다.

결제

프리미엄 이미지 가격 책정에 따라 Ubuntu Pro LTS 요금이 청구됩니다.

결제에 대한 자세한 내용은 Cloud Billing을 참조하세요.

시작하기 전에

  • 이 가이드의 명령줄 예시를 사용하려면 다음을 수행하세요.
    1. 최신 버전의 Google Cloud CLI를 설치하거나 업데이트합니다.
    2. 기본 리전 및 영역을 설정합니다.
  • 각 VM에서 다음 명령어를 실행하여 VM_NAME을 업그레이드할 VM의 이름으로 바꿉니다.

    1. 다음 명령어를 사용하여 패키지 색인을 업데이트합니다.
      gcloud compute ssh VM_NAME --command "sudo apt update"
    2. 다음 명령어를 사용하여 패키지의 최신 버전을 설치합니다.
      gcloud compute ssh VM_NAME --command "sudo apt -f upgrade"
    3. 다음 명령어를 사용하여 Ubuntu Pro를 설치합니다.
      gcloud compute ssh VM_NAME --command "sudo apt -f install ubuntu-advantage-pro"

라이선스 추가

다음 절차에 따라 Ubuntu Pro 라이선스를 추가합니다.

  1. gcloud compute instances stop 명령어를 사용하여 VM을 중지합니다.

    gcloud compute instances stop VM_NAME \
       --zone=ZONE
    

    다음을 바꿉니다.

    • VM_NAME: 중지할 VM의 이름입니다.
    • ZONE: 중지할 VM이 포함된 영역입니다.
  2. gcloud compute instances describe 명령어를 사용하여 VM과 연결된 디스크 목록을 가져옵니다.

    gcloud compute instances describe VM_NAME \
       --zone=ZONE \
       --format="yaml(disks)"
    

    다음을 바꿉니다.

    • VM_NAME: 연결된 디스크 목록을 가져올 VM의 이름입니다.

    • ZONE: 연결된 디스크 목록을 가져올 VM이 포함된 영역입니다.

  3. 출력이 다음과 비슷한지 확인합니다.

    disks:
    - autoDelete: true
      boot: true
      deviceName: ubuntu
      diskSizeGb: '10'
      guestOsFeatures:
      - type: VIRTIO_SCSI_MULTIQUEUE
      - type: SEV_CAPABLE
      - type: UEFI_COMPATIBLE
      - type: GVNIC
      index: 0
      interface: SCSI
      kind: compute#attachedDisk
      licenses:
      - https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/licenses/ubuntu-1604-xenial
      mode: READ_WRITE
      shieldedInstanceInitialState:
        dbxs:
        - content: ...
          fileType: BIN
      source: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/VM_NAME
      type: PERSISTENT
    

    userLicenses는 추가되지 않았습니다.

  4. gcloud compute disks list 명령어를 실행하여 부팅 디스크의 이름을 가져옵니다.

    gcloud compute disks list
    
  5. gcloud beta compute disks update 명령어를 사용하여 Ubuntu Pro 라이선스 URI로 부팅 디스크를 업데이트합니다.

    gcloud beta compute disks update BOOT_DISK_NAME \
       --zone=ZONE \
       --update-user-licenses="LICENSE_URI"
    

    다음을 바꿉니다.

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

    • ZONE: 라이선스를 추가할 부팅 디스크가 포함된 영역입니다.

    • LICENSE_URI: 업그레이드할 Ubuntu Pro 버전의 라이선스 URI입니다. 다음 표는 지원되는 Ubuntu Pro 버전의 라이선스 URI를 보여줍니다.

      Ubuntu Pro 버전 라이선스 URI
      Ubuntu Pro 16.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-1604-lts
      Ubuntu Pro 18.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-1804-lts
      Ubuntu Pro 20.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-2004-lts

라이선스 검증

다음 절차에 따라 Ubuntu Pro 라이선스를 검사합니다.

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

    gcloud beta compute disks describe BOOT_DISK_NAME \
       --zone=ZONE
    

    다음을 바꿉니다.

    • BOOT_DISK_NAME: 라이선스 유효성을 검사할 부팅 디스크의 이름입니다.

    • ZONE: 라이선스 유효성을 검사할 부팅 디스크가 포함된 영역입니다.

  2. 다음과 비슷한 출력을 확인합니다.

    creationTimestamp: '2021-10-20T17:20:26.616-07:00'
    guestOsFeatures:
    - type: VIRTIO_SCSI_MULTIQUEUE
    - type: SEV_CAPABLE
    - type: UEFI_COMPATIBLE
    - type: GVNIC
    id: '7008232787326864549'
    kind: compute#disk
    labelFingerprint: 42WmSpB8rSM=
    lastAttachTimestamp: '2021-10-20T17:20:26.617-07:00'
    licenseCodes:
    - '1000201'
    - '8045211386737108299'
    licenses:
    - https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/licenses/ubuntu-1604-xenial
    name: ubuntu
    physicalBlockSizeBytes: '4096'
    selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/DISK_NAME
    sizeGb: '10'
    sourceImage: https://www.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/IMAGE
    sourceImageId: '1233998915439563944'
    status: READY
    type: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/diskTypes/DISK_TYPE
    userLicenses:
    - https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-1604-lts
    users:
    - https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME
    zone: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE
    
  3. 적절한 라이선스 문자열에 대한 userLicenses 필드 이전 단계의 출력을 확인하여 Ubuntu Pro 라이선스가 부팅 디스크에 추가되었는지 확인합니다.

    userLicenses 필드에 의도한 라이선스 문자열이 없으면 지운 후 사용자 라이선스를 업데이트해야 할 수 있습니다. 자세한 내용은 gcloud beta compute disks update 명령어를 참조하세요.

  4. gcloud compute instances start 명령어를 사용하여 VM을 시작합니다.

    gcloud compute instances start VM_NAME \
       --zone=ZONE \
       [--csek-key-file ENCRYPTION_KEY]
    

    다음을 바꿉니다.

    • VM_NAME: 시작할 VM의 이름입니다.

    • ZONE: 시작할 VM이 포함된 영역입니다.

    • ENCRYPTION_KEY: 부팅 디스크가 암호화된 경우 고객 제공 암호화 키(CSEK) 파일에 대해 경로를 지정하는 선택적인 플래그입니다.

  5. VM이 부팅되면 gcloud compute ssh 명령어를 실행하여 Ubuntu ESM이 사용 권한이 부여되고 사용 설정되어 있는지 확인합니다.

    gcloud compute ssh VM_NAME --command "sudo ua status --wait" \
       --zone=ZONE
    

    다음을 바꿉니다.

    • VM_NAME: 확인할 VM의 이름입니다.

    • ZONE: 확인할 VM이 포함된 영역입니다.

  6. 다음과 비슷한 출력이 표시되는지 확인하여 Ubuntu ESM이 사용 권한이 부여되고 사용 설정되어 있는지 확인합니다.

    SERVICE       ENTITLED  STATUS    DESCRIPTION
    cis           yes       disabled  Center for Internet Security Audit Tools
    esm-apps      yes       enabled   UA Apps: Extended Security Maintenance (ESM)
    esm-infra     yes       enabled   UA Infra: Extended Security Maintenance (ESM)
    fips          yes       n/a       NIST-certified core packages
    fips-updates  yes       n/a       NIST-certified core packages with priority security updates
    livepatch     yes       n/a       Canonical Livepatch service
    

감사 로그 보기

다음 절차에 따라 라이선스 업데이트 기록을 봅니다.

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

    활동으로 이동

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

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