שדרוג מ-Ubuntu ל-Ubuntu Pro

כשקובץ אימג' של Ubuntu LTS מגיע לסוף חיי המוצר, הוא כבר לא נתמך ולא יקבל עדכוני אבטחה. אם משדרגים ל-Ubuntu Pro, ממשיכים לקבל עדכוני אבטחה במהלך תחזוקת אבטחה מורחבת (ESM).

במסמך הזה מוסבר איך לשדרג מ-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

מגבלות

  • כדי להחליף רישיון, צריך להפסיק את פעולת המכונה הווירטואלית.

  • אפשר לשדרג מ-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.

לפני שמתחילים

  • מריצים את הפקודות הבאות בכל מכונה וירטואלית, ומחליפים את VM_NAME בשם של המכונה הווירטואלית שרוצים לשדרג:

    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"
  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS

    gcloud

    1. התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init
  • הגדרת אזור ותחום כברירת מחדל

החלפת הרישיון

כדי להחליף את רישיון Ubuntu ברישיון Ubuntu Pro, מבצעים את השלבים הבאים:

  1. מפסיקים את ה-VM באמצעות הפקודה gcloud compute instances stop:

    gcloud compute instances stop VM_NAME \
       --zone=ZONE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • VM_NAME: השם של המכונה הווירטואלית שרוצים לעצור
    • ZONE: האזור שבו נמצאת המכונה הווירטואלית שרוצים לעצור
  2. כדי לקבל את רשימת הדיסקים שמשויכים למכונת ה-VM, משתמשים בפקודה gcloud compute instances describe:

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

    מחליפים את מה שכתוב בשדות הבאים:

    • VM_NAME: השם של המכונה הווירטואלית שממנה רוצים לקבל את רשימת הדיסקים המשויכים

    • ZONE: האזור שבו נמצאת המכונה הווירטואלית שממנה רוצים לקבל את רשימת הדיסקים המשויכים

  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. מעדכנים את דיסק האתחול באמצעות ה-URI של רישיון Ubuntu Pro באמצעות הפקודה gcloud compute disks update:

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

    מחליפים את מה שכתוב בשדות הבאים:

    • DISK_NAME: השם של דיסק האתחול שבו רוצים להחליף את הרישיון.

    • ZONE: האזור שמכיל את דיסק האתחול שרוצים להחליף את הרישיון שלו.

    • PREVIOUS_LICENSE: ה-URI של הרישיון לגרסת Ubuntu

    • NEW_LICENSE: כתובת ה-URI של רישיון Ubuntu Pro החדש.

    בטבלה הבאה מפורטות כתובות ה-URI של הרישיונות לגרסאות הנתמכות של Ubuntu Pro:

גרסת 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:
    - '8045211386737108299'
    licenses:
    - 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. כדי לוודא שהרישיון של Ubuntu Pro נוסף לדיסק האתחול, בודקים את הפלט של השלב הקודם בשדה licenses כדי למצוא את מחרוזת הרישיון המתאימה.

    אם השדה licenses לא מכיל את מחרוזת הרישיון הרצויה, יכול להיות שתצטרכו לנקות ולעדכן את הרישיונות. מידע נוסף זמין במאמר בנושא הפקודה gcloud compute disks update.

  4. מפעילים את ה-VM באמצעות הפקודה gcloud compute instances start:

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

    מחליפים את מה שכתוב בשדות הבאים:

    • VM_NAME: השם של המכונה הווירטואלית (VM) שרוצים להפעיל

    • ZONE: האזור שמכיל את המכונה הווירטואלית שרוצים להפעיל

    • ENCRYPTION_KEY: אופציונלי: אם דיסק האתחול מוצפן באמצעות מפתח הצפנה באספקת הלקוח (CSEK) (הוצא משימוש), מציינים את הנתיב לקובץ המפתח.

  5. אחרי שהמכונה הווירטואלית מופעלת, מריצים את הפקודה gcloud compute ssh כדי לוודא ש-Ubuntu ESM מורשה ומופעל:

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

    מחליפים את מה שכתוב בשדות הבאים:

    • VM_NAME: השם של המכונה הווירטואלית שרוצים לאמת

    • ZONE: האזור שמכיל את המכונה הווירטואלית שרוצים לאמת

  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. נכנסים לדף Logs Explorer במסוף Cloud de Confiance .

    כניסה לדף Logs Explorer

  2. בסרגל הכלים, מוודאים שהאפשרות Show query (הצגת שאילתה) מופעלת.

  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. לוחצים על Run query.