במאמר הזה מוסבר איך ליצור מקומות שמורים משותפים, כלומר מקומות שמורים שמשותפים לכמה פרויקטים, ואיך לנהל את הפרויקטים בארגון שיכולים לצרוך את המקומות השמורים המשותפים.
פרויקט שמארח את ההזמנה (פרויקט הבעלים) ופרויקטים שההזמנה משותפת איתם (פרויקטים צרכניים) יכולים להשתמש בהזמנה משותפת. אם בארגון שלכם יש כמה פרויקטים שצריכים מכונות וירטואליות (VM) עם אותם מאפיינים, כדאי להשתמש בהזמנות משותפות. שימוש בהזמנות משותפות מאפשר לכם לנצל טוב יותר את ההזמנות שלכם ולצמצם את מספר ההזמנות שאתם צריכים ליצור ולנהל. מידע נוסף על הזמנות זמין במאמר בנושא איך מבקשים מקום שמור למשאבים של תחום מוגדר ב-Compute Engine.
לשיטות אחרות ליצירת הזמנות, אפשר לעיין בדפים הבאים:
כדי ליצור הזמנה שאפשר להשתמש בה רק בפרויקט יחיד, אפשר לעיין במאמר בנושא יצירת הזמנה לפרויקט יחיד.
כדי ליצור הזמנה כשרוכשים התחייבות לשימוש במשאבים, אפשר לעיין במאמר רכישת התחייבויות לשימוש בציוד עם הזמנות מצורפות. התחייבויות מספקות הנחות, שנקראות הנחות תמורת התחייבות לשימוש (CUD), על עלויות המשאבים לפי דרישה בתמורה לרכישת כמות מינימלית של משאבים או להוצאת סכום מינימלי.
לפני שמתחילים
- כדאי לעיין בשיטות המומלצות לשימוש בהזמנות משותפות.
- כדאי לעיין ב דרישות המכסה ו בהגבלות על הזמנות משותפות.
- אדמין של מדיניות הארגון צריך לוודא שהפרויקט שבו משתמשים כדי ליצור הזמנות משותפות נוסף לאילוץ פרויקטים של בעלים של הזמנות משותפות (
compute.sharedReservationsOwnerProjects) של מדיניות הארגון. רשימת ההיתרים הזו ריקה כברירת מחדל, ולכן אי אפשר ליצור הזמנות משותפות עד שהארגון ייתן את ההרשאה הזו לפרויקט אחד או יותר. פרטים נוספים על צפייה באילוץ של מדיניות הארגון ועריכתו זמינים במאמר בנושא ניהול יצירת הזמנות משותפות. -
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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
-
- הגדרת אזור ותחום כברירת מחדל
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
Terraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
המשך
כדי להשתמש בדוגמאות של 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 ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת הזמנות משותפות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- אדמין Compute (
roles/compute.admin) בפרויקט -
כדי להציג ולערוך את מדיניות הארגון: אדמין Organization Policy (
roles/orgpolicy.policyAdmin) בארגון
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות ליצירת הזמנות משותפות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור הזמנות משותפות, צריך את ההרשאות הבאות:
-
compute.reservations.createבפרויקט -
כדי להציג את מדיניות הארגון:
orgpolicy.policy.getבארגון -
כדי לערוך את מדיניות הארגון:
orgpolicy.policy.setבארגון -
כדי לציין תבנית של הגדרות מכונה:
compute.instanceTemplates.useReadOnlyבתבנית של הגדרות המכונה
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת הזמנה משותפת
בקטע הזה מוסבר איך ליצור הזמנות משותפות. אחרי שיוצרים הזמנה משותפת, רק פרויקט הבעלים יכול לשנות אותה, אבל פרויקט הבעלים או כל פרויקט צרכן יכולים להשתמש במשאבים של ההזמנה המשותפת.
כדי להשתמש בהזמנה, למכונה וירטואלית צריכים להיות מאפיינים שזהים לאלה של ההזמנה. כדי לציין את המאפיינים של המכונות הווירטואליות שרוצים לשריין, בוחרים באחד מהקטעים הבאים במסמך הזה:
מומלץ: מציינים תבנית של הגדרות מכונה
בקטע הזה מוסבר איך משתמשים בתבנית של הגדרות מכונה כדי להגדיר את המאפיינים של מקום שמור משותף. באמצעות תבנית של הגדרות מכונה, אתם יכולים להגדיר את המאפיינים של שריון ושל המכונות הווירטואליות שיכולות להשתמש בשריון באותו מקום. עם זאת, מכיוון שתבניות הן ספציפיות לפרויקט, אי אפשר להשתמש באותה תבנית כדי ליצור מכונות וירטואליות שיכולות להשתמש בשריין מחוץ לפרויקט שבו נוצר השריין. בפרויקטים שבהם השמורה משותפת, צריך ליצור תבניות דומות או ליצור מכונות וירטואליות על ידי ציון מאפיינים ישירות.
-
בקטע הזה מוסבר איך להשתמש במכונה וירטואלית קיימת כדי להגדיר את המאפיינים של הזמנה. כדי להשתמש בהזמנה, אתם יכולים ליצור מכונות וירטואליות עם מאפיינים שתואמים למכונה הווירטואלית שמשמשת כהפניה, וכך להשתמש במאפיינים של מכונה וירטואלית קיימת.
-
בקטע הזה מוסבר איך להגדיר ישירות את המאפיינים של הזמנה משותפת. בשיטה הזו צריך לוודא באופן ידני שהמאפיינים של המכונות הווירטואליות וההזמנות זהים בדיוק – mismatched properties prevent consumption.
כברירת מחדל, כל מכונה וירטואלית עם מאפיינים שתואמים להזמנה יכולה להשתמש בה באופן אוטומטי. אם רוצים לשלוט בצריכת השרתים הוירטואליים שהוזמנו, אפשר לבצע אחת או יותר מהפעולות הבאות:
ליצור הזמנה שאפשר להשתמש בה רק במכונות וירטואליות שמכוונות אליה באופן ספציפי, כמו שמוסבר בקטעים הבאים במסמך הזה. לאחר מכן, מגדירים את המכונות הווירטואליות כך שישתמשו בהזמנה הספציפית הזו.
הגדרת מכונות וירטואליות כך שלא ינצלו את היתרונות של ההזמנות.
ציון תבנית של הגדרות מכונה
לפני שיוצרים מקום שמור על ידי ציון תבנית של הגדרות מכונה, חשוב לוודא את הדברים הבאים:
תבנית של הגדרות מכונה מכילה הגדרות ספציפיות לפרויקט, כך שאפשר לגשת לתבנית של הגדרות מכונה ולהשתמש בה רק באותו פרויקט. אם יוצרים שריון משותף על ידי ציון תבנית של הגדרות מכונה, אי אפשר להשתמש באותה תבנית כדי ליצור מכונות וירטואליות שיכולות לנצל את השריון מחוץ לפרויקט שבו נוצר השריון.
יוצרים את המקום השמור באותו אזור ותחום (zone) שבו נמצאים המשאבים בתבנית של הגדרות מכונה. כל משאב אזורי או משאב של תחום מוגדר שמוגדר בתבנית של הגדרות מכונה – כמו סוג מכונה או נפח של דיסק אחסון מתמיד – מגביל את השימוש בתבנית למיקומים שבהם המשאבים האלה קיימים. לדוגמה, אם בתבנית של הגדרות המכונה מצוין נפח של דיסק אחסון מתמיד קיים באזור
us-central1-a, אפשר ליצור את השריין רק באותו אזור. כדי לבדוק אם תבנית קיימת מציינת משאבים שמקשרים את התבנית לאזור או לאזור זמינות ספציפיים, צופים בפרטים של תבנית הגדרות המכונה ומחפשים בתוכה הפניות למשאבים אזוריים או למשאבים של אזור זמינות.
כדי ליצור מקום שמור משותף על ידי ציון תבנית של הגדרות מכונה, בוחרים באחת מהאפשרויות הבאות:
המסוף
פותחים את הדף Reservations במסוף Cloud de Confiance .
לוחצים על Create reservation (יצירת בקשה לשמירת מקום). ייפתח הדף Create a reservation.
נותנים לבקשה שם בשדה Name.
ברשימות Region ו-Zone, בוחרים את האזור והתחום שבהם רוצים לשריין את המשאבים.
בקטע Share type (סוג השיתוף):
כדי לשתף הזמנה עם פרויקטים אחרים, בוחרים באפשרות משותף.
לוחצים על Add projects ובוחרים את הפרויקטים מהארגון של הפרויקט הנוכחי שרוצים לשתף איתם את ההזמנה. אפשר לבחור עד 100 פרויקטים לצרכן.
אופציונלי: כדי לאפשר למשימות אימון בהתאמה אישית או למשימות חיזוי ב-Vertex AI להשתמש במכונות וירטואליות של GPU ששמורות במכסת השימוש, בקטע Google Cloud services בוחרים באפשרות Share reservation.
בקטע Use with VM instance (שימוש עם מכונת VM), בוחרים באחת מהאפשרויות הבאות:
כדי להשתמש אוטומטית במכונות וירטואליות שמתאימות לפרטי הבקשה, מסמנים את האפשרות 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 עם הדגלים --share-setting=projects ו---share-with.
כדי ליצור מקום שמור משותף על ידי ציון תבנית של הגדרות מכונה ללא הכללה של דגלים אופציונליים, מריצים את הפקודה הבאה:
gcloud compute reservations create RESERVATION_NAME \
--share-setting=projects \
--share-with=CONSUMER_PROJECT_IDS \
--source-instance-template=INSTANCE_TEMPLATE_URL \
--vm-count=NUMBER_OF_VMS \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
RESERVATION_NAME: השם של ההזמנה שרוצים ליצור.
PROJECT_ID: מזהה הפרויקט שבו רוצים לשריין משאבים ושבו קיימת תבנית של הגדרות מכונה.
CONSUMER_PROJECT_IDS: רשימה מופרדת בפסיקים של מזהי הפרויקטים שיכולים להשתמש בהזמנה הזו – לדוגמה,project-1,project-2. אפשר לכלול עד 100 פרויקטים לצרכן. הפרויקטים האלה צריכים להיות באותו ארגון כמו פרויקט הבעלים. לא כוללים את פרויקט הבעלים. כברירת מחדל, כבר יש לו הרשאה להשתמש בהזמנה.
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה קיימת, שחייבת להיות קיימת בפרויקט. מציינים אחד מהערכים הבאים:לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAMEלתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_NAME
NUMBER_OF_VMS: מספר המכונות הווירטואליות שרוצים לשריין.
ZONE: האזור שבו רוצים לשריין משאבים.
לדוגמה, כדי ליצור מקום שמור על ידי ציון תבנית גלובלית של הגדרות מכונה בתחום (zone) us-central1-a, לשתף את המקום השמור עם הפרויקטים project-1 ו-project-2, ולהזמין עשר מכונות וירטואליות שכל אחת מהן משתמשת במכונה עם קונפיגורציה מוגדרת (predefined) מסוג N2 עם 4 vCPU, מריצים את הפקודה הבאה:
gcloud compute reservations create my-reservation \
--share-setting=projects \
--share-with=project-1,project-2 \
--source-instance-template=projects/example-project/global/example-instance-template \
--vm-count=10 \
--zone=us-central1-a
אפשר גם לבצע אחת או יותר מהפעולות הבאות:
כדי לציין שרק מכונות וירטואליות שמיועדות ספציפית לשימוש בהזמנה הזו יכולות להשתמש בה, צריך לכלול את הדגל
--require-specific-reservation.gcloud compute reservations create RESERVATION_NAME \ --require-specific-reservation \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=INSTANCE_TEMPLATE_URL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEכדי לאפשר למשימות אימון בהתאמה אישית או למשימות חיזוי ב-Vertex AI להשתמש במכונות וירטואליות של GPU ששמורות, צריך להוסיף את האפשרות
--reservation-sharing-policyעם הערךALLOW_ALL.gcloud compute reservations create RESERVATION_NAME \ --reservation-sharing-policy=ALLOW_ALL \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=INSTANCE_TEMPLATE_URL \ --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 \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=INSTANCE_TEMPLATE_URL \ --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 \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --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.
בגוף הבקשה, כוללים את הפרטים הבאים:
השדה
projectMap.השדה
shareTypeמוגדר ל-SPECIFIC_PROJECTS.
לדוגמה, כדי ליצור הזמנה משותפת על ידי ציון תבנית של מכונה וירטואלית בלי לכלול שדות אופציונליים, ולשתף את ההזמנה עם שני פרויקטים של צרכנים, שולחים את בקשת POST הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations
{
"name": "RESERVATION_NAME",
"shareSettings": {
"shareType": "SPECIFIC_PROJECTS",
"projectMap": {
"CONSUMER_PROJECT_ID_1": {
"projectId": "CONSUMER_PROJECT_ID_1"
},
"CONSUMER_PROJECT_ID_2": {
"projectId": "CONSUMER_PROJECT_ID_2"
}
}
},
"specificReservation": {
"count": "NUMBER_OF_VMS",
"sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL"
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו רוצים לשריין משאבים ושבו קיימת תבנית של הגדרות מכונה.
ZONE: האזור שבו רוצים לשריין משאבים.
RESERVATION_NAME: השם של ההזמנה שרוצים ליצור.
CONSUMER_PROJECT_ID_1ו-CONSUMER_PROJECT_ID_2: מזהי הפרויקטים שיכולים להשתמש בהזמנה הזו. אפשר לכלול עד 100 פרויקטים לצרכנים. הפרויקטים האלה צריכים להיות באותו ארגון כמו פרויקט הבעלים. לא כוללים את פרויקט הבעלים. כברירת מחדל, כבר מותר להשתמש בהזמנה.
NUMBER_OF_VMS: מספר המכונות הווירטואליות שרוצים לשריין.
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה קיימת, שחייבת להיות קיימת בפרויקט. מציינים אחד מהערכים הבאים:לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAMEלתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_NAME
לדוגמה, כדי ליצור מקום שמור של עשר מכונות וירטואליות באזור us-central1-a על ידי ציון תבנית של הגדרות מכונה גלובלית, ולשתף את המקום השמור עם הפרויקטים project-1 ו-project-2, שולחים את בקשת POST הבאה:
POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
{
"name": "my-reservation",
"shareSettings": {
"shareType": "SPECIFIC_PROJECTS",
"projectMap": {
"project-1": {
"projectId": "project-1"
},
"project-2": {
"projectId": "project-2"
}
}
},
"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", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "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" }, "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL" } }כדי לאפשר ל-Compute Engine למחוק אוטומטית את הבקשה לשמירת מקום, בוחרים אחת מהשיטות הבאות:
כדי למחוק את הבקשה לשמירת מקום בתאריך ובשעה מסוימים, שולחים
POSTבקשה לשיטהbeta.reservations.insert. בגוף הבקשה, כוללים את השדהdeleteAtTime.לדוגמה, כדי ליצור הזמנה על ידי ציון תבנית של מכונה, למחוק אוטומטית את ההזמנה בתאריך ובשעה ספציפיים ולשתף את ההזמנה עם שני פרויקטים של צרכנים, שולחים בקשה באופן הבא:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "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בקשה לשיטהbeta.reservations.insert. בגוף הבקשה, כוללים את השדהdeleteAfterDuration.לדוגמה, כדי ליצור שמירת מקום על ידי ציון תבנית של מכונה, למחוק אוטומטית את שמירת המקום אחרי פרק זמן מסוים ולשתף את שמירת המקום עם שני פרויקטים של צרכנים, שולחים בקשה באופן הבא:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL" } }מחליפים את
DELETE_AFTER_DURATIONבמשך הזמן בשניות. לדוגמה, מציינים86400ל-86,400 שניות (יום אחד).
ציון של מכונה וירטואלית קיימת
אפשר ליצור מקום שמור משותף רק על סמך מכונה וירטואלית קיימת באותו פרויקט ואזור כמו המכונה הווירטואלית.
אחרי שיוצרים את ההזמנה, אפשר להשתמש בה כדי ליצור מכונות וירטואליות עם מאפיינים שתואמים למכונה הווירטואלית שמשמשת כהפניה. כדי לעשות את זה, מבצעים אחת מהפעולות הבאות:
כך יוצרים תבנית של הגדרות מכונה ומשתמשים בה:
יוצרים תבנית של הגדרות מכונה על סמך המכונה הווירטואלית להפניה בלי לדרוס את המאפיינים של המכונה הווירטואלית להפניה.
כדי ליצור מכונות וירטואליות באמצעות התבנית החדשה, מבצעים אחת מהפעולות הבאות או את שתיהן:
יוצרים מכונה וירטואלית עם מאפיינים שזהים בדיוק למכונת ה-VM המקורית, באופן הבא:
בפרויקט הבעלים, יוצרים מכונה וירטואלית על סמך המכונה הווירטואלית להפניה בלי לשנות את המאפיינים של המכונה הווירטואלית שיוצרים.
בפרויקטים של הצרכנים, יוצרים מכונה וירטואלית תוך הקפדה ידנית על התאמה בין המאפיינים שלה לבין המאפיינים של המכונה הווירטואלית שאליה מתייחסים.
כדי ליצור הזמנה משותפת שמשתמשת במאפיינים של מכונה וירטואלית קיימת, מבצעים את הפעולות הבאות:
פותחים את הדף Reservations במסוף Cloud de Confiance .
לוחצים על יצירת בקשה לשמירת מקום. ייפתח הדף Create a reservation.
נותנים לבקשה שם בשדה Name.
ברשימות Region ו-Zone, בוחרים את האזור והתחום שבהם רוצים לשריין את המשאבים.
בקטע Share type (סוג השיתוף):
כדי לשתף הזמנה עם פרויקטים אחרים, בוחרים באפשרות משותף.
לוחצים על Add projects (הוספת פרויקטים) ואז בוחרים את הפרויקטים מהארגון של הפרויקט הנוכחי שרוצים לשתף איתם את ההזמנה. אפשר לבחור עד 100 פרויקטים לצרכנים.
אופציונלי: כדי לאפשר למשימות אימון בהתאמה אישית או למשימות חיזוי ב-Vertex AI להשתמש במכונות וירטואליות של GPU ששמורות במכסת השימוש, בקטע Google Cloud services בוחרים באפשרות Share reservation.
בקטע Use with VM instance (שימוש עם מכונת VM), בוחרים באחת מהאפשרויות הבאות:
כדי להשתמש אוטומטית במכונות וירטואליות שמתאימות לפרטי הבקשה, מסמנים את האפשרות Use reservation automatically.
כדי להשתמש במשאבים שמתאימים לפרטי הבקשה רק כשיוצרים מכונות וירטואליות שמיועדות ספציפית אליה (לפי שם), בוחרים באפשרות Select specific reservation.
בקטע Resource details (פרטי המשאב), מבצעים את הפעולות הבאות:
בשדה Number of VM instances, מקלידים את מספר המכונות הווירטואליות שרוצים לשריין.
כדי לציין את ההגדרות של המכונות הווירטואליות באמצעות מכונה וירטואלית להשוואה, בוחרים באפשרות Use existing VM ואז בוחרים את המכונה הווירטואלית מהרשימה שמופיעה.
בקטע Auto-delete, אפשר להפעיל את אפשרות המחיקה האוטומטית כדי ש-Compute Engine ימחק אוטומטית את הבקשה לשמירת מקום בתאריך ובשעה ספציפיים. מתי זה שימושי? למשל כשמתכננים להפסיק את השימוש במשאבים ששוריינו ורוצים למנוע חיובים לא נחוצים.
לוחצים על Create כדי ליצור את הבקשה לשמירת מקום. יופיע הדף Reservations. יצירת ההזמנה עשויה להימשך עד דקה. כדי לראות מתי הבקשה תיווצר ב-Compute Engine, אתם יכולים לפתוח את רשימת הבקשות לשמירת מקום.
ציון מאפיינים ישירות
כדי ליצור הזמנה משותפת על ידי ציון נכסים ישירות, בוחרים באחת מהאפשרויות הבאות:
המסוף
פותחים את הדף Reservations במסוף Cloud de Confiance .
לוחצים על יצירת בקשה לשמירת מקום. ייפתח הדף Create a reservation.
נותנים לבקשה שם בשדה Name.
ברשימות Region ו-Zone, בוחרים את האזור והתחום שבהם רוצים לשריין את המשאבים.
בקטע Share type (סוג השיתוף):
כדי לשתף הזמנה עם פרויקטים אחרים, בוחרים באפשרות משותף.
לוחצים על Add projects ובוחרים את הפרויקטים מהארגון של הפרויקט הנוכחי שרוצים לשתף איתם את ההזמנה. אפשר לבחור עד 100 פרויקטים לצרכן.
אופציונלי: כדי לאפשר למשימות אימון בהתאמה אישית או למשימות חיזוי ב-Vertex AI להשתמש במכונות וירטואליות של GPU ששמורות במכסת השימוש, בקטע Google Cloud services בוחרים באפשרות Share reservation.
בקטע Use with VM instance (שימוש עם מכונת VM), בוחרים באחת מהאפשרויות הבאות:
כדי להשתמש אוטומטית במכונות וירטואליות שמתאימות לפרטי הבקשה, מסמנים את האפשרות Use reservation automatically.
כדי להשתמש במשאבים שמתאימים לפרטי הבקשה רק כשיוצרים מכונות וירטואליות שמיועדות ספציפית אליה (לפי שם), בוחרים באפשרות Select specific reservation.
בקטע Resource details (פרטי המשאב), מבצעים את הפעולות הבאות:
בשדה Number of VM instances מקלידים את מספר המכונות הווירטואליות שרוצים לשריין.
מציינים את סדרת המכונות ואת הסוג שרוצים לשריין.
בקטע Auto-delete, אפשר להפעיל את אפשרות המחיקה האוטומטית כדי ש-Compute Engine ימחק את הבקשה לשמירת מקום אוטומטית בתאריך ובשעה ספציפיים. מתי זה שימושי? למשל כשמתכננים להפסיק את השימוש במשאבים ששוריינו ורוצים למנוע חיובים לא נחוצים.
לוחצים על Create כדי ליצור את הבקשה לשמירת מקום. יופיע הדף Reservations. יצירת ההזמנה עשויה להימשך עד דקה. כדי לראות מתי הבקשה תיווצר ב-Compute Engine, אתם יכולים לפתוח את רשימת הבקשות לשמירת מקום.
gcloud
כדי ליצור הזמנה משותפת, משתמשים בפקודה gcloud compute reservations create עם הדגלים --share-setting=projects ו---share-with.
כדי ליצור הזמנה משותפת על ידי ציון מאפיינים ישירות ובלי לכלול דגלים אופציונליים, מריצים את הפקודה הבאה:
gcloud compute reservations create RESERVATION_NAME \
--machine-type=MACHINE_TYPE \
--share-setting=projects \
--share-with=CONSUMER_PROJECT_IDS \
--vm-count=NUMBER_OF_VMS \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
RESERVATION_NAME: השם של ההזמנה שרוצים ליצור.
MACHINE_TYPE: סוג המכונה לשימוש בכל מכונה וירטואלית.
CONSUMER_PROJECT_IDS: רשימה מופרדת בפסיקים של מזהי הפרויקטים שיכולים להשתמש בהזמנה הזו – לדוגמה,project-1,project-2. אפשר לכלול עד 100 פרויקטים לצרכן. הפרויקטים האלה צריכים להיות באותו ארגון כמו פרויקט הבעלים. לא כוללים את פרויקט הבעלים. כברירת מחדל, כבר יש הרשאה להשתמש בהזמנה.
NUMBER_OF_VMS: מספר המכונות הווירטואליות שרוצים לשריין.
ZONE: האזור שבו רוצים לשריין משאבים.
לדוגמה, כדי ליצור מקום שמור באזור us-central1-a לעשר מכונות וירטואליות, שכל אחת מהן משתמשת במכונה עם קונפיגורציה מוגדרת (predefined) מסוג N2 עם 4 vCPU, ולשתף את המקום השמור עם הפרויקטים project-1 ו-project-2, מריצים את הפקודה הבאה:
gcloud compute reservations create my-reservation \
--machine-type=n2-standard-4 \
--share-setting=projects \
--share-with=project-1,project-2 \
--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 \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEמחליפים את מה שכתוב בשדות הבאים:
NUMBER_OF_ACCELERATORS: מספר יחידות ה-GPU שרוצים להוסיף לכל מכונה וירטואלית (VM) שהוזמנה.
ACCELERATOR_TYPE: דגם GPU נתמך למכונות וירטואליות מסוג N1. מוודאים שדגם ה-GPU שבחרתם זמין בתחום שבו אתם רוצים לשריין משאבים. אחרת, יצירת ההזמנה תיכשל.
כדי לצרף דיסקים של SSD מקומיים לסוג מכונה שלא כולל דיסקים של 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
כדי שמכונות ה-VM השמורות ישתמשו בפלטפורמת CPU מינימלית ספציפית במקום בפלטפורמת ה-CPU שמוגדרת כברירת מחדל לאזור, צריך לכלול את הדגל
--min-cpu-platform.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --min-cpu-platform="MIN_CPU_PLATFORM" \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEמחליפים את
MIN_CPU_PLATFORMבפלטפורמת מעבד מינימלית. כדי לוודא שפלטפורמת CPU זמינה באזור שבו אתם מזמינים משאבים, אפשר לראות את פלטפורמות ה-CPU הזמינות לפי אזור.כדי לציין שרק מכונות וירטואליות שמיועדות ספציפית לשימוש בהזמנה הזו יכולות להשתמש בה, צריך לכלול את הדגל
--require-specific-reservation.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEכדי לאפשר למשימות אימון בהתאמה אישית או למשימות חיזוי ב-Vertex AI להשתמש במכונות וירטואליות של GPU ששמורות, צריך לכלול את הדגל
--reservation-sharing-policyעם הערךALLOW_ALL.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --reservation-sharing-policy=ALLOW_ALL \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --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 \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --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 \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONEמחליפים את
DELETE_AFTER_DURATIONבמשך הזמן בימים, בשעות, בדקות או בשניות. לדוגמה, מציינים30mל-30 דקות, או1d2h3m4sליום אחד, שעתיים, 3 דקות ו-4 שניות.
Terraform
כדי ליצור בקשה לשמירת מקום, משתמשים במשאב google_compute_reservation של Terraform.
כדי לשתף הזמנה עם פרויקטים אחרים, מגדירים את הבלוק share_settings:
- מגדירים את השדה
share_typeלערךSPECIFIC_PROJECTS. - בבלוק
project_map, מציינים את מזהי הפרויקטים של הפרויקטים שרוצים לשתף איתם את ההזמנה הזו.
מידע נוסף על השימוש ב-Terraform זמין במאמר שימוש ב-Terraform עם Cloud de Confiance by S3NS.
REST
כדי ליצור בקשה לשמירת מקום משותפת, שולחים בקשת POST אל ה-method reservations.insert.
בגוף הבקשה, כוללים את הפרטים הבאים:
השדה
projectMap.השדה
shareTypeמוגדר ל-SPECIFIC_PROJECTS.
לדוגמה, כדי ליצור הזמנה משותפת בלי לכלול שדות אופציונליים ולשתף את ההזמנה עם שני פרויקטים של צרכנים, שולחים את בקשת POST הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations
{
"name": "RESERVATION_NAME",
"shareSettings": {
"shareType": "SPECIFIC_PROJECTS",
"projectMap": {
"CONSUMER_PROJECT_ID_1": {
"projectId": "CONSUMER_PROJECT_ID_1"
},
"CONSUMER_PROJECT_ID_2": {
"projectId": "CONSUMER_PROJECT_ID_2"
}
}
},
"specificReservation": {
"count": "NUMBER_OF_VMS",
"instanceProperties": {
"machineType": "MACHINE_TYPE"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו רוצים לשריין משאבים.
ZONE: האזור שבו רוצים לשריין משאבים.
RESERVATION_NAME: השם של ההזמנה שרוצים ליצור.
CONSUMER_PROJECT_ID_1ו-CONSUMER_PROJECT_ID_2: מזהי הפרויקטים שיכולים להשתמש בהזמנה הזו. אפשר לכלול עד 100 פרויקטים לצרכנים. הפרויקטים האלה צריכים להיות באותו ארגון כמו פרויקט הבעלים. לא כוללים את פרויקט הבעלים. כברירת מחדל, כבר מותר להשתמש בהזמנה.
NUMBER_OF_VMS: מספר המכונות הווירטואליות שרוצים לשריין.
MACHINE_TYPE: סוג המכונה לשימוש בכל מכונה וירטואלית.
לדוגמה, כדי ליצור מקום שמור על ידי ציון תבנית של הגדרות מכונה גלובלית בתחום (zone) us-central1-a, לשתף את המקום השמור עם הפרויקטים project-1 ו-project-2, ולשמור עשר מכונות וירטואליות שכל אחת מהן משתמשת במכונה עם קונפיגורציה מוגדרת (predefined) מסוג N2 עם 4 vCPU, שולחים את הבקשה הבאה POST:
POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
{
"name": "my-reservation",
"shareSettings": {
"shareType": "SPECIFIC_PROJECTS",
"projectMap": {
"project-1": {
"projectId": "project-1"
},
"project-2": {
"projectId": "project-2"
}
}
},
"specificReservation": {
"count": "10",
"instanceProperties": {
"machineType": "n2-standard-4",
}
}
}
אפשר גם לבצע אחת או יותר מהפעולות הבאות:
כדי לצרף יחידות GPU למכונות וירטואליות מסוג N1 שהוזמנו, צריך לכלול את השדה
guestAcceleratorsבגוף הבקשה.לדוגמה, כדי ליצור הזמנה שמשותפת עם שני פרויקטים צרכניים ולצרף GPU לכל מכונה וירטואלית מסוג N1 שהוזמנה, שולחים בקשה באופן הבא:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": NUMBER_OF_ACCELERATORS, "acceleratorType": "ACCELERATOR_TYPE" } ], "machineType": "MACHINE_TYPE" } } }מחליפים את מה שכתוב בשדות הבאים:
NUMBER_OF_ACCELERATORS: מספר יחידות ה-GPU שרוצים להוסיף לכל מכונה וירטואלית (VM) שהוזמנה.
ACCELERATOR_TYPE: דגם GPU נתמך למכונות וירטואליות מסוג N1. מוודאים שדגם ה-GPU שבחרתם זמין בתחום שבו אתם רוצים לשריין משאבים. אחרת, יצירת ההזמנה תיכשל.
כדי לצרף דיסקים של SSD מקומי לסוג מכונה שלא כולל דיסקים של SSD מקומי כברירת מחדל, צריך לכלול את השדה
localSsdsבגוף הבקשה. אפשר לצרף רק דיסקים מקומיים מסוג SSD בנפח של 375 GB.לדוגמה, כדי לצרף שני דיסקים של Local SSD לסוג המכונה שרוצים להזמין תוך ציון שני פרויקטים של צרכנים, שולחים בקשה באופן הבא:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "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
כדי שמכונות ה-VM השמורות ישתמשו בפלטפורמת CPU מינימלית ספציפית במקום בפלטפורמת ה-CPU שמוגדרת כברירת מחדל לאזור, צריך לכלול את השדה
minCpuPlatformבגוף הבקשה.לדוגמה, כדי ליצור הזמנה משותפת תוך ציון פלטפורמת CPU מינימלית ושני פרויקטים של צרכנים, שולחים בקשה באופן הבא:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE", "minCpuPlatform": "MIN_CPU_PLATFORM" } } }מחליפים את
MIN_CPU_PLATFORMבפלטפורמת מעבד מינימלית. כדי לוודא שפלטפורמת CPU זמינה באזור שבו אתם מזמינים משאבים, אפשר לראות את פלטפורמות ה-CPU הזמינות לפי אזור.כדי לציין שרק מכונות וירטואליות שמיועדות ספציפית לשימוש במקום השמור הזה יכולות להשתמש בו, צריך לכלול את השדה
specificReservationRequiredבגוף הבקשה ולהגדיר את השדה לערךtrue.לדוגמה, כדי ליצור הזמנה ספציפית ולשתף אותה עם שני פרויקטים של צרכנים, שולחים בקשה באופן הבא:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "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" }, "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }כדי לאפשר ל-Compute Engine למחוק אוטומטית את הבקשה לשמירת מקום, בוחרים אחת מהשיטות הבאות:
כדי למחוק את הבקשה לשמירת מקום בתאריך ובשעה מסוימים, שולחים
POSTבקשה לשיטהbeta.reservations.insert. בגוף הבקשה, כוללים את השדהdeleteAtTime.לדוגמה, כדי ליצור הזמנה ולציין תאריך ושעה למחיקת ההזמנה, ולשתף את ההזמנה עם שני פרויקטים של צרכנים, שולחים בקשה באופן הבא:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "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בקשה לשיטהbeta.reservations.insert. בגוף הבקשה, כוללים את השדהdeleteAfterDuration.לדוגמה, כדי ליצור הזמנה ש-Compute Engine ימחק אחרי פרק זמן מסוים, ולשתף את ההזמנה עם שני פרויקטים צרכניים, שולחים בקשה באופן הבא:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }מחליפים את
DELETE_AFTER_DURATIONבמשך הזמן בשניות. לדוגמה, מציינים86400ל-86,400 שניות (יום אחד).