אתם יכולים ליצור קובצי אימג' מותאמים אישית של Windows Server מקובצי אימג' קיימים של Windows Server ב-Compute Engine. אפשר להשתמש בתמונות בהתאמה אישית כדי ליצור מופעים עם דיסקים לאתחול שזהים למופעים הקיימים.
התמונות המותאמות אישית האלה שימושיות לשמירת הגדרות מערכת ההפעלה של המופעים הקיימים ולשימוש חוזר באותן הגדרות כדי ליצור מופעים אחרים.
הפעולות הבאות לא מוסברות בקטע הזה:
- יצירת מכונה מקובץ אימג' ציבורי או מקובץ אימג' בהתאמה אישית. במקום זאת, אפשר לעיין במאמר יצירת מכונת Windows חדשה.
- במקום זאת, אפשר לעיין במאמר מידע על תזמון של יצירת snapshot לדיסקים.
- לייבא מערכות Windows Server או SQL Server. במקום זאת, צריך להשתמש בשירות להעברת מכונות וירטואליות.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
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 Instance Admin (v1) (
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
- תמונה אחרת בפרויקט
- תמונה ששותפה מפרויקט אחר
תמונה מיובאת שמאוחסנת ב-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 של המופעים האלה.