אתם יכולים ליצור קובצי אימג' מותאמים אישית של Windows Server מקובצי אימג' קיימים של Windows Server ב-Compute Engine. אפשר להשתמש בתמונות המותאמות אישית האלה כדי ליצור מופעים עם דיסקים לאתחול שזהים למופעים הקיימים.
התמונות המותאמות אישית האלה שימושיות לשמירת הגדרות מערכת ההפעלה של המופעים הקיימים, ולשימוש חוזר באותן הגדרות כדי ליצור מופעים אחרים.
הפעולות הבאות לא מוסברות בקטע הזה:
- יצירת מכונה מקובץ אימג' ציבורי או מקובץ אימג' בהתאמה אישית. במקום זאת, אפשר לעיין במאמר בנושא יצירת מכונת Windows חדשה.
- אפשר לתזמן גיבוי של הדיסקים. במקום זאת, כדאי לעיין במאמר מידע על תזמון של יצירת קובצי snapshot לדיסקים.
- ייבוא של מערכות Windows Server או SQL Server. במקום זאת, צריך להשתמש בשירות להעברת מכונות וירטואליות.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
המשך
כדי להשתמש בדוגמאות של Go שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
כדי להשתמש בדוגמאות של Java שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
כדי להשתמש בדוגמאות של Node.js שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Python שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
כדי לקבל את ההרשאות שדרושות ליצירת תמונה מותאמת אישית של Windows Server, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- מנהל מכונות של Compute (גרסה 1) (
roles/compute.instanceAdmin.v1) -
כדי להתחבר למופע שמצורף אליו חשבון שירות:
משתמש בחשבון שירות (גרסה 1) (
roles/iam.serviceAccountUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות ליצירת תמונה מותאמת אישית של Windows Server. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור תמונה מותאמת אישית של Windows Server, צריך את ההרשאות הבאות:
-
compute.images.create -
כדי ליצור אימג' בהתאמה אישית מדיסק:
compute.disks.useReadOnlyבדיסק -
כדי ליצור אימג' בהתאמה אישית מאימג' קיים:
compute.images.useReadOnlyבאימג' המקור -
כדי ליצור אימג' בהתאמה אישית מ-snapshot רגיל או מקובץ snapshot של ארכיון:
compute.snapshots.useReadOnlyב-snapshot המקור -
כדי להוסיף תווית לתמונה החדשה:
compute.images.setLabelsלוחצים על התווית
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הכנה ליצירת קובץ אימג' של Windows Server
לפני שיוצרים את התמונה, מריצים את הפקודה GCESysprep במופע כדי להכין אותו לתהליך יצירת התמונה.
GCESysprep מכין מכונה להפוך לתמונה של Compute Engine על ידי השלמת השלבים הבאים:
- משבית את המשימה המתוזמנת
GCEStartup. - כל הקבצים יימחקו ממיקום התיקייה הזמנית.
- מנקה את כל יומני האירועים של Windows.
- מריץ את הפקודה sysprep.exe /generalize /oobe /quit /unattend
- ההגדרה קובעת ש-
instance_setup.ps1יפעל בהפעלה הראשונה של המכונה הווירטואלית. - מוחק את אישור ה-RDP.
- הסרת הרשימה המאוחסנת של דיסקים של אחסון מתמיד.
- הפעלה של כללים לחומת האש של RDP ו-WinRM.
- ההגדרה משביתה את שירות ההגדרות של מערכת ההפעלה של Google.
- מכבה את המופע.
פעולות GCESysprep נרשמות ביומן האירועים של Windows וביציאה טורית 1.
Sysprep כותב לכמה קבצי יומן.
איך יוצרים תמונה של Compute Engine באמצעות GCESysprep:
מריצים את הפקודה
GCESysprepעם הרשאות אדמין.GCESysprep
ציון מיקום של תמונה
כשיוצרים תמונה בהתאמה אישית, אפשר לציין את המיקום של התמונה ב-Cloud Storage, לא כולל מיקומים בשני אזורים. כשמציינים את מיקום האחסון של התמונות, אפשר לעמוד בדרישות הרגולטוריות ובדרישות התאימות לגבי מיקום הנתונים, וגם בדרישות לגבי זמינות גבוהה, על ידי הבטחת יתירות בין אזורים.
התכונה 'מיקום האחסון' היא אופציונלית. אם לא בוחרים מיקום, Compute Engine מאחסן את התמונה באזור הרב-אזורי הקרוב ביותר למקור התמונה. אתם יכולים ליצור תמונות בהתאמה אישית מדיסקים, תמונות, תמונות מצב או תמונות שמאוחסנות ב-Cloud Storage. אפשר להשתמש בתמונות האלה כדי ליצור מכונות וירטואליות חדשות.
כל התמונות הקיימות שלכם לפני השקת התכונה הזו יישארו במקומות שבהם הן נמצאות. השינוי היחיד הוא שתוכלו לראות את מיקום התמונה של כל התמונות שלכם. אם יש לכם תמונה קיימת שאתם רוצים להעביר, אתם צריכים ליצור אותה מחדש במיקום שנבחר.
יצירת תמונה של Windows
אפשר ליצור תמונות דיסק מהמקורות הבאים:
- אחסון מתמיד (persistent disk), גם כשהדיסק הזה מחובר למכונה
- תמונת מצב של דיסק אחסון מתמיד (persistent disk)
- תמונה אחרת בפרויקט
- תמונה ששותפה מפרויקט אחר
תמונה מיובאת שמאוחסנת ב-Cloud Storage
המסוף
- נכנסים לדף Create a new image במסוף Google Cloud .
- מציינים את השם של התמונה.
- בוחרים דיסק מקור עם מערכת הפעלה של Windows שממנו רוצים ליצור תמונה.
- מציינים את המיקום לאחסון התמונה. בוחרים מיקום של תמונה מהתפריט הנפתח בהתבסס על מיקום בדיסק המקור (ברירת מחדל). לדוגמה, מציינים
usכדי לאחסן את התמונה במספר אזוריםus, אוus-central1כדי לאחסן אותה באזורus-central1. אם לא תבחרו אזור, Compute Engine ישמור את התמונה באזור הרב-אזורי הקרוב ביותר למיקום המקור של התמונה. - מציינים את המאפיינים של התמונה. לדוגמה, אתם יכולים לציין שם של משפחת תמונות בשביל התמונה שלכם כדי לארגן אותה כחלק ממשפחת תמונות.
- לוחצים על יצירה.
Google Cloud CLI
משתמשים ב-gcloud compute עם images create ומציינים את דיסק האחסון המתמיד (persistent disk) שממנו רוצים ליצור תמונה.
אפשר גם להוסיף את הדגל --force כדי ליצור את התמונה גם אם היא מצורפת למכונה פעילה.
gcloud compute images create example-image --source-disk DISK_NAME \
--source-disk-zone ZONE \
--storage-location LOCATION \
[--force]
מחליפים את מה שכתוב בשדות הבאים:
-
DISK_NAME: השם של דיסק המקור שממנו רוצים ליצור את התמונה. -
ZONE: האזור של הדיסק. -
LOCATION: דגל אופציונלי שמאפשר לכם לציין את האזור או את מספר האזורים שבהם התמונה תאוחסן. לדוגמה, מצייניםusכדי לאחסן את התמונה במספר אזוריםus, אוus-central1כדי לאחסן אותה באזורus-central1. אם לא בוחרים אזור, Compute Engine מאחסן את התמונה באזור הרב-אזורי הקרוב ביותר למיקום המקור של התמונה. -
--force: דגל אופציונלי שיוצר את התמונה גם אם הדיסק מצורף למופע פעיל. האפשרות הזו עלולה לפגוע בשלמות התמונה. אם אפשר, כדאי לעצור את המופע לפני שיוצרים את התמונה.
כשמריצים את הפקודה הזו, gcloud compute יוצר תמונה חדשה על סמך דיסק האחסון המתמיד שסיפקתם ומוסיף אותה לאוסף. כדי לוודא שהתמונה נוצרה בהצלחה, מריצים את הפקודה:
gcloud compute images list
המשך
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה שבמדריך למתחילים של Compute Engine באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Compute Engine Go API.
כדי לבצע אימות ב-Compute Engine, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של Compute Engine באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Compute Engine Java API.
כדי לבצע אימות ב-Compute Engine, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של Compute Engine באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Compute Engine Node.js API.
כדי לבצע אימות ב-Compute Engine, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של Compute Engine באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Compute Engine Python API.
כדי לבצע אימות ב-Compute Engine, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
REST
שולחים בקשת POST אל ה-method images().insert, עם כתובת URL מסוג sourceDisk בגוף הבקשה.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images?FORCE_OPTION
{
"name": "IMAGE_NAME",
"sourceDisk": "zones/ZONE/disks/DISK_NAME",
"storageLocations": "LOCATION",
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של הבקשה הזו. -
FORCE_OPTION: דגל אופציונלי ליצירת התמונה גם אם דיסק המקור מצורף למכונה פעילה. כדי להגדיר את האפשרות הזו, מצייניםforceCreate=trueבסוף שורת ה-POST. האפשרות הזו עלולה לפגוע בשלמות התמונה. אם אפשר, כדאי לעצור את המופע לפני שיוצרים את התמונה. -
IMAGE_NAME: השם שרוצים לתת לתמונה. -
ZONE: האזור של דיסק המקור שממנו רוצים ליצור תמונה. -
DISK_NAME: שם דיסק המקור. -
LOCATION: פרמטר אופציונלי שמאפשר לבחור את המיקום של התמונה באחסון מרובה אזורים או באזור מסוים. לדוגמה, מצייניםusכדי לאחסן את התמונה במספר אזוריםus, אוus-central1כדי לאחסן אותה באזורus-central1. אם לא בוחרים אזור, Compute Engine מאחסן את התמונה באזור הרב-אזורי הקרוב ביותר למיקום המקור של התמונה.
מידע נוסף על הוספת תמונות זמין במאמר בנושא תמונות.
עדכון סקריפטים וסוכנים של Windows
מדי פעם, צוות Compute Engine מפרסם תמונות חדשות של Windows עם הסוכנים והסקריפטים העדכניים ביותר. הפריטים האלה עוזרים למופעי Windows בתהליכי ההפעלה והכיבוי, בניהול החשבון ובניהול הכתובות.
החל מגרסת תמונת Windows v20160112, סוכן Windows מעדכן את עצמו באמצעות גרסאות שמתפרסמות ב-upstream. כדי להשבית את העדכונים האלה של הסוכן, צריך להגדיר את מפתח המטא-נתונים של המכונה disable-agent-updates לערך true. אם יש לכם מופעים שמבוססים על גרסאות ישנות יותר של תמונות, אתם יכולים לעדכן ידנית את סוכן Windows של המופעים האלה.