במאמר הזה מוסבר איך לראות את המיקום הפיזי של מכונות Compute Engine שפועלות בארגון Cloud de Confiance by S3NS .
אחרי שיוצרים מכונות וירטואליות ומפעילים אותן, אפשר לראות באיזה מארח פיזי כל מכונה וירטואלית פועלת באזור. אפשר להשתמש במיקום הפיזי של מופעי החישוב באשכול כדי:
מזעור זמן האחזור ברשת: כדאי לשנות את העיצוב של האפליקציה או של עומס העבודה כדי להריץ משימות שרגישות לזמן אחזור במופעי מחשוב שהם הכי קרובים זה לזה.
שיפור המהימנות של עומסי העבודה: כדי לצמצם את ההשפעה של שגיאות במארח על האפליקציה, כדאי להפיץ את מופעי המחשוב על פני מארחים פיזיים נפרדים.
כדי לבדוק אילו מכונות וירטואליות של Compute פועלות בפרויקט, צופים ברשימת המכונות הווירטואליות של Compute.
מגבלות
אתם יכולים לראות את המזהה של האשכול, הבלוק, תת-הבלוק והמארח של מופעי מחשוב שעומדים באחת או יותר מהדרישות הבאות:
מופע ה-Compute משתמש באחד מסוגי המכונות הבאים:
A4X Max
A4X
A4
A3 Ultra
A3 Mega
A3 High עם 8 מעבדי GPU
A3 Edge
H4D
במופע של Compute מוגדרת מדיניות למיקום קומפקטי.
מופע ה-Compute שייך לקבוצת מופעי מכונה מנוהלים (MIG) שבה מוגדרת מדיניות עומס עבודה עם סוג של תפוקה גבוהה (
HIGH_THROUGHPUT).
אם מופעלת מכונת חישוב שלא עומדת באף אחת מהדרישות שלמעלה, אפשר לחשוף את מזהה המארח שלה, כפי שמתואר במסמך הזה.
הסבר על הטופולוגיה של מופעי מחשוב
כל מכונת חישוב פועלת בשרת פיזי, מארח, שקיים בבלוק שרתים. כל בלוק שייך לאשכול בתחום. כשמציגים את הפרטים של מופעי מחשוב שעומדים בדרישות ספציפיות, אפשר להבין את הטופולוגיה שלהם ביחס למופעי מחשוב אחרים שעומדים באותן דרישות.
Compute Engine חושף את שדות המשנה הבאים בשדה physicalHostTopology של כל מופע של מחשוב. ככל שיש יותר שדות משנה משותפים בין שני מופעי מחשוב פעילים, כך הם קרובים יותר זה לזה.
Cluster (
cluster): השם הגלובלי של האשכול שבו קיים מופע המחשוב. קלאסטר הוא קיבוץ לוגי ברמה גבוהה של כמה מארחים, שיכולים להיות מפוזרים על פני כמה בלוקים, שפועלים יחד כמאגר משותף של משאבים.חסימה (
block): המזהה הספציפי לארגון של החסימה שבה קיים מופע המחשוב. בלוק הוא אוסף של כמה מארחים שמקובצים יחד.בלוק משנה (
subBlock): המזהה הספציפי לארגון של בלוק המשנה שבו נמצאת מכונת ה-Compute. תת-בלוק הוא חלוקה פיזית בתוך בלוק, שמקבצת מארחים בתוך מתחם פיזי יחיד.Host (
host): המזהה הספציפי לארגון או לפרויקט של המארח שבו פועל מופע Compute. מזהה המארח משתנה באופן הבא:אם במופע של Compute מוגדרת מדיניות למיקום קומפקטי או מדיניות עומס עבודה, מזהה המארח ספציפי לפרויקט שלכם.
אם במכונה מצוין סדרת מכונות נתמכת או אם חושפים את מזהה המארח שלה, מזהה המארח יהיה ספציפי לארגון שלכם.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים Cloud de Confiance by S3NS ולממשקי ה-API, לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לאימות הטופולוגיה של מכונות ה-Compute, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין של Compute (roles/compute.admin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות לאימות הטופולוגיה של מכונות וירטואליות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לאמת את הטופולוגיה של מכונות ה-Compute, נדרשות ההרשאות הבאות:
- כדי לראות את הפרטים של מכונה: compute.instances.get
- כדי לראות רשימה של מכונות: compute.instances.list
-
כדי לחשוף את מזהה המארח כשיוצרים מכונת חישוב:
-
compute.instances.createבפרויקט - כדי להשתמש באימג' בהתאמה אישית ליצירת המכונה הווירטואלית (VM):
compute.images.useReadOnlyבקובץ אימג' - כדי להשתמש ב-snapshot ליצירת המכונה הווירטואלית:
compute.snapshots.useReadOnlyבקובץ ה-snapshot - כדי להשתמש בתבנית של הגדרות מכונה ליצירת המכונה הווירטואלית:
compute.instanceTemplates.useReadOnlyבתבנית של הגדרות המכונה - כדי להקצות רשת מדור קודם למכונה הווירטואלית:
compute.networks.useבפרויקט - כדי לציין כתובת IP סטטית למכונה הווירטואלית:
compute.addresses.useבפרויקט - כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת מדור קודם:
compute.networks.useExternalIpבפרויקט - כדי לציין רשת משנה למכונה הווירטואלית:
compute.subnetworks.useבפרויקט או ברשת המשנה שנבחרה - כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת VPC:
compute.subnetworks.useExternalIpבפרויקט או ברשת המשנה שנבחרה - כדי להגדיר מטא-נתונים של המכונה הווירטואלית:
compute.instances.setMetadataבפרויקט - כדי להגדיר תגים למכונה הווירטואלית:
compute.instances.setTagsבמכונה הווירטואלית - כדי להגדיר תוויות למכונה הווירטואלית:
compute.instances.setLabelsבמכונה הווירטואלית - כדי להגדיר חשבון שירות לשימוש של המכונה הווירטואלית:
compute.instances.setServiceAccountבמכונה הווירטואלית - כדי ליצור דיסק חדש למכונה הווירטואלית:
compute.disks.createבפרויקט - כדי לצרף דיסק קיים במצב קריאה-בלבד או במצב קריאה וכתיבה:
compute.disks.useבדיסק - כדי לצרף דיסק קיים במצב קריאה-בלבד:
compute.disks.useReadOnlyבדיסק
-
- כדי לחשוף את מזהה המארח כשיוצרים תבנית של הגדרות מכונה:
- כדי להציג או להסתיר את מזהה המארח במופע קיים של Compute: compute.instances.update
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הצגה או הסתרה של מזהה המארח
אלא אם מופע Compute עומד בדרישות ספציפיות, מזהה המארח שלו מוסתר כברירת מחדל. אפשר לחשוף את מזהה המארח כשיוצרים או מעדכנים מכונות וירטואליות. כשמציגים את הפרטים של מופעי המחשוב, אפשר לראות את מזהי המארחים שלהם שספציפיים לארגון שלכם ב- Cloud de Confiance . אי אפשר לראות את המזהים של הבלוק, הבלוק המשני או האשכול של מופעי המחשוב.
כדי להציג או להסתיר את מזהה המארח במופע של Compute, משתמשים באחת מהשיטות הבאות:
אם אתם רוצים למנוע את החשיפה של מזהה המארח בפרויקט אחד או יותר בארגון, אתם יכולים ליצור אילוץ בהתאמה אישית. האילוץ הזה שימושי למשל כשרוצים להריץ עומסי עבודה (workloads) שרגישים לאבטחה. מידע נוסף מופיע במאמר בנושא אילוצים בהתאמה אישית.
הצגה או הסתרה של מזהה המארח במופע קיים של מחשוב
אפשר להציג או להסתיר את מזהה המארח במופע קיים של מחשוב בלי להפעיל אותו מחדש. אם משביתים את ההגדרה שחושפת את מזהה המארח עבור מופע של Compute שמציג את מזהה המארח כברירת מחדל, יקרה אחד מהדברים הבאים:
אם מוגדרת למכונת החישוב מדיניות מיקום קומפקטי או מדיניות עומס עבודה, מוצג מזהה המארח הספציפי לפרויקט ומידע על המיקום הפיזי שקשור אליו.
אם מופע החישוב משתמש בסוג מכונה H4D או בסוג מכונה A3 High עם 8 יחידות GPU (או דורות מאוחרים יותר), Compute Engine מתעלם מהבקשה.
כדי להציג או להסתיר את מזהה המארח של מופע מחשוב קיים, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי להציג או להסתיר את מזהה המארח של מכונת חישוב קיימת, משתמשים בפקודה gcloud compute instances update עם אחד מהדגלים הבאים:
כדי לחשוף את מזהה המארח, כוללים את הדגל
--expose-host-topology:gcloud compute instances update INSTANCE_NAME \ --expose-host-topology \ --zone=ZONEכדי להסתיר את מזהה המארח, מוסיפים את הדגל
--no-expose-host-topology:gcloud compute instances update INSTANCE_NAME \ --no-expose-host-topology \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של מכונת ה-Compute.
ZONE: האזור שבו קיימת מכונת ה-Compute.
REST
כדי לראות את המאפיינים של מכונת Compute קיימת, שולחים בקשת
GETאל ה-methodinstances.get:GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMEמחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו יצרתם את מופע Compute.
ZONE: האזור שבו קיימת מכונת ה-Compute.
INSTANCE_NAME: השם של מכונת ה-Compute.
כדי לעדכן מכונת Compute כך שתחשוף או תסתיר את מזהה המארח, שולחים בקשת
PUTאל ה-methodinstances.update. בגוף הבקשה, משתמשים בGETפלט הבקשה מהשלב הקודם. עם זאת, בשדהscheduling, צריך להוסיף את השדהexposeHostTopologyכדי לחשוף או להסתיר את מזהה המארח. אם השדהschedulingלא קיים בפלט של הבקשה, צריך להוסיף אותו גם כן.בקשת
PUTדומה לבקשה הבאה:PUT https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=REFRESH { "scheduling": { "exposeHostTopology": EXPOSE_HOST_ID }, ... }מחליפים את
EXPOSE_HOST_IDבאחד מהערכים הבאים:כדי לחשוף את מזהה המארח:
trueכדי להסתיר את מזהה המארח:
false
חשיפת מזהה המארח במופע חדש של מחשוב
כדי לחשוף את מזהה המארח בזמן שיוצרים מכונת חישוב, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי לחשוף את מזהה המארח בזמן יצירת מכונת Compute, משתמשים בפקודה gcloud compute instances create עם הדגל --expose-host-topology:
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--expose-host-topology \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של מכונת ה-Compute.
MACHINE_TYPE: סוג המכונה שרוצים שמכונת ה-Compute תשתמש בו.
ZONE: האזור שבו רוצים ליצור את מכונת ה-Compute.
REST
כדי לחשוף את מזהה המארח בזמן שיוצרים מכונת חישוב, שולחים בקשת POST אל ה-method instances.insert.
בגוף הבקשה, כוללים את השדה scheduling.exposeHostTopology עם הערך true.
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "INSTANCE_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"exposeHostTopology": true
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מכונת ה-Compute.
ZONE: האזור שבו רוצים ליצור את מכונת ה-Compute.
INSTANCE_NAME: השם של מכונת ה-Compute.
MACHINE_TYPE: סוג המכונה שרוצים שמכונת ה-Compute תשתמש בו.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמהdebian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות של מערכות הפעלה ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של תמונת מערכת ההפעלה – לדוגמה,
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. המאפיין הזה מציין את תמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מצייניםfamily/debian-12, המערכת משתמשת בגרסה האחרונה במשפחת תמונות Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
חשיפת מזהה המארח במכונות וירטואליות חדשות בכמות גדולה
כדי לחשוף את מזהה המארח כשיוצרים כמה מופעי מחשוב בבת אחת, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי לחשוף את מזהה המארח כשיוצרים כמות גדולה של מכונות וירטואליות, מריצים את הפקודה gcloud compute instances create-bulk עם הדגל --expose-host-topology.
לדוגמה, כדי ליצור מכונות וירטואליות בכמות גדולה באזור אחד ולציין שהמזהה של המארח שלהן יהיה גלוי, מריצים את הפקודה הבאה:
gcloud compute instances create-bulk \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--name-pattern="NAME_PATTERN" \
--expose-host-topology \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
COUNT: מספר מופעי Compute שרוצים ליצור.
MACHINE_TYPE: סוג המכונה שרוצים שמופעי Compute ישתמשו בו.
NAME_PATTERN: תבנית השם של מכונות Compute. כדי להחליף רצף של מספרים בשם של מופע חישוב, משתמשים ברצף של תווים מסוג גיבוב (#). לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מכונות וירטואליות עם שמות שמתחילים ב-instance-1,instance-2וממשיכים עד למספר המכונות הווירטואליות שצוין על ידיCOUNT.
ZONE: האזור שבו רוצים ליצור מכונות וירטואליות בכמות גדולה.
REST
כדי לחשוף את מזהה המארח כשיוצרים כמות גדולה של מכונות וירטואליות, שולחים בקשת POST אל ה-method instances.bulkInsert.
בגוף הבקשה, כוללים את השדה instanceProperties.scheduling.exposeHostTopology עם הערך true.
לדוגמה, כדי ליצור מכונות וירטואליות בכמות גדולה באזור אחד ולציין שהמזהה של המארח שלהן יהיה גלוי, שולחים בקשת POST באופן הבא:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"count": "COUNT",
"namePattern": "NAME_PATTERN",
"instanceProperties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"exposeHostTopology": true
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו ייצרו את מופעי ה-Compute.
ZONE: האזור שבו רוצים ליצור את מכונות ה-Compute.
COUNT: מספר מופעי Compute שרוצים ליצור.
NAME_PATTERN: תבנית השם של מכונות Compute. כדי להחליף רצף של מספרים בשם של מופע חישוב, משתמשים ברצף של תווים מסוג גיבוב (#). לדוגמה, שימוש ב-instance-#בתבנית השם יוצר מכונות וירטואליות עם שמות שמתחילים ב-instance-1,instance-2וממשיכים עד למספר המכונות הווירטואליות שצוין על ידיCOUNT.
MACHINE_TYPE: סוג המכונה שרוצים שמופעי Compute ישתמשו בו.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמהdebian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות של מערכות הפעלה ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של תמונת מערכת ההפעלה – לדוגמה,
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. המאפיין הזה מציין את תמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מצייניםfamily/debian-12, המערכת משתמשת בגרסה האחרונה במשפחת תמונות Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
חשיפת מזהה המארח בתבנית מכונה חדשה
אחרי שיוצרים תבנית של הגדרות מכונה שמציינת לחשוף את מזהה המארח, אפשר להשתמש בתבנית של הגדרות המכונה כדי לבצע את הפעולות הבאות:
חשיפת מזהה המארח במופעי המחשוב של קבוצת מופעי מכונה מנוהלים (MIG) כשמבצעים את הפעולות הבאות:
כדי לחשוף את מזהה המארח בזמן שיוצרים תבנית של הגדרות מכונה, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי לחשוף את מזהה המארח בזמן שיוצרים תבנית של הגדרות מכונה, משתמשים בפקודה gcloud compute instance-templates create עם הדגל --expose-host-topology.
לדוגמה, משתמשים בפקודה הבאה כדי ליצור תבנית של מופע אזורי. כדי ליצור תבנית גלובלית של הגדרות מכונה, משתמשים באותה פקודה בלי הדגל --instance-template-region.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--expose-host-topology \
--instance-template-region=REGION \
--machine-type=MACHINE_TYPE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
REGION: האזור שבו רוצים ליצור את תבנית הגדרות המכונה.
MACHINE_TYPE: סוג המכונה שרוצים שמופעי Compute ישתמשו בו.
REST
כדי לחשוף את מזהה המארח בזמן שיוצרים תבנית של הגדרות מכונה, שולחים POST
בקשה לאחת מהשיטות הבאות. בגוף הבקשה, כוללים את השדה properties.scheduling.exposeHostTopology עם הערך true.
כדי ליצור תבנית של הגדרות מכונה גלובלית: שימוש ב-method
instanceTemplates.insert.כדי ליצור תבנית של הגדרות מכונה אזורית:
regionInstanceTemplates.insertmethod.
לדוגמה, כדי ליצור תבנית של הגדרות מכונה אזורית שחושפת את מזהה המארח, שולחים בקשת POST באופן הבא:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"exposeHostTopology": true
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המזהה של הפרויקט שבו רוצים ליצור את תבנית של הגדרות מכונה.
REGION: האזור שבו רוצים ליצור את תבנית של הגדרות מכונה.
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמהdebian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות של מערכות הפעלה ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של תמונת מערכת ההפעלה – לדוגמה,
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. המאפיין הזה מציין את תמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מצייניםfamily/debian-12, נעשה שימוש בגרסה העדכנית ביותר במשפחת קובצי האימג' של Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
MACHINE_TYPE: סוג המכונה שרוצים שמופעי Compute ישתמשו בו.
אימות המיקום הפיזי של מופע מחשוב
אפשר לראות את המיקום הפיזי של מופעי מחשוב פעילים רק אם הם עומדים בדרישות ספציפיות או אם חושפים את מזהי המארחים שלהם.
כדי לאמת את המיקום הפיזי של מופעי החישוב הפעילים בארגון, משתמשים באחת מהשיטות הבאות:
אימות המיקום הפיזי באמצעות מסוף Cloud de Confiance , ה-CLI של gcloud או REST
כדי לראות את המיקום הפיזי של כמה מופעי מחשוב בבת אחת, משתמשים ב-API בארכיטקטורת REST. אחרת, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף VM instances במסוף Cloud de Confiance .
בעמודה Name (שם), לוחצים על השם של מופע החישוב שרוצים לראות את הפרטים שלו. מופיע דף עם פרטי המופע והכרטיסייה Details נבחרת.
בקטע מידע בסיסי, בודקים את הערך בשדה מארח פיזי.
gcloud
כדי לראות את המיקום הפיזי של מכונת Compute פעילה, משתמשים בפקודה gcloud compute instances describe עם הדגל --flatten=resourceStatus.physicalHostTopology:
gcloud compute instances describe INSTANCE_NAME \
--flatten=resourceStatus.physicalHostTopology \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של מכונת ה-Compute.
ZONE: האזור שבו קיימת מכונת ה-Compute.
הפלט אמור להיראות כך:
אם אתם יכולים לראות את המזהה של האשכול, הבלוק, תת-הבלוק והמארח של מופע Compute, הפלט ייראה כך:
--- block: 3e3056e23cf91a5cb4a8621b6a52c100 cluster: europe-west1-cluster-jfhb host: 1215168a4ecdfb434fd4d28056589059 subBlock: 0fc09525cbd5abd734342893ca1c083fאם אפשר לראות את המזהה של המארח רק אחרי החשיפה, הפלט ייראה בערך כך:
--- block: null cluster: null host: 1215168a4ecdfb434fd4d28056589059 subBlock: null
REST
כדי לראות את המיקום הפיזי של מופעי המחשוב הפעילים, שולחים אחת מהבקשות הבאות של GET. כששולחים בקשה, צריך לכלול את פרמטר השאילתה fields ולהגביל את הפלט לשדות name, machineType ו-physicalHostTopology של מופע Compute. צריך גם לכלול את פרמטר השאילתה filter ולהגביל את התוצאות למכונות פעילות.
כדי לראות רשימה של המופעים בכל האזורים:
instances.aggregatedListmethodGET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNINGכדי לראות רשימה של המכונות שלכם באזור מסוים: שיטת
instances.listGET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו קיימים מופעי Compute.
ZONE: האזור שבו קיימות מכונות ה-Compute.
הפלט אמור להיראות כך:
אם אתם יכולים לראות את המזהה של האשכול, הבלוק, תת-הבלוק והמארח של מופע Compute, הפלט ייראה כך. בדוגמה הבאה, המכונות
vm-01ו-vm-02נמצאות באותו בלוק.{ "items": [ { "name": "vm-01", "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g", "resourceStatus": { "physicalHostTopology": { "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "1215168a4ecdfb434fd4d28056589059", "subBlock": "0fc09525cbd5abd734342893ca1c083f" } } }, { "name": "vm-02", "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g", "resourceStatus": { "physicalHostTopology": { "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" } } }, ... ] }אם אפשר לראות את המזהה של המארח רק אחרי החשיפה, הפלט ייראה בערך כך:
{ "items": [ { "name": "vm-01", "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g", "resourceStatus": { "physicalHostTopology": { "block": null, "cluster": null, "host": "1215168a4ecdfb434fd4d28056589059", "subBlock": null } } }, { "name": "vm-02", "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g", "resourceStatus": { "physicalHostTopology": { "block": null, "cluster": null, "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": null } } }, ... ] }
כדי לשנות את רשימת מופעי המחשוב, עורכים את ביטוי הסינון בפרמטר השאילתה filter.
אימות המיקום הפיזי באמצעות שאילתת מפתח מטא-נתונים
כדי להציג את המיקום הפיזי של מופע מחשוב פעיל על ידי שליחת שאילתה למפתח המטא-נתונים physical_host_topology, בוחרים באחת מהאפשרויות הבאות:
מכונות Linux
מתחברים למופע Linux.
שולחים שאילתה למפתח המטא-נתונים
physical_host_topologyבאמצעותcurl:user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topologyהפלט אמור להיראות כך:
אם אתם יכולים לראות את המזהה של האשכול, הבלוק, תת-הבלוק והמארח של מופע Compute, הפלט ייראה כך:
{ "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" }אם אפשר לראות רק את המזהה של המארח אחרי שחושפים אותו, הפלט ייראה כך:
{ "block": null, "cluster": null, "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": null }
מכונות וירטואליות של Windows
מתחברים למופע Windows.
שולחים שאילתה למפתח המטא-נתונים
physical_host_topologyבאמצעות הפקודהInvoke-RestMethod:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology") $valueהפלט אמור להיראות כך:
אם אתם יכולים לראות את המזהה של האשכול, הבלוק, תת-הבלוק והמארח של מופע Compute, הפלט ייראה כך:
{ "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" }אם אפשר לראות רק את המזהה של המארח אחרי שחושפים אותו, הפלט ייראה כך:
{ "block": null, "cluster": null, "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": null }