תזמון משימות של עדכון

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

לכל פריסת תיקון יכול להיות לוח זמנים חד-פעמי, שמריץ עבודת תיקון בתאריך ובשעה ספציפיים, או לוח זמנים חוזר, שמריץ עבודת תיקון במרווח זמן מוגדר.

מסנני מופעים מאפשרים להחיל תיקון על הרבה מופעים בו-זמנית. המסננים האלה מוחלים על כל משימת תיקון בנפרד בזמן ההפעלה שלה. כך תוכלו לוודא שהשינויים בפרויקט יתועדו בזמן אמת. לדוגמה, נניח שיוצרים פריסת תיקון כדי להחיל תיקונים על כל המופעים באזור asia-souteast1-b, החל משבועיים מעכשיו. בזמן יצירת התיקון היו באזור 20 מופעים, אבל כמה ימים לאחר מכן נוספו לאזור 40 מופעים חדשים. הסיבה לכך היא שהמסנן מוחל בזמן שהתיקון מתחיל, ולכן כל 60 המופעים מתעדכנים. כך אפשר להוסיף ולהסיר מופעים בלי לעדכן את לוח הזמנים לפריסת תיקוני האבטחה.

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

  • בודקים את המכסות של OS Config.
  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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
  • הגדרת אזור ותחום כברירת מחדל
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

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

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .

אפשר לתזמן את עבודות הטלאים באמצעות Cloud de Confiance מסוף, Google Cloud CLI או REST.

הרשאות

לבעלי פרויקט יש גישה מלאה ליצירה ולניהול של פריסות תיקונים. לכל שאר המשתמשים, צריך להעניק הרשאות. אפשר להעניק את אחד מהתפקידים הבאים עם הרשאות מפורטות:

  • roles/osconfig.patchDeploymentAdmin: מכיל הרשאות ליצירה, למחיקה, לקבלת מידע ולרישום של פריסות תיקונים.
  • roles/osconfig.patchDeploymentViewer: מכיל הרשאות לגישת קריאה בלבד כדי לקבל ולרשום פריסות של תיקוני אבטחה.

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

gcloud projects add-iam-policy-binding project-id \
    --member user:user-id@gmail.com \
    --role roles/osconfig.patchDeploymentAdmin

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

  • project-id: מזהה הפרויקט.
  • user-id: שם המשתמש של המשתמש ב-Google Workspace.

יצירת פריסת תיקון

כשיוצרים פריסת תיקון, השם של פריסת התיקון צריך לעמוד בדרישות הבאות:

  • כל שם חייב להיות ייחודי בפרויקט
  • הוא יכול לכלול רק אותיות קטנות, מספרים ומקפים
  • התחלה באות
  • השם צריך להסתיים בספרה או באות
  • להיות באורך של 1 עד 63 תווים

ב-Google Cloud CLI וב-REST, השם של פריסת התיקון נקרא patch-deployment-id.

אחרי שמתחילים לפרוס תיקון, אפשר לעקוב אחרי התיקונים באמצעות לוח הבקרה של התיקונים. הנתונים יופיעו בלוח הבקרה כ-30 דקות אחרי שתהליך הטלאי יתחיל.

