כשקובץ אימג' של Ubuntu LTS מגיע לסוף חיי המוצר, הוא כבר לא נתמך ולא יקבל עדכוני אבטחה. אם משדרגים ל-Ubuntu Pro, ממשיכים לקבל עדכוני אבטחה במהלך תחזוקת אבטחה מורחבת (ESM).
במסמך הזה מוסבר איך לשדרג מ-Ubuntu ל-Ubuntu Pro על ידי ביצוע הפעולות הבאות לכל מכונה וירטואלית:
- מתקינים עדכונים ויחסי תלות.
- החלפת רישיון Ubuntu ברישיון Ubuntu Pro.
- מאמתים את הרישיון.
נתיבי שדרוג נתמכים
בטבלה הבאה מפורטים נתיבי השדרוג הנתמכים:
| הגרסה הראשונית | גרסה סופית |
|---|---|
| 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בשם של המכונה הווירטואלית שרוצים לשדרג:-
מעדכנים את אינדקס החבילות באמצעות הפקודה הבאה:
gcloud compute ssh VM_NAME --command "sudo apt update"
-
כדי להתקין את הגרסה החדשה ביותר של החבילות, משתמשים בפקודה הבאה:
gcloud compute ssh VM_NAME --command "sudo apt -f upgrade"
-
מתקינים את 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
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
החלפת הרישיון
כדי להחליף את רישיון Ubuntu ברישיון Ubuntu Pro, מבצעים את השלבים הבאים:
מפסיקים את ה-VM באמצעות הפקודה
gcloud compute instances stop:gcloud compute instances stop VM_NAME \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
VM_NAME: השם של המכונה הווירטואלית שרוצים לעצור -
ZONE: האזור שבו נמצאת המכונה הווירטואלית שרוצים לעצור
-
כדי לקבל את רשימת הדיסקים שמשויכים למכונת ה-VM, משתמשים בפקודה
gcloud compute instances describe:gcloud compute instances describe VM_NAME \ --zone=ZONE \ --format="yaml(disks)"
מחליפים את מה שכתוב בשדות הבאים:
VM_NAME: השם של המכונה הווירטואלית שממנה רוצים לקבל את רשימת הדיסקים המשויכים
ZONE: האזור שבו נמצאת המכונה הווירטואלית שממנה רוצים לקבל את רשימת הדיסקים המשויכים
מוודאים שהפלט דומה לזה:
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.כדי לקבל את השם של דיסק האתחול, מריצים את הפקודה
gcloud compute disks list:gcloud compute disks list
מעדכנים את דיסק האתחול באמצעות ה-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, מבצעים את הפעולות הבאות:
כדי לקבל מידע על דיסק האתחול, מריצים את הפקודה
gcloud compute disks describe:gcloud compute disks describe DISK_NAME \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
DISK_NAME: השם של דיסק האתחול שרוצים לאמת את הרישיון שלו
ZONE: האזור שמכיל את דיסק האתחול שצריך לאמת את הרישיון שלו
בודקים שהפלט דומה לזה:
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כדי לוודא שהרישיון של Ubuntu Pro נוסף לדיסק האתחול, בודקים את הפלט של השלב הקודם בשדה
licensesכדי למצוא את מחרוזת הרישיון המתאימה.אם השדה
licensesלא מכיל את מחרוזת הרישיון הרצויה, יכול להיות שתצטרכו לנקות ולעדכן את הרישיונות. מידע נוסף זמין במאמר בנושא הפקודהgcloud compute disks update.מפעילים את ה-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) (הוצא משימוש), מציינים את הנתיב לקובץ המפתח.
אחרי שהמכונה הווירטואלית מופעלת, מריצים את הפקודה
gcloud compute sshכדי לוודא ש-Ubuntu ESM מורשה ומופעל:gcloud compute ssh VM_NAME --command "sudo ua status --wait" \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
VM_NAME: השם של המכונה הווירטואלית שרוצים לאמת
ZONE: האזור שמכיל את המכונה הווירטואלית שרוצים לאמת
מוודאים ש-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
צפייה ביומני הפעילות
כדי לראות את היסטוריית העדכונים של הרישיונות של מכונות וירטואליות בפרויקט, מבצעים את השלבים הבאים:
נכנסים לדף Logs Explorer במסוף Cloud de Confiance .
בסרגל הכלים, מוודאים שהאפשרות Show query (הצגת שאילתה) מופעלת.
מעתיקים את הביטוי הבא לעורך השאילתות:
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:*מחליפים את
PROJECT_NAMEבשם הפרויקט.לוחצים על Run query.