במאמר הזה מוסבר איך ליצור מקום שמור לפרויקט יחיד, שניתן להשתמש בו רק במכונות וירטואליות (VM) באותו פרויקט. מידע נוסף על הזמנות זמין במאמר בנושא איך מבקשים מקום שמור למשאבים של תחום מוגדר ב-Compute Engine.
כדי ליצור הזמנות בשיטות אחרות, אפשר לעיין בדפים הבאים:
כדי ליצור הזמנה שאפשר להשתמש בה בכמה פרויקטים, אפשר לעיין במאמר בנושא יצירת הזמנה משותפת.
כדי ליצור הזמנה כשרוכשים התחייבות לשימוש במשאבים, קראו את המאמר רכישת התחייבויות לחומרה עם הזמנות מצורפות. התחייבויות לשימוש מספקות הנחות, שנקראות הנחות תמורת התחייבות לשימוש (CUD), על עלויות המשאבים על פי דרישה בתמורה לרכישת כמות מינימלית של משאבים או להוצאת סכום מינימלי.
לפני שמתחילים
- כדאי לעיין בדרישות וב הגבלות בנוגע להזמנות.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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 באמצעות המאגר המאוחד לניהול זהויות.
Terraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת מקום שמור לפרויקט יחיד, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין של Compute (roles/compute.admin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת הזמנות לפרויקט יחיד. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור מקומות שמורים לפרויקט יחיד, נדרשות ההרשאות הבאות:
-
compute.reservations.createבפרויקט -
כדי לציין תבנית של הגדרות מכונה:
compute.instanceTemplates.useReadOnlyבתבנית של הגדרות המכונה
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת מקום שמור לפרויקט יחיד
כדי להשתמש בהזמנה, למכונה וירטואלית צריכים להיות מאפיינים שתואמים בדיוק להזמנה הזו. כדי לציין את המאפיינים של המכונות הווירטואליות שרוצים לשריין, בוחרים באחד מהקטעים הבאים במסמך הזה:
מומלץ: מציינים תבנית של הגדרות מכונה
בקטע הזה מוסבר איך להשתמש בתבנית של הגדרות מכונה כדי להגדיר את המאפיינים של מקום שמור. באמצעות תבנית של הגדרות מכונה, אתם יכולים להגדיר את המאפיינים של שריין ואת המכונות הווירטואליות שיכולות להשתמש בשריין באותו מקום.
-
בקטע הזה מוסבר איך להשתמש במכונה וירטואלית קיימת כדי להגדיר את המאפיינים של הזמנה. כדי להשתמש במאפיינים של VM קיים, אתם יכולים ליצור מכונות וירטואליות עם מאפיינים שתואמים ל-VM שאליו אתם מפנים.
-
בקטע הזה מוסבר איך להגדיר ישירות את המאפיינים של הזמנה. בשיטה הזו, אתם צריכים לוודא באופן ידני שהמאפיינים של המכונות הווירטואליות וההזמנות זהים בדיוק – אם יש מאפיינים לא תואמים, לא ניתן להשתמש בהזמנה.
כברירת מחדל, כל מכונה וירטואלית עם מאפיינים שתואמים לבקשה יכולה להשתמש בה אוטומטית. כדי לשלוט בצריכת ההזמנה, אפשר לבצע אחת או יותר מהפעולות הבאות:
ליצור הזמנה שאפשר להשתמש בה רק במכונות וירטואליות שמטרגטות אותה באופן ספציפי, כמו שמוסבר בקטעים הבאים במסמך הזה. לאחר מכן, מגדירים את המכונות הווירטואליות כך שישתמשו בהזמנה הספציפית הזו.
בנוסף, אתם יכולים לציין מדיניות למיקום קומפקטי כשאתם יוצרים הזמנה ספציפית לפרויקט יחיד. מדיניות מיקום קומפקטית מציינת שהמכונות הווירטואליות צריכות להיות ממוקמות כמה שיותר קרוב זו לזו כדי לצמצם את זמן האחזור ברשת.
ציון תבנית של הגדרות מכונה
כדי להימנע משגיאות כשיוצרים הזמנה על ידי ציון תבנית של הגדרות מכונה, חשוב לוודא את הדברים הבאים:
יוצרים את המקום השמור באותו אזור ואותו תחום (zone) כמו המשאבים בתבנית של הגדרות מכונה. כל משאב אזורי או משאב של תחום מוגדר שצוין בתבנית של הגדרות מכונה, כמו סוג מכונה או נפח של Persistent Disk, מגביל את השימוש בתבנית למיקומים שבהם המשאבים האלה קיימים. לדוגמה, אם בתבנית של הגדרות המכונה מצוין נפח של Persistent Disk קיים באזור
us-central1-a, אפשר ליצור את השריין רק באותו אזור. כדי לבדוק אם תבנית קיימת מציינת משאבים שמקשרים את התבנית לאזור או לתחום מוגדר ספציפיים, צופים בפרטים של תבנית של הגדרות מכונה ומחפשים בתוכה הפניות למשאבים אזוריים או למשאבים של תחום מוגדר.אם בתבנית של הגדרות מכונה יש מדיניות למיקום קומפקטי, צריך לוודא שבתבנית מוגדר סוג מכונה נתמך למדיניות למיקום קומפקטי. אחרת, יצירת הבקשה לשמירת מקום תיכשל.
כדי ליצור מקום שמור לפרויקט יחיד באמצעות ציון תבנית של הגדרות מכונה, בוחרים אחת מהאפשרויות הבאות:
המסוף
פותחים את הדף Reservations במסוף Google Cloud .
לוחצים על Create reservation. ייפתח הדף Create a reservation.
נותנים לבקשה שם בשדה Name.
ברשימות Region ו-Zone, בוחרים את האזור והתחום שבהם רוצים לשריין את המשאבים.
אופציונלי: כדי לאפשר למשימות אימון בהתאמה אישית או למשימות חיזוי ב-Vertex AI להשתמש בשמירת מקום למכונות וירטואליות של GPU, בקטע Google Cloud services בוחרים באפשרות Share reservation.
בקטע Use with VM instance, בוחרים באחת מהאפשרויות הבאות:
כדי להשתמש אוטומטית במכונות וירטואליות שמתאימות לפרטי הבקשה, מסמנים את האפשרות Use reservation automatically.
כדי להשתמש במשאבים שמתאימים לפרטי הבקשה רק כשיוצרים מכונות וירטואליות שמיועדות ספציפית אליה (לפי שם), בוחרים באפשרות Select specific reservation.
בקטע Resource details (פרטי המשאב), מבצעים את הפעולות הבאות:
בשדה Number of VM instances מקלידים את מספר המכונות הווירטואליות שרוצים לשריין.
כדי לציין את ההגדרות של המכונה הווירטואלית באמצעות תבנית של הגדרות מכונה, בוחרים באפשרות Use instance template ואז בוחרים את התבנית של הגדרות המכונה ברשימה שמופיעה.
בקטע Auto-delete, אפשר להפעיל את אפשרות המחיקה האוטומטית כדי ש-Compute Engine ימחק אוטומטית את הבקשה לשמירת מקום בתאריך ובשעה ספציפיים. מתי זה שימושי? למשל כשמתכננים להפסיק את השימוש במשאבים ששוריינו ורוצים למנוע חיובים לא נחוצים.
לוחצים על Create כדי ליצור את הבקשה לשמירת מקום. ייפתח הדף Reservations. הבקשה תיווצר תוך כדקה. כדי לראות מתי הבקשה תיווצר ב-Compute Engine, אתם יכולים לפתוח את רשימת השמירות.
gcloud
כדי ליצור מקום שמור לפרויקט יחיד, משתמשים בפקודה gcloud compute reservations create.
כדי ליצור מקום שמור לפרויקט יחיד על ידי ציון תבנית של הגדרות מכונה ובלי לכלול דגלים אופציונליים, מריצים את הפקודה הבאה:
gcloud compute reservations create RESERVATION_NAME \
--source-instance-template=INSTANCE_TEMPLATE_URL \
--vm-count=NUMBER_OF_VMS \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
RESERVATION_NAME: השם של ההזמנה שרוצים ליצור.
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית קיימת של הגדרות מכונה. מציינים אחד מהערכים הבאים:לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAMEלתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_NAME
NUMBER_OF_VMS: מספר המכונות הווירטואליות שרוצים לשריין.
ZONE: האזור שבו רוצים לשריין משאבים.
לדוגמה, כדי ליצור מקום שמור של עשר מכונות וירטואליות בתחום (zone) us-central1-a על ידי ציון תבנית של הגדרות מכונה גלובלית, מריצים את הפקודה הבאה:
gcloud compute reservations create my-reservation \
--source-instance-template=example-instance-template \
--vm-count=10 \
--zone=us-central1-a
אפשר גם לבצע אחת או יותר מהפעולות הבאות:
כדי לציין שרק מכונות וירטואליות שמיועדות ספציפית לשימוש בהזמנה הזו יכולות להשתמש בה, צריך לכלול את האפשרות
--require-specific-reservation.gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=INSTANCE_TEMPLATE_URL \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEכדי לשמור מקום למכונות וירטואליות של GPU שמיועדות למשימות אימון בהתאמה אישית או למשימות חיזוי ב-Vertex AI, צריך להוסיף את האפשרות
--reservation-sharing-policyעם הערךALLOW_ALL.gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=INSTANCE_TEMPLATE_URL \ --reservation-sharing-policy=ALLOW_ALL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEכדי לאפשר ל-Compute Engine למחוק אוטומטית את הבקשה לשמירת מקום, בוחרים אחת מהשיטות הבאות:
כדי למחוק את הבקשה לשמירת מקום בתאריך ובשעה ספציפיים, משתמשים בפקודה
gcloud beta compute reservations createעם הדגל--delete-at-time.gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --source-instance-template=INSTANCE_TEMPLATE_URL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEמחליפים את
DELETE_AT_TIMEבתאריך ובשעה בפורמט של חותמת זמן לפי RFC 3339, שצריכה להיות בפורמט הבא:none YYYY-MM-DDTHH:MM:SSOFFSETמחליפים את מה שכתוב בשדות הבאים:
YYYY-MM-DD: תאריך בפורמט של שנה בת 4 ספרות, חודש בן 2 ספרות ויום בחודש בן 2 ספרות, שמופרדים במקפים (-).
HH:MM:SS: שעה בפורמט של שעה בת 2 ספרות בשיטת 24 שעות, דקות בנות 2 ספרות ושניות בנות 2 ספרות, מופרדות באמצעות נקודתיים (:).
OFFSET: אזור הזמן בפורמט של היסט מזמן אוניברסלי מתואם (UTC). לדוגמה, כדי להשתמש בשעון החוף המערבי (PST), מציינים-08:00. לחלופין, כדי לא להשתמש בהזחה, מצייניםZ.
כדי למחוק את ההזמנה אחרי משך זמן מסוים, משתמשים בפקודה
gcloud beta compute reservations createעם הדגל--delete-after-duration.gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --source-instance-template=INSTANCE_TEMPLATE_URL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEמחליפים את
DELETE_AFTER_DURATIONבמשך זמן בימים, בשעות, בדקות או בשניות. לדוגמה, מציינים30mל-30 דקות, או1d2h3m4sליום אחד, שעתיים, 3 דקות ו-4 שניות.
המשך
Java
Node.js
Python
REST
כדי ליצור מקום שמור לפרויקט יחיד, שולחים בקשת POST אל ה-method reservations.insert.
כדי ליצור מקום שמור לפרויקט יחיד על ידי ציון תבנית של הגדרות מכונה ובלי לכלול דגלים אופציונליים, שולחים את הבקשה הבאה של POST:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations
{
"name": "RESERVATION_NAME",
"specificReservation": {
"count": "NUMBER_OF_VMS",
"sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL"
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו רוצים לשמור משאבים, ושבו נמצאת התבנית של הגדרות המכונה.
ZONE: האזור שבו רוצים לשריין משאבים.
RESERVATION_NAME: השם של ההזמנה שרוצים ליצור.
NUMBER_OF_VMS: מספר המכונות הווירטואליות שרוצים לשריין.
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית קיימת של הגדרות מכונה. מציינים את אחד מהערכים הבאים:לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAMEלתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_NAME
לדוגמה, כדי ליצור מקום שמור של עשר מכונות וירטואליות בתחום (zone) us-central1-a באמצעות תבנית של הגדרות מכונה גלובלית, שולחים את בקשת POST הבאה:
POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
{
"name": "my-reservation",
"specificReservation": {
"count": "10",
"sourceInstanceTemplate": "example-instance-template"
}
}
אפשר גם לבצע אחת או יותר מהפעולות הבאות:
כדי לציין שרק מכונות וירטואליות שמיועדות ספציפית לשריין הזה יכולות להשתמש בו, צריך לכלול את השדה
specificReservationRequiredבגוף הבקשה ולהגדיר את השדה ל-true.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL" }, "specificReservationRequired": true }כדי לאפשר למשימות אימון בהתאמה אישית או למשימות חיזוי ב-Vertex AI להשתמש במכונות וירטואליות של GPU שהוקצו, צריך לכלול את השדה
serviceShareTypeולהגדיר אותו לערךALLOW_ALL.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL" } }כדי לאפשר ל-Compute Engine למחוק אוטומטית את הבקשה לשמירת מקום, בוחרים באחת מהשיטות הבאות:
כדי למחוק את הבקשה לשמירת מקום בתאריך ובשעה מסוימים, שולחים בקשת
POSTאל ה-methodbeta.reservations.insert. בגוף הבקשה, כוללים את השדהdeleteAtTime.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL" } }מחליפים את
DELETE_AT_TIMEבתאריך ובשעה בפורמט של חותמת זמן RFC 3339, שצריכה להיות ככה:YYYY-MM-DDTHH:MM:SSOFFSETמחליפים את מה שכתוב בשדות הבאים:
YYYY-MM-DD: תאריך בפורמט של שנה בת 4 ספרות, חודש בן 2 ספרות ויום בחודש בן 2 ספרות, שמופרדים במקפים (-).
HH:MM:SS: שעה בפורמט של שעה בת 2 ספרות בשיטת 24 שעות, דקות בנות 2 ספרות ושניות בנות 2 ספרות, מופרדות באמצעות נקודתיים (:).
OFFSET: אזור הזמן בפורמט של היסט מזמן אוניברסלי מתואם (UTC). לדוגמה, כדי להשתמש בשעון החוף המערבי (PST), מציינים את הערך-08:00. לחלופין, כדי לא להשתמש בהיסט, מצייניםZ.
כדי למחוק את ההזמנה אחרי משך זמן מסוים, שולחים בקשת
POSTאל ה-methodbeta.reservations.insert. בגוף הבקשה, כוללים את השדהdeleteAfterDuration.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL" } }מחליפים את
DELETE_AFTER_DURATIONבמשך הזמן בשניות. לדוגמה, מציינים86400ל-86,400 שניות (יום אחד).
ציון מכונה וירטואלית קיימת
אפשר ליצור הזמנה רק על סמך מכונה וירטואלית קיימת באותו אזור כמו המכונה הווירטואלית.
אחרי שיוצרים את ההזמנה, אפשר להשתמש בה כדי ליצור מכונות וירטואליות עם מאפיינים שתואמים למכונה הווירטואלית שמשמשת כהפניה. כדי לעשות את זה, מבצעים אחת מהפעולות הבאות:
כך יוצרים תבנית של הגדרות מכונה ומשתמשים בה:
יוצרים תבנית של הגדרות מכונה על סמך המכונה הווירטואלית להפניה בלי לדרוס את המאפיינים של המכונה הווירטואלית להפניה.
כדי ליצור מכונות וירטואליות באמצעות התבנית החדשה, מבצעים את אחת מהפעולות הבאות או את שתיהן:
יוצרים מכונה וירטואלית על סמך המכונה הווירטואלית לדוגמה, ומוודאים שהמאפיינים של המכונה הווירטואלית החדשה ושל המכונה הווירטואלית לדוגמה תואמים בדיוק.
כדי ליצור מקום שמור לפרויקט יחיד שמשתמש במאפיינים של מכונה וירטואלית קיימת:
פותחים את הדף Reservations במסוף Google Cloud .
לוחצים על Create reservation (יצירת בקשה לשמירת מקום). ייפתח הדף Create a reservation.
נותנים לבקשה שם בשדה Name.
ברשימות Region ו-Zone, בוחרים את האזור והתחום שבהם רוצים לשריין את המשאבים.
אופציונלי: כדי לאפשר למשימות אימון בהתאמה אישית או למשימות חיזוי ב-Vertex AI להשתמש בשמירת מקום למכונות וירטואליות של GPU, בקטע Google Cloud services בוחרים באפשרות Share reservation.
בקטע Use with VM instance, בוחרים באחת מהאפשרויות הבאות:
כדי להשתמש אוטומטית במכונות וירטואליות שמתאימות לפרטי הבקשה, מסמנים את האפשרות Use reservation automatically.
כדי להשתמש במשאבים שמתאימים לפרטי הבקשה רק כשיוצרים מכונות וירטואליות שמיועדות ספציפית אליה (לפי שם), בוחרים באפשרות Select specific reservation.
בקטע Resource details:
בשדה Number of VM instances מקלידים את מספר המכונות הווירטואליות שרוצים לשריין.
כדי להגדיר את המכונות הווירטואליות באמצעות תבנית של הגדרות מכונה, בוחרים באפשרות Use existing VM ואז בוחרים את המכונה הווירטואלית מהרשימה שמופיעה.
אופציונלי: כדי לציין מדיניות מיקום קומפקטית להזמנה שעומדת בדרישות, בקטע מדיניות מיקום קבוצתית, לוחצים על הרשימה בחירה או יצירה של מדיניות מיקום קבוצתית, ואז מבצעים אחת מהפעולות הבאות:
כדי ליצור מדיניות למיקום קומפקטי שאפשר לציין בהזמנה הזו:
לוחצים על Create group placement policy. מופיעה החלונית Create a group placement policy.
בשדה שם המדיניות, מזינים שם למדיניות.
לוחצים על יצירה. יצירת המדיניות למיקום קומפקטי עשויה להימשך כמה שניות.
אחרת, בוחרים מדיניות קיימת למיקום קומפקטי.
בקטע Auto-delete, אפשר להפעיל את אפשרות המחיקה האוטומטית כדי ש-Compute Engine ימחק אוטומטית את הבקשה לשמירת מקום בתאריך ובשעה ספציפיים. מתי זה שימושי? למשל כשמתכננים להפסיק את השימוש במשאבים ששוריינו ורוצים למנוע חיובים לא נחוצים.
לוחצים על Create כדי ליצור את הבקשה לשמירת מקום. ייפתח הדף Reservations. הבקשה תיווצר תוך כדקה. כדי לראות מתי הבקשה תיווצר ב-Compute Engine, אתם יכולים לפתוח את רשימת הבקשות לשמירת מקום.
ציון מאפיינים ישירות
כדי ליצור מקום שמור לפרויקט יחיד על ידי ציון מאפיינים ישירות, בוחרים באחת מהאפשרויות הבאות:
המסוף
פותחים את הדף Reservations במסוף Google Cloud .
לוחצים על Create reservation (יצירת בקשה לשמירת מקום). ייפתח הדף Create a reservation.
נותנים לבקשה שם בשדה Name.
ברשימות Region ו-Zone, בוחרים את האזור והתחום שבהם רוצים לשריין את המשאבים.
אופציונלי: כדי לאפשר למשימות אימון בהתאמה אישית או למשימות חיזוי ב-Vertex AI להשתמש במכונות וירטואליות של GPU שהוקצו, בקטע Google Cloud services בוחרים באפשרות Share reservation.
בקטע Use with VM instance, בוחרים באחת מהאפשרויות הבאות:
כדי להשתמש אוטומטית במכונות וירטואליות שמתאימות לפרטי הבקשה, מסמנים את האפשרות Use reservation automatically.
כדי להשתמש במשאבים שמתאימים לפרטי הבקשה רק כשיוצרים מכונות וירטואליות שמיועדות ספציפית אליה (לפי שם), בוחרים באפשרות Select specific reservation.
בקטע Resource details (פרטי המשאב), מבצעים את הפעולות הבאות:
בשדה Number of VM instances, כותבים כמה מכונות וירטואליות רוצים לשריין.
מציינים את סדרת המכונות ואת הסוג שרוצים לשריין.
אופציונלי: כדי לציין מדיניות מיקום קומפקטית להזמנה שעומדת בדרישות ההזמנה, בקטע מדיניות מיקום של קבוצה, לוחצים על הרשימה בחירה או יצירה של מדיניות מיקום של קבוצה ואז מבצעים אחת מהפעולות הבאות:
כדי ליצור מדיניות מיקום קומפקטית שאפשר לציין בהזמנה הזו:
לוחצים על יצירת מדיניות מיקום של קבוצה. מופיעה החלונית Create a group placement policy.
בשדה שם המדיניות, מזינים שם למדיניות.
לוחצים על יצירה. יצירת המדיניות למיקום קומפקטי עשויה להימשך כמה שניות.
אחרת, בוחרים מדיניות קיימת למיקום קומפקטי.
בקטע Auto-delete, אפשר להפעיל את אפשרות המחיקה האוטומטית כדי ש-Compute Engine ימחק אוטומטית את הבקשה לשמירת מקום בתאריך ובשעה ספציפיים. מתי זה שימושי? למשל כשמתכננים להפסיק את השימוש במשאבים ששוריינו ורוצים למנוע חיובים לא נחוצים.
לוחצים על Create כדי ליצור את הבקשה לשמירת מקום. ייפתח הדף Reservations. יכולות לעבור עד דקה עד שהבקשה תיווצר. כדי לראות מתי הבקשה תיווצר ב-Compute Engine, אתם יכולים לפתוח את רשימת הבקשות לשמירת מקום.
gcloud
כדי ליצור מקום שמור לפרויקט יחיד, משתמשים בפקודה gcloud compute reservations create.
כדי ליצור מקום שמור לפרויקט יחיד, מריצים את הפקודה הבאה ומציינים את המאפיינים ישירות, בלי לכלול דגלים אופציונליים:
gcloud compute reservations create RESERVATION_NAME \
--machine-type=MACHINE_TYPE \
--vm-count=NUMBER_OF_VMS \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
RESERVATION_NAME: השם של ההזמנה שרוצים ליצור.
MACHINE_TYPE: סוג המכונה לשימוש בכל מכונה וירטואלית.
NUMBER_OF_VMS: מספר המכונות הווירטואליות שרוצים לשריין.
ZONE: האזור שבו רוצים לשמור את המשאבים.
לדוגמה, כדי ליצור מקום שמור באזור us-central1-a לעשר מכונות וירטואליות שכל אחת מהן משתמשת במכונה עם קונפיגורציה מוגדרת (predefined) מסוג N2 עם 4 vCPU, מריצים את הפקודה הבאה:
gcloud compute reservations create my-reservation \
--machine-type=n2-standard-4 \
--vm-count=10 \
--zone=us-central1-a
אפשר גם לבצע אחת או יותר מהפעולות הבאות:
כדי לצרף יחידות GPU למכונות וירטואליות מסוג N1 שהוזמנו, צריך לכלול את הדגל
--accelerator.gcloud compute reservations create RESERVATION_NAME \ --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEמחליפים את מה שכתוב בשדות הבאים:
NUMBER_OF_ACCELERATORS: מספר יחידות ה-GPU שרוצים להוסיף לכל מכונה וירטואלית שמורה.
ACCELERATOR_TYPE: דגם GPU נתמך למכונות וירטואליות מסוג N1. מוודאים שדגם ה-GPU שבחרתם זמין בתחום שבו אתם רוצים לשריין משאבים. אחרת, יצירת ההזמנה תיכשל.
כדי לצרף דיסקים מסוג Local SSD לסוג מכונה שלא כולל דיסקים מסוג Local SSD כברירת מחדל, צריך לכלול את הדגל
--local-ssd. אפשר לצרף רק דיסקים מסוג Local SSD בנפח של 375GB.gcloud compute reservations create RESERVATION_NAME \ --local-ssd=count=NUMBER_OF_LOCAL_SSD_DISKS,size=375,interface=INTERFACE_TYPE \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEמחליפים את מה שכתוב בשדות הבאים:
NUMBER_OF_LOCAL_SSD_DISKS: מספר דיסקי ה-SSD המקומיים לצירוף.
INTERFACE_TYPE: סוג ממשק הדיסק שבו רוצים להשתמש בכל דיסק SSD מקומי, ושנתמך בסוג המכונה שצוין. מציינים אחד מהערכים הבאים:לממשק הדיסק NVME:
nvmeלממשק דיסק SCSI:
scsi
כדי שהמכונות הווירטואליות השמורות ישתמשו בפלטפורמת CPU מינימלית ספציפית במקום בפלטפורמת המעבד שמוגדרת כברירת מחדל באזור, צריך לכלול את הדגל
--min-cpu-platform.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --min-cpu-platform="MIN_CPU_PLATFORM" \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEמחליפים את
MIN_CPU_PLATFORMבפלטפורמת CPU מינימלית. כדי לוודא שפלטפורמת מעבד זמינה באזור שבו אתם מזמינים משאבים, אפשר לראות את פלטפורמות המעבד הזמינות לפי אזור.כדי לציין שרק מכונות וירטואליות שמיועדות ספציפית לבקשה הזו יכולות להשתמש בה, מוסיפים את הדגל
--require-specific-reservation.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEכדי לציין מדיניות מיקום קומפקטית לזמן אחזור נמוך יותר ברשת בין מכונות וירטואליות, צריך לכלול את הדגל
--resource-policies=policy.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --resource-policies=policy=COMPACT_PLACEMENT_POLICY_NAME \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEמחליפים את COMPACT_PLACEMENT_POLICY_NAME בשם של מדיניות למיקום קומפקטי קיימת. בנוסף, כדי למנוע שגיאות כשיוצרים מקום שמור לפרויקט יחיד שמצוינת בו מדיניות למיקום קומפקטי, חשוב לציין את הפרטים הבאים:
סוג מכונה נתמך ומספר מקסימלי של מכונות וירטואליות למדיניות מיקום קומפקטית.
תחום בתוך האזור שבו נמצאת המדיניות למיקום קומפקטי.
הדגל
--require-specific-reservation. המשמעות היא שרק מכונות וירטואליות שמיועדות ספציפית למקום השמור יכולות להשתמש בו.
כדי לאפשר למשימות אימון בהתאמה אישית או למשימות חיזוי ב-Vertex AI להשתמש במכונות וירטואליות של GPU ששמורות, צריך להוסיף את הדגל
--reservation-sharing-policyעם הערךALLOW_ALL.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --reservation-sharing-policy=ALLOW_ALL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEכדי לאפשר ל-Compute Engine למחוק אוטומטית את הבקשה לשמירת מקום, בוחרים אחת מהשיטות הבאות:
כדי למחוק את הבקשה לשמירת מקום בתאריך ובשעה ספציפיים, משתמשים בפקודה
gcloud beta compute reservations createעם הדגל--delete-at-time.gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEמחליפים את
DELETE_AT_TIMEבתאריך ובשעה בפורמט של חותמת זמן RFC 3339, שצריך להיות כזה:YYYY-MM-DDTHH:MM:SSOFFSETמחליפים את מה שכתוב בשדות הבאים:
YYYY-MM-DD: תאריך בפורמט של שנה בת 4 ספרות, חודש בן 2 ספרות ויום בחודש בן 2 ספרות, שמופרדים במקפים (-).
HH:MM:SS: שעה בפורמט של שעה בת 2 ספרות בשיטת 24 שעות, דקות בנות 2 ספרות ושניות בנות 2 ספרות, מופרדות באמצעות נקודתיים (:).
OFFSET: אזור הזמן בפורמט של היסט מהזמן האוניברסלי המתואם (UTC). לדוגמה, כדי להשתמש בשעון החוף המערבי (PST), מציינים-08:00. לחלופין, כדי לא להשתמש בהיסט, מצייניםZ.
כדי למחוק את ההזמנה אחרי משך זמן מסוים, משתמשים בפקודה
gcloud beta compute reservations createעם הדגל--delete-after-duration.gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEמחליפים את
DELETE_AFTER_DURATIONבמשך זמן בימים, בשעות, בדקות או בשניות. לדוגמה, מציינים30mל-30 דקות, או1d2h3m4sליום אחד, שעתיים, 3 דקות ו-4 שניות.
המשך
Java
Node.js
Python
Terraform
כדי ליצור מקום שמור לפרויקט יחיד, משתמשים במשאב google_compute_reservation של Terraform.
לדוגמה, כדי ליצור שריון מקום שמור לפרויקט יחיד עבור סוג מכונה מוגדר מראש N2 עם 2 vCPU, משתמשים במשאב הבא:
מידע נוסף על השימוש ב-Terraform זמין במאמר שימוש ב-Terraform עם Google Cloud.
REST
כדי ליצור מקום שמור לפרויקט יחיד, שולחים בקשת POST אל ה-method reservations.insert.
כדי ליצור הזמנה לפרויקט יחיד על ידי ציון מאפיינים ישירות וללא הכללה של שדות אופציונליים, שולחים את POSTהבקשה הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations
{
"name": "RESERVATION_NAME",
"specificReservation": {
"count": "NUMBER_OF_VMS",
"instanceProperties": {
"machineType": "MACHINE_TYPE"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו רוצים לשריין משאבים.
ZONE: האזור שבו רוצים לשמור את המשאבים.
RESERVATION_NAME: השם של ההזמנה שרוצים ליצור.
NUMBER_OF_VMS: מספר המכונות הווירטואליות שרוצים לשריין.
MACHINE_TYPE: סוג המכונה לשימוש בכל מכונה וירטואלית.
לדוגמה, כדי ליצור הזמנה באזור us-central1-a ל-10 מכונות וירטואליות, שכל אחת מהן משתמשת בסוג מכונה מוגדר מראש N2 עם 4 vCPU, שולחים את בקשת POST הבאה:
POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
{
"name": "my-reservation",
"specificReservation": {
"count": "10",
"instanceProperties": {
"machineType": "n2-standard-4",
}
}
}
אפשר גם לבצע אחת או יותר מהפעולות הבאות:
כדי לצרף יחידות GPU למכונות הווירטואליות מסוג N1 ששמרתם, צריך לכלול את השדה
guestAcceleratorsבגוף הבקשה.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": NUMBER_OF_ACCELERATORS, "acceleratorType": "ACCELERATOR_TYPE" } ], "machineType": "MACHINE_TYPE" } } }מחליפים את מה שכתוב בשדות הבאים:
NUMBER_OF_ACCELERATORS: מספר יחידות ה-GPU שרוצים להוסיף לכל מכונה וירטואלית שמורה.
ACCELERATOR_TYPE: דגם GPU נתמך למכונות וירטואליות מסוג N1. מוודאים שדגם ה-GPU שבחרתם זמין בתחום שבו אתם רוצים לשריין משאבים. אחרת, יצירת ההזמנה תיכשל.
כדי לצרף דיסקים מסוג SSD מקומי לסוג מכונה שלא כולל דיסקים מסוג SSD מקומי כברירת מחדל, צריך לכלול את השדה
localSsdsבגוף הבקשה. אפשר לצרף רק דיסקים מקומיים מסוג SSD בנפח של 375 GB.לדוגמה, כדי לצרף שני דיסקים מקומיים מסוג SSD לסוג המכונה שרוצים לשריין, שולחים בקשה באופן הבא:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "localSsds": [ { "diskSizeGb": "375", "interface": "INTERFACE_TYPE" }, { "diskSizeGb": "375", "interface": "INTERFACE_TYPE" } ], "machineType": "MACHINE_TYPE" } } }מחליפים את
INTERFACE_TYPEבסוג של ממשק הדיסק שרוצים שכל דיסק SSD מקומי ישתמש בו, ושסוג המכונה שצוין תומך בו. מציינים אחד מהערכים הבאים:לממשק הדיסק NVME:
NVMEלממשק דיסק SCSI:
SCSI
כדי שהמכונות הווירטואליות השמורות ישתמשו בפלטפורמת CPU מינימלית ספציפית במקום בפלטפורמת ה-CPU שמוגדרת כברירת מחדל באזור, צריך לכלול את השדה
minCpuPlatformבגוף הבקשה.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE", "minCpuPlatform": "MIN_CPU_PLATFORM" } } }מחליפים את
MIN_CPU_PLATFORMבפלטפורמת CPU מינימלית. כדי לוודא שפלטפורמת המעבד זמינה באזור שבו אתם שומרים משאבים, הציגו את פלטפורמות המעבד הזמינות לפי אזור.כדי לציין מדיניות מיקום קומפקטית כדי להקטין את זמן האחזור ברשת בין המכונות הווירטואליות ששוריינו, צריך לכלול את השדה
resourcePoliciesבגוף הבקשה.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "resourcePolicies": { "policy" : "projects/PROJECT_ID/regions/REGION/resourcePolicies/COMPACT_PLACEMENT_POLICY_NAME" }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }מחליפים את מה שכתוב בשדות הבאים:
REGION: האזור שבו נמצאת מדיניות המיקום הקומפקטית. אפשר ליצור את ההזמנה רק באזור של מדיניות המיקום.
COMPACT_PLACEMENT_POLICY_NAME: השם של מדיניות קיימת למיקום קומפקטי.
בנוסף, כדי למנוע שגיאות כשיוצרים מקום שמור לפרויקט יחיד עם מדיניות למיקום קומפקטי, חשוב לציין את הפרטים הבאים:
סוג מכונה נתמך למדיניות למיקום קומפקטי.
השדה
specificReservationRequiredמוגדר ל-true. המשמעות היא שרק מכונות וירטואליות שמטרגטות באופן ספציפי את המקום השמור הזה יכולות להשתמש בו.
כדי לציין שרק מכונות וירטואליות שמטרגטות ספציפית את ההזמנה הזו יכולות להשתמש בה, צריך לכלול את השדה
specificReservationRequiredבגוף הבקשה ולהגדיר את השדה ל-true.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }כדי לשמור מקום למכונות וירטואליות של GPU שמיועדות למשימות אימון בהתאמה אישית או למשימות חיזוי של Vertex AI, צריך לכלול את השדה
serviceShareTypeולהגדיר אותו לערךALLOW_ALL.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }כדי לאפשר ל-Compute Engine למחוק אוטומטית את הבקשה לשמירת מקום, בוחרים אחת מהשיטות הבאות:
כדי למחוק את הבקשה לשמירת מקום בתאריך ובשעה מסוימים, שולחים בקשת
POSTל-methodbeta.reservations.insert. בגוף הבקשה, כוללים את השדהdeleteAtTime.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }מחליפים את
DELETE_AT_TIMEבתאריך ובשעה בפורמט של חותמת זמן RFC 3339, שצריכה להיות ככה:YYYY-MM-DDTHH:MM:SSOFFSETמחליפים את מה שכתוב בשדות הבאים:
YYYY-MM-DD: תאריך בפורמט של שנה בת 4 ספרות, חודש בן 2 ספרות ויום בחודש בן 2 ספרות, שמופרדים במקפים (-).
HH:MM:SS: שעה בפורמט של שעה בת 2 ספרות בשיטת 24 שעות, דקות בנות 2 ספרות ושניות בנות 2 ספרות, מופרדות באמצעות נקודתיים (:).
OFFSET: אזור הזמן בפורמט של היסט מהזמן האוניברסלי המתואם (UTC). לדוגמה, כדי להשתמש בשעון החוף המערבי (PST), מציינים את הערך-08:00. לחלופין, כדי לא להשתמש בהזחה, מצייניםZ.
כדי למחוק את ההזמנה אחרי פרק זמן מסוים, שולחים
POSTבקשה אל ה-methodbeta.reservations.insert. בגוף הבקשה, כוללים את השדהdeleteAfterDuration.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }מחליפים את
DELETE_AFTER_DURATIONבמשך זמן בשניות. לדוגמה, מציינים86400ל-86,400 שניות (יום אחד).
פתרון בעיות
איך פותרים בעיות ביצירת הזמנות