console

  1. במסוף Cloud de Confiance , עוברים לדף Compute Engine > VM Manager > Patch.

    כניסה לדף Patch

  2. לוחצים על פריסת תיקון חדשה.
  3. בקטע Target VMs בוחרים את האזור שמכיל את מכונות ה-VM שרוצים להחיל עליהן תיקון. אפשר גם לבחור את כל האזורים.

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

    • קידומת שם: test-
    • תוויות: env=dev ו-app=web
  4. בקטע Patch configuration (הגדרת תיקון), מגדירים את התיקון.

    1. מציינים שם לתיקון.
    2. בוחרים את העדכונים הנדרשים למערכת ההפעלה. מידע נוסף זמין במאמר מה כלול בעבודת תיקון של מערכת הפעלה.
  5. בקטע Scheduling (תזמון), מבצעים את הפעולות הבאות:

    • בוחרים לוח זמנים. אתם יכולים לתזמן עבודת תיקון חד-פעמית או עבודות תיקון חוזרות.
    • (אופציונלי) מגדירים משך או חלון זמן לתחזוקה.
  6. בקטע Rollout options (אפשרויות הפצה), מגדירים את אפשרויות הפצת הטלאי:

    • בוחרים אם להחיל תיקון על אזור אחד בכל פעם או על כמה אזורים בו-זמנית.
    • מגדירים תקציב שיבושים. תקציב ההפרעות הוא מספר או אחוז המכונות הווירטואליות באזור שרוצים להפריע להן בו-זמנית בתהליך תיקון הבאגים.
  7. (אופציונלי) בקטע אפשרויות מתקדמות, אפשר לבצע את הפעולות הבאות:

  8. לוחצים על פריסה.

gcloud

כדי ליצור פריסת תיקון, משתמשים בפקודה os-config patch-deployments create.

gcloud compute os-config patch-deployments create patch-deployment-id \
    --file patch-deployment-file

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

  • patch-deployment-id: השם של פריסת התיקון.
  • patch-deployment-file: הנתיב לקובץ ה-YAML או ה-JSON שמכיל את ההגדרות של פריסת התיקון.

קבצי YAML לדוגמה לפריסת תיקון

אפשר להשתמש בקובץ ה-YAML לדוגמה הבא כדי ליצור תזמון חוזר לכל המופעים באזורים us-west2-b ו-us-west2-c. המאפיינים של התזמון החוזר:

  • תאריך ההתחלה הוא 9 בינואר 2019 בשעה 19:30
  • תאריך הסיום הוא 9 בינואר 2020 בשעה 19:30
  • אזור הזמן לשימוש הוא America/Los_Angeles
  • פועל כל שבוע ביום שלישי
instanceFilter:
  zones:
  - us-west2-b
  - us-west2-c
recurringSchedule:
  frequency: WEEKLY
  weekly:
    dayOfWeek: TUESDAY
  timeOfDay:
    hours: 19
    minutes: 30
  timeZone:
    id: America/Los_Angeles
  startTime: '2019-09-01T12:00:00Z'
  endTime: '2020-09-01T12:00:00Z'

REST

ב-API, יוצרים בקשת POST כדי ליצור פריסת תיקון חדשה. צריך להגדיר באופן מפורש את כל שדות ההגדרה הנדרשים, כפי שמתואר ב<High Priority Term: מאמרי העזרה של ה-API>‏ patchDeployments.create. לדוגמה, פריסת תיקון עם השדות המינימליים הנדרשים (מסנן מופעים ותזמון) נראית כך. מחליפים את project-id במזהה הפרויקט.

POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute

{
  "instanceFilter": instance-filter

  // Add one of the following parameters:
  "recurringSchedule": schedule
  "oneTimeSchedule": schedule
}

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

  • project-id: מזהה הפרויקט.
  • instance-filter: פרמטרי הסינון הרצויים. למידע נוסף על מסננים של מופעים, ראו מסננים של מופעים.
  • schedule: צריך לספק את הפרמטר oneTimeSchedule או את הפרמטר recurringSchedule עם פרטים על פרמטרי התזמון, כמו תאריך, שעה ותדירות להפעלת עבודת התיקון.

דוגמאות

דוגמה 1: יצירת תזמון חד-פעמי להפעלת עבודת תיקון ב-10 בינואר 2020 בשעה 00:00 UTC בכל המכונות באזורים us-west2-b ו-us-west2-c.

{
 "instanceFilter":{
   "zones":[
     "us-west2-b",
     "us-west2-c"
   ]
 },
 "oneTimeSchedule": {
   "executeTime": "2020-01-10T00:00:00Z"
 }
}

דוגמה 2: יצירת לוח זמנים חוזר לכל המכונות באזורים us-west2-b ו-us-west2-c. לוח הזמנים החוזר כולל את המפרטים הבאים:

  • תאריך ההתחלה הוא 9 בינואר 2019 בשעה 19:30
  • תאריך הסיום הוא 9 בינואר 2020 בשעה 19:30
  • אזור הזמן לשימוש הוא America/Los_Angeles
  • פועל כל שבוע ביום שלישי
POST https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments
{
  "instanceFilter":{
    "zones":[
      "us-west2-b",
      "us-west2-c"
    ]
  },
  "recurringSchedule":{
    "frequency":"WEEKLY",
    "weekly":{
      "dayOfWeek":"TUESDAY"
    },
    "timeOfDay":{
      "hours":19,
      "minutes":30
    },
    "timeZone":{
      "id":"America/Los_Angeles"
    },
    "startTime":"2019-09-01T12:00:00Z",
    "endTime":"2020-09-01T12:00:00Z"
  }
}

הצגת רשימה של פריסות תיקונים

console

  1. במסוף Cloud de Confiance , עוברים לדף Compute Engine > VM Manager > Patch.

    כניסה לדף Patch

  2. לוחצים על הכרטיסייה פריסות מתוזמנות.

gcloud

משתמשים בפקודה os-config patch-deployments list כדי להציג רשימה של פריסות תיקונים.

gcloud compute os-config patch-deployments list

הפקודה הזו מחזירה את כל פריסות הטלאים. הפלט אמור להיראות כך:

NAME              LAST_RUN                  NEXT_RUN              FREQUENCY
first-deployment  2019-12-18T00:07:00.738Z  ---                   Once: Scheduled for 2019-12-18T00:07:00.000Z
my-deployment1    2020-01-05T14:00:00.228Z  2020-01-12T14:00:00Z  Recurring - Weekly
my-deployment2    ---                       2020-01-15T05:30:00Z  Recurring - Monthly on specific date(s)

אפשר להשתמש בדגלים נוספים כדי להגביל את החיפוש ולעצב אותו. לדוגמה, כדי להציג את 10 פריסות הטלאים הראשונות בדפים של 2, מריצים את הפקודה הבאה. מחליפים את project-id במזהה הפרויקט.

gcloud compute os-config patch-deployments list --limit 10 --page-size 2

REST

ב-API, יוצרים בקשת GET ל-method‏ patchDeployments.list. מחליפים את project-id במזהה הפרויקט.

GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments

תארו פריסת תיקון

console

  1. במסוף Cloud de Confiance , עוברים לדף Compute Engine > VM Manager > Patch.

    כניסה לדף Patch

  2. לוחצים על הכרטיסייה פריסות מתוזמנות.
  3. לוחצים על שם הפריסה שרוצים לבדוק.

gcloud

כדי לתאר פריסת תיקון, משתמשים בפקודה os-config patch-deployments describe. מחליפים את patch-deployment-id בשם של פריסת הטלאי.

gcloud compute os-config patch-deployments describe patch-deployment-id

REST

ב-API, יוצרים בקשת GET אל ה-method‏ patchDeployments.get.

GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id

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

  • project-id: מזהה הפרויקט.
  • patch-deployment-id: השם של פריסת התיקון.

מחיקה של פריסת תיקון

console

  1. במסוף Cloud de Confiance , עוברים לדף Compute Engine > VM Manager > Patch.

    כניסה לדף Patch

  2. לוחצים על הכרטיסייה פריסות מתוזמנות.
  3. לוחצים על השם של הפריסה שרוצים למחוק.
  4. לוחצים על מחיקת לוח הזמנים הזה.

gcloud

כדי למחוק פריסת תיקון, משתמשים בפקודה os-config patch-deployments delete. מחליפים את patch-deployment-id בשם של פריסת הטלאי.

gcloud compute os-config patch-deployments delete patch-deployment-id

REST

ב-API, יוצרים בקשת DELETE ל-method‏ patchDeployments.delete.

DELETE https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id

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

  • project-id: מזהה הפרויקט.
  • patch-deployment-id: השם של פריסת התיקון.

מה השלב הבא?