יצירת מכונה שמשתמשת ב-Cloud RDMA

במאמר הזה נסביר איך ליצור מכונות וירטואליות עם ממשקי רשת של Cloud RDMA ‏ (IRDMA) לתקשורת עם זמן אחזור נמוך וקצב העברת נתונים גבוה בין מכונות.

כדי ליצור מכונה עם Cloud RDMA, צריך לבצע את השלבים הבאים:

  1. יצירת מדיניות למיקום קומפקטי
  2. יוצרים את הרשתות של הענן הווירטואלי הפרטי (VPC), כולל רשת VPC רגילה (GVNIC או IDPF) ורשת VPC של Falcon (IRDMA).
  3. יוצרים את המכונה עם ממשקי הרשת ומדיניות המיקום.

במאמר יצירת מכונה שעברה אופטימיזציה ל-AI מוסבר איך יוצרים מכונות שעברו אופטימיזציה למאיצים (כמו A4X Max,‏ A4X,‏ A4 או A3 Ultra) שמשתמשות ב-RDMA.

לפני שמתחילים

  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Google Cloud כדי לגשת Google Cloud לשירותים ולממשקי ה-API, לא צריך להגדיר אימות.

    gcloud

    1. מתקינים את ה-CLI של Google Cloud ואז נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init
  • הגדרת אזור ותחום כברירת מחדל.
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      מתקינים את ה-CLI של Google Cloud ואז נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות ליצירת מכונה שתומכת ב-Cloud RDMA, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין מכונות של Compute ‏ (v1) (roles/compute.instanceAdmin.v1) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת מכונה שתומכת ב-Cloud RDMA. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי ליצור מכונה שתומכת ב-Cloud RDMA, צריך את ההרשאות הבאות:

  • ‫compute.instances.create בפרויקט
  • כדי להשתמש באימג' בהתאמה אישית ליצירת המכונה הווירטואלית (VM)‏: ‫compute.images.useReadOnly בקובץ אימג'
  • כדי להשתמש ב-snapshot ליצירת המכונה הווירטואלית: ‫compute.snapshots.useReadOnly בקובץ snapshot
  • כדי להשתמש בתבנית של הגדרות מכונה ליצירת המכונה הווירטואלית: ‫compute.instanceTemplates.useReadOnly בתבנית של הגדרות המכונה
  • כדי לציין רשת משנה למכונה הווירטואלית: ‫compute.subnetworks.use בפרויקט או ברשת המשנה שנבחרה
  • כדי לציין כתובת IP סטטית למכונה הווירטואלית: ‫compute.addresses.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 בדיסק

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

דרישות

כדי להגדיר ממשק רשת למכונה, צריך לפעול לפי הכללים הבאים:

  • כדי להגדיר ממשק רשת IRDMA, קודם צריך ליצור רשת VPC עם פרופיל הרשת Falcon RDMA באותו אזור ובאותו תחום כמו המכונה.
  • בממשק הרשת gVNIC או IDPF, צריך להשתמש ב-VPC רגיל. אם לא מציינים רשת או תת-רשת, המערכת של Compute Engine משתמשת ברשת ה-VPC שמוגדרת כברירת מחדל ובתת-הרשת האוטומטית שנמצאת באותו אזור של המכונה.
  • אם מציינים רשת משנה אבל לא מציינים רשת, Compute Engine מסיק את הרשת מרשת המשנה שצוינה.
  • אם מציינים רשת, צריך לציין גם רשת משנה ששייכת לאותה רשת. אחרת, יצירת המכונה תיכשל.

מגבלות

  • אי אפשר להשתמש במיגרציה פעילה עם מכונות וירטואליות (VM) שמשתמשות ב-Cloud RDMA. צריך להגדיר את המכונה כך שתסתיים במהלך אירועי תחזוקה.
  • אי אפשר להשתמש ב-Cloud RDMA עם קבוצות מנוהלות של מופעים (MIG) (מנוהלות או לא מנוהלות).
  • אפשר להשתמש רק בIPv4_ONLY סוגים של מחסנית רשת עם מופע שמופעל בו Cloud RDMA.
  • אפשר להשתמש רק בסדרות מכונות שתומכות ב-Cloud RDMA, כמו סדרת המכונות H4D או סדרת המכונות Z4M.
  • במכונה צריך להשתמש בקובץ אימג' של מערכת הפעלה שתומך ב-IRDMA.

יצירת מכונה עם Cloud RDMA

במקרים שבהם נעשה שימוש ב-Cloud RDMA, נדרשים לפחות שני ממשקי רשת וירטואלית (vNIC) לכל מתאם NIC פיזי, שמוגדרים מתוך סוגי ממשקי הרשת הבאים:

  • סוג ממשק הרשת GVNIC: מכונות וירטואליות משתמשות במנהל ההתקן gve לתעבורת נתונים ב-TCP/IP ובאינטרנט, לתקשורת רגילה בין מכונות וירטואליות ולתקשורת בין מכונות וירטואליות לאינטרנט
  • סוג ממשק הרשת IDPF: מכונות Bare Metal משתמשות בסוג ממשק הרשת IDPF במקום ב-GVNIC לתקשורת רגילה בין מכונות ובין מכונות לאינטרנט.
  • סוג ממשק הרשת IRDMA: משתמש במנהלי התקנים של IDPF/iRDMA לתקשורת מבוססת-RDMA בין מופעי מחשוב. הממשק הזה חייב להשתמש בפרופיל רשת Falcon RDMA.

מספר ממשקי הרשת מכל סוג שאפשר להגדיר למכונה תלוי בסדרת המכונות, כמו שמוסבר בטבלה הבאה:

סדרת מכונות סוגי ממשקי רשת המספר שרוצים להגדיר
H4D gVNIC בלבד ‫gVNIC: ‏1 עד 10
H4D GVNIC ו-IRDMA GVNIC: 1 to 9
IRDMA: 1
מכונות וירטואליות מסוג Z4M gVNIC בלבד GVNIC: 1 to 10
מכונות וירטואליות מסוג Z4M (פחות מ-192 מעבדים וירטואליים) ‫GVNIC ו-IRDMA GVNIC: 1 to 9
IRDMA: 1
מכונות וירטואליות מסוג Z4M‏ (192 vCPU) GVNIC ו-IRDMA ‫GVNIC: ‏1 עד 9
IRDMA: ‏1 עד 2
‫Z4M (שרת פיזי) IDPF בלבד ‫IDPF: ‏1 עד 2
‫Z4M (שרת פיזי) IDPF ו-IRDMA ‫1 IDPF ו-1 IRDMA או
2 IDPF ו-1 או 2 IRDMA

מספר ממשקי הרשת של IRDMA עבור מופעי Bare Metal לא יכול להיות גדול ממספר ממשקי הרשת של IDPF. בנוסף, כדי להקצות נכון את סוגי ממשקי הרשת לכל NIC פיזי במקרים של multi-NIC, צריך להגדיר ממשק GVNIC או IDPF לפני כל ממשק IRDMA. הדוגמאות הבאות מתארות הגדרות אפשריות:

  • מכונה וירטואלית multi-NIC עם ממשק רשת אחד מסוג IRDMA ו-4 ממשקי רשת מסוג GVNIC: מגדירים את ממשקי הרשת בסדר הבא: GVNIC, ‏ IRDMA,‏ GVNIC, ‏ GVNIC, ‏ GVNIC. התוצאה היא ההקצאות הבאות:
    • ‫NIC 0: GVNIC, IRDMA, GVNIC
    • NIC 1: GVNIC, GVNIC
  • מכונה וירטואלית multi-NIC עם 2 ממשקי רשת IRDMA ו-5 ממשקי רשת GVNIC: מגדירים את ממשקי הרשת בסדר הבא: GVNIC, ‏ IRDMA,‏ GVNIC, ‏ IRDMA, ‏ GVNIC, ‏ GVNIC, ‏ GVNIC. התוצאה היא ההקצאות הבאות:
    • NIC 0: GVNIC, IRDMA, GVNIC, GVNIC
    • ‫NIC 1: ‏ GVNIC, ‏ IRDMA, ‏ GVNIC

סקירה כללית של ממשקי רשת מרובים ב- Google Cloudמופיעה במאמר ממשקי רשת מרובים.

כדי ליצור מופע שמשתמש ב-IRDMA, מבצעים את השלבים שבקטעים הבאים:

  1. יוצרים מדיניות למיקום מודעה, אם אין מדיניות מתאימה.

  2. יוצרים רשת VPC חדשה או משתמשים ברשת VPC קיימת של Falcon.

  3. יוצרים מכונה עם Cloud RDMA שיש לה לפחות ממשק רשת אחד מסוג GVNIC או IDPF, לפחות ממשק רשת אחד מסוג IRDMA, ומשתמשת במדיניות למיקום קומפקטי.

יצירת מדיניות מיקום למופעים של Cloud RDMA

מכונות שמתקשרות באמצעות Cloud RDMA צריכות להיות באותו אזור, ובאופן מחמיר יותר, באותו מארג אשכולות. אתם יכולים ליצור מדיניות למיקום קומפקטי ולציין ערך מרחק מקסימלי כדי להגדיר את הקומפקטיות המינימלית בתוך אזור. יש מגבלה על מספר המכונות שאפשר להקצות להן מדיניות למיקום קומפקטי כשמציינים ערך למרחק המקסימלי, והמגבלה משתנה בהתאם לערך שבוחרים.

  • כדי ליצור מדיניות מיקום קומפקטית לשימוש עם מופעי Cloud RDMA, פועלים לפי השלבים במאמר יצירת מדיניות מיקום קומפקטית ומציינים ערך מרחק מקסימלי של 3 או פחות.

יצירת רשתות של ענן וירטואלי פרטי (VPC)

כדי להגדיר את הרשתות, אפשר לפעול לפי ההוראות במסמכים או להשתמש בסקריפט שסופק.

מדריכי הוראות

כדי ליצור את הרשתות, אפשר להשתמש בהוראות הבאות:

Script

כדי ליצור את הרשתות, אפשר להשתמש בסקריפט הבא.

  1. אופציונלי: לפני שמריצים את הסקריפט, מציגים את פרופילי הרשת של Falcon RDMA כדי לוודא שהם זמינים.

    gcloud compute network-profiles list --filter=falcon
    
  2. מעתיקים את הקוד הבא ומריצים אותו בחלון מעטפת של Linux.

#!/bin/bash

# Create standard VPC (network and subnet) for the GVNIC or IDPF interface
  gcloud compute networks create GVNIC_NAME_PREFIX-net-0 \
    --subnet-mode=custom

  gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-0 \
    --network=GVNIC_NAME_PREFIX-net-0 \
    --region=REGION \
    --range=10.0.0.0/16

  gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-0 \
    --network=GVNIC_NAME_PREFIX-net-0 \
    --action=ALLOW \
    --rules=tcp:0-65535,udp:0-65535,icmp \
    --source-ranges=10.0.0.0/8

# Create SSH firewall rules
gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
  --network=GVNIC_NAME_PREFIX-net-0 \
  --action=ALLOW \
  --rules=tcp:22 \
  --source-ranges=IP_RANGE

# Optional: Create an external IP for only the GVNIC or IDPF interface
gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
  --network=GVNIC_NAME_PREFIX-net-0 \
  --action=ALLOW \
  --rules=icmp \
  --source-ranges=IP_RANGE

# Create network for Cloud RDMA over Falcon transport
gcloud compute networks create RDMA_NAME_PREFIX-irdma \
  --network-profile=ZONE-vpc-falcon \
  --subnet-mode custom

# Create subnet for Cloud RDMA
gcloud compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \
    --network=RDMA_NAME_PREFIX-irdma \
    --region=REGION \
    --range=10.1.0.0/16  # offset to avoid overlap with GVNIC or IDPF network

מחליפים את מה שכתוב בשדות הבאים:

  • ‫GVNIC_NAME_PREFIX: קידומת השם לשימוש ברשת הרגילה של הענן הווירטואלי הפרטי (VPC) וברשת המשנה שמשתמשת בסוג GVNIC או IDPF NIC.
  • ‫RDMA_NAME_PREFIX: הקידומת של השם של רשת ה-VPC ותת-הרשת שמשתמשות בסוג ה-NIC של IRDMA.
  • ‫ZONE: האזור שבו רוצים ליצור את הרשתות ואת המכונות. אפשר להשתמש ב-us-central1-a או ב-europe-west4-b.
  • ‫REGION: האזור שבו רוצים ליצור את הרשתות. הוא צריך להתאים לאזור שצוין. לדוגמה, אם האזור הוא europe-west4-b, המחוז הוא europe-west4.
  • ‫IP_RANGE: טווח כתובות ה-IP מחוץ לרשת ה-VPC, שמשמשות לכללי חומת האש של SSH. השיטה המומלצת היא לציין את טווחי כתובות ה-IP הספציפיים שמהם אתם צריכים לאפשר גישה, ולא את כל המקורות של IPv4 או IPv6. אל תשתמשו ב-0.0.0.0/0 או ב-::/0 כטווח מקור, כי זה מאפשר תנועה מכל מקורות IPv4 או IPv6, כולל מקורות מחוץ ל-Google Cloud.

יצירת מכונה עם Cloud RDMA

בשלבים הבאים מוסבר איך ליצור מכונה שבה ממשק הרשת הראשון מוגדר כממשק gVNIC או IDPF, וממשק הרשת השני מוגדר כממשק רשת IRDMA:

המסוף

  1. נכנסים לדף Create an instance במסוף Google Cloud .

    כניסה לדף Create an instance

    אם מתבקשים, בוחרים את הפרויקט ולוחצים על Continue.

    הדף Create an instance מופיע ובו החלונית Machine configuration.

  2. בחלונית Machine configuration:

    1. בשדה Name (שם), מציינים שם למופע. מידע נוסף זמין במאמר מוסכמות למתן שמות למשאבים.
    2. אופציונלי: בשדה Zone, בוחרים אזור למכונה הזו.

      בוחרים את האזור שבו השתמשתם כדי להגדיר את רשת ה-VPC של Falcon.

    3. בוחרים משפחת מכונות וסדרת מכונות נתמכות.

    4. בקטע Machine type, בוחרים את סוג המכונה עבור המופע.

  3. בתפריט הניווט שמימין, לוחצים על מערכת הפעלה ואחסון. בחלונית Operating system and storage שמופיעה, מבצעים את הפעולות הבאות:

    1. בתחתית הקטע מערכת הפעלה ואחסון, לוחצים על שינוי.
    2. ברשימות Operating system ו-Version, בוחרים סוג וגרסה של מערכת הפעלה שתומכת ב-Cloud RDMA.
    3. מוודאים שסוג דיסק האתחול מוגדר ל-Hyperdisk Balanced.
    4. לוחצים על בחירה בתחתית החלונית כדי לשמור את השינויים.
  4. בתפריט הניווט שמימין, לוחצים על Networking. בחלונית Networking שמופיעה, מבצעים את הפעולות הבאות:

    1. עוברים לקטע Network interfaces. כבר אמור להיות ממשק רשת אחד, עם התווית default.
    2. לוחצים על הוספת ממשק רשת. בקטע New network interface (ממשק רשת חדש) שמופיע, מבצעים את הפעולות הבאות:
      1. ברשימה Network interface card בוחרים באפשרות IRDMA.
      2. בשדה Network, בוחרים את רשת ה-VPC של Falcon.
      3. אופציונלי: ברשימה Subnetwork, בוחרים את רשת המשנה שהמופע ישתמש בה.
      4. בשדה IP stack type מוודאים שהערך הוא IPV4-only.
      5. ברשימה External IPv4 address בוחרים באפשרות None.
      6. כדי לאשר את פרטי ממשק הרשת, לוחצים על Done (סיום).
  5. אופציונלי: מציינים אפשרויות הגדרה אחרות למכונה. למידע נוסף, קראו את המאמר אפשרויות הגדרה במהלך יצירת מכונה.

  6. כדי ליצור את המכונה ולהפעיל אותה, לוחצים על Create.

gcloud

  1. מפעילים את Cloud Shell במסוף Google Cloud .

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. משתמשים בפקודה gcloud compute instances create עם שני דגלים לפחות של --network-interface, אחד לממשק GVNIC או IDPF ואחד לממשק IRDMA. אפשר להתאים אישית את שאר האפשרויות של הפקודה, לפי הצורך.

    gcloud compute instances create INSTANCE_NAME \
        --zone=ZONE \
        --machine-type=MACHINE_TYPE \
        --create-disk=boot=yes, \
            image=projects/IMAGE_PROJECT/global/images/IMAGE, \
            size=SIZE \
        --maintenance-policy=TERMINATE \
        --network-interface \
            nic-type=GVNIC, \
            network=NETWORK_NAME,subnet=SUBNET_NAME, \
            stack-type=STACK_TYPE, \
            private-network-ip=INTERNAL_IPV4_ADDRESS, \
            address=EXTERNAL_IPV4_ADDRESS \
        --network-interface \
            nic-type=IRDMA, \
            network=RDMA_NETWORK_NAME,subnet=RDMA_SUBNET_NAME, \
            stack-type=IPV4_ONLY, \
            no-address \
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫INSTANCE_NAME: השם של מכונת ה-Compute
    • ‫ZONE: האזור שבו נוצרה המכונה, למשל europe-west1-b. האזור של המכונה נגזר מהתחום (zone).
    • ‫MACHINE_TYPE: סוג מכונה נתמך לשימוש במופע.
    • ‫IMAGE_PROJECT: אופציונלי: פרויקט התמונה שמכיל את התמונה.
    • ‫IMAGE: אופציונלי: מציינים אחד מהערכים הבאים:
      • גרסה ספציפית של קובץ אימג' של מערכת ההפעלה – לדוגמה, hpc-rocky-linux-8-v20250721.
      • תמונה משפחתית, שצריכה להיות בפורמט family/IMAGE_FAMILY. כך המכונה נוצרת מקובץ אימג' של מערכת ההפעלה העדכני ביותר, שלא הוצא משימוש. לדוגמה, אם מציינים family/hpc-rocky-linux-8, ‏ Compute Engine יוצר מכונה באמצעות הגרסה האחרונה של תמונת מערכת ההפעלה במשפחת התמונות של HPC Rocky Linux 8. למידע נוסף על שימוש במשפחות של תמונות, אפשר לעיין במאמר שיטות מומלצות לשימוש במשפחות של תמונות.
    • ‫SIZE: אופציונלי: הגודל של הדיסק החדש. הערך חייב להיות מספר שלם. יחידת המידה שמוגדרת כברירת מחדל היא GiB.
    • ‫NETWORK_NAME: אופציונלי: שם הרשת
    • ‫SUBNET_NAME: השם של תת-הרשת שבה רוצים להשתמש עבור ממשק הרשת. כדי להציג רשימה של רשתות משנה ברשת, משתמשים בפקודה gcloud compute networks subnets list.

      בממשק הרשת GVNIC או IDPF, אפשר להשמיט את הדגלים network ו-subnet ולהשתמש ברשת default.

    • ‫STACK_TYPE: אופציונלי: סוג המערך של ממשק הרשת GVNIC או IDPF. הערך של STACK_TYPE חייב להיות אחד מהבאים: IPV4_ONLY,‏ IPV4_IPV6 או IPV6_ONLY. ערך ברירת המחדל הוא IPV4_ONLY.

    • ‫INTERNAL_IPV4_ADDRESS: אופציונלי: כתובת ה-IPv4 הפנימית שרוצים שמכונת ה-Compute תשתמש בה ברשת המשנה של היעד. אם לא צריך כתובת IP ספציפית, לא מציינים את הדגל הזה.

      כדי לציין כתובת IPv6 פנימית, משתמשים בדגל --internal-ipv6-address במקום.

    • ‫EXTERNAL_IPV4_ADDRESS: אופציונלי: כתובת IPv4 חיצונית סטטית לשימוש עם ממשק הרשת. צריך לשריין כתובת IPv4 חיצונית מראש. מבצעים אחת מהפעולות הבאות:

      • צריך לציין כתובת IPv4 תקינה מרשת המשנה.
      • אם אתם לא רוצים שלממשק הרשת תהיה כתובת IP חיצונית, השתמשו בדגל no-address.
      • מציינים address='' אם רוצים שהממשק יקבל כתובת IP חיצונית ארעית.

      כדי לציין כתובת IPv6 חיצונית, משתמשים בדגל --external-ipv6-address.

    • ‫RDMA_NETWORK_NAME: השם של רשת ה-VPC שיצרתם עם פרופיל רשת Falcon RDMA.

    • ‫RDMA_SUBNET_NAME: השם של תת-רשת ברשת ה-VPC של Falcon.

REST

כדי ליצור מכונה שמוגדרת לשימוש ב-Cloud RDMA, שולחים בקשת POST אל ה-method‏ instances.insert. צריך לכלול את האובייקט networkInterfaces עם לפחות שתי הגדרות רשת, אחת לממשק gVNIC או IDPF ואחת לממשק IRDMA. אפשר להתאים אישית את שאר המאפיינים של המכונה לפי הצורך.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט שבו יוצרים את המכונה
  • ‫ZONE: האזור שבו רוצים ליצור את המכונה
  • ‫MACHINE_TYPE: סוג מכונה נתמך, לדוגמה h4d-highmem-192-lssd
  • ‫INSTANCE_NAME: שם למכונה החדשה
  • ‫IMAGE_PROJECT: אופציונלי: פרויקט התמונה שמכיל את התמונה
  • ‫IMAGE: אופציונלי: מציינים אחת מהאפשרויות הבאות:

    • גרסה ספציפית של קובץ האימג' של מערכת ההפעלה, לדוגמה: debian-12-bookworm-v20250415
    • משפחת תמונות, שצריכה להיות בפורמט family/IMAGE_FAMILY. הפעולה הזו יוצרת את המכונה מקובץ אימג' של מערכת ההפעלה העדכני ביותר שלא יצא משימוש. לדוגמה, אם מציינים את family/debian-12, ‏Compute Engine יוצר מכונה באמצעות הגרסה העדכנית של קובץ האימג' של מערכת ההפעלה במשפחת קובצי האימג' של Debian 12. מידע נוסף על השימוש במשפחות תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות תמונות.
  • ‫NETWORK_NAME: אופציונלי: שם הרשת שבה רוצים להשתמש עם ממשק הרשת gVNIC או IDPF
  • ‫SUBNET_NAME: השם של רשת המשנה שבה רוצים להשתמש עם ממשק הרשת gVNIC או IDPF

    בממשק הרשת GVNIC או IDPF, אפשר להשמיט את המאפיינים network ו-subnet ולהשתמש ברשת default במקום זאת.

  • ‫INTERNAL_IPV4_ADDRESS: אופציונלי: כתובת ה-IPv4 הפנימית שרוצים שהמכונה תשתמש בה ברשת המשנה של היעד. אם אתם לא צריכים כתובת IP ספציפית, אל תשתמשו בדגל הזה.
  • ‫EXTERNAL_IPV4_ADDRESS: אופציונלי: כתובת IPv4 חיצונית סטטית לשימוש עם ממשק הרשת. צריך לשריין כתובת IPv4 חיצונית מראש.
  • ‫RDMA_NETWORK_NAME: השם של הרשת שיצרתם באמצעות פרופיל רשת RDMA
  • ‫RDMA_SUBNET_NAME: השם של רשת משנה ברשת ה-RDMA

ה-method של ה-HTTP וכתובת ה-URL:

POST https://compute./compute/v1/projects/PROJECT_ID/zones/ZONE/instances

תוכן בקשת JSON:

{
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "name": "INSTANCE_NAME",
    "disks": [
      {
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        },
        "boot": true
      }
    ],
    "networkInterfaces": [
      {
        "network": "NETWORK_NAME",
        "subnetwork": "SUBNET_NAME",
        "networkIP": "INTERNAL_IPV4_ADDRESS",
        "accessConfigs": [
          {
            "type": "ONE_TO_ONE_NAT",
            "name": "External IP",
            "natIP": "EXTERNAL_IPV4_ADDRESS"
          }
        ],
        "stackType": "IPV4_ONLY",
        "nicType": "GVNIC",
      },
      {
        "network": "RDMA_NETWORK_NAME",
        "subnetwork": "RDMA_SUBNET_NAME",
        "stackType": "IPV4_ONLY",
        "nicType": "IRDMA",
      }
    ]
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "kind": "compute#operation",
  "id": "9216044482154695709",
  "name": "operation-1739207409646-62dccc7d7bc58-d1350b42-64fdb7f7",
  "zone": "https://www./compute/v1/projects/`PROJECT_ID`/zones/`ZONE`",
  "operationType": "insert",
  "targetLink": "https://www./compute/v1/projects/`PROJECT_ID`/zones/`ZONE`/instances/`INSTANCE_NAME`",
  "targetId": "2679381553616227357",
  "status": "RUNNING",
  "user": "USER_ID",
  "progress": 0,
  "insertTime": "2025-02-10T09:10:10.551-08:00",
  "startTime": "2025-02-10T09:10:10.551-08:00",
  "selfLink": "https://www./compute/v1/projects/`PROJECT_ID`/zones/`ZONE`/operations/operation-1565289606387-58f9f62f5989c-e582f586-6d22f38"
 "kind": "compute#operation"
}

מה השלב הבא?