Ubuntu에서 Ubuntu Pro로 업그레이드

Ubuntu LTS 이미지가 지원 종료에 도달하면 더 이상 지원되지 않으며 보안 업데이트를 받지 못합니다. Ubuntu Pro로 업그레이드하면 확장 보안 유지보수(ESM) 중에 보안 업데이트를 계속 받습니다.

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

  1. 업데이트 및 종속 항목을 설치합니다.
  2. Ubuntu 라이선스를 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
Ubuntu 22.04 LTS Ubuntu Pro 22.04 LTS
Ubuntu 24.04 LTS Ubuntu Pro 24.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을 참조하세요.

시작하기 전에

  • 각 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"
  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 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. Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.

      gcloud init

      외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

    2. Set a default region and zone.

라이선스 교체

다음 절차에 따라 Ubuntu 라이선스를 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
    

    Licenses는 대체되지 않았습니다.

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

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

    gcloud compute disks update DISK_NAME \
       --zone=ZONE \
       --replace-license="PREVIOUS_LICENSE, NEW_LICENSE"
    

    다음을 바꿉니다.

    • DISK_NAME: 라이선스를 교체할 부팅 디스크의 이름입니다.

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

    • PREVIOUS_LICENSE: Ubuntu 버전의 라이선스 URI입니다.

    • NEW_LICENSE: 새 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 22.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-2204-lts
Ubuntu Pro 24.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-2404-lts

라이선스 검증

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

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

    gcloud compute disks describe DISK_NAME \
       --zone=ZONE
    

    다음을 바꿉니다.

    • 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
    - https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-1604-lts
    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
    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. 적절한 라이선스 문자열에 대한 licenses 필드 이전 단계의 출력을 확인하여 Ubuntu Pro 라이선스가 부팅 디스크에 추가되었는지 확인합니다.

    licenses 필드에 의도한 라이선스 문자열이 없으면 지운 후 라이선스를 업데이트해야 할 수 있습니다. 자세한 내용은 gcloud 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
    

활동 로그 보기

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

  1. Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

    로그 탐색기로 이동

  2. 툴바에서 쿼리 표시가 사용 설정되어 있는지 확인합니다.

  3. 다음 표현식을 쿼리 편집기에 복사합니다.

    resource.type="gce_disk"
    logName="projects/PROJECT_NAME/logs/cloudaudit.googleapis.com%2Factivity"
    severity>=NOTICE
    protoPayload.request.@type="type.googleapis.com/compute.disks.update"
    protoPayload.request.licenses:*
    
  4. PROJECT_NAME를 프로젝트 이름으로 바꿉니다.

  5. 쿼리 실행을 클릭합니다.