הגדרת רשת VPC

מכונות Google Cloud Managed Lustre מוקצות ברשת שמנוהלת על ידי Google ומחוברת לענן הווירטואלי הפרטי (VPC) שלכם באמצעות גישה לשירותים פרטיים.

אפשר לחבר את מופע Managed Lustre למכונות וירטואליות של Compute Engine או לאשכולות Google Kubernetes Engine באמצעות אחת מהגדרות הרשת הבאות:

  • אותה רשת VPC: מחברים את משאבי הלקוח ואת מכונת Managed Lustre לאותה רשת VPC.

  • רשתות VPC נפרדות: פריסת משאבי הלקוח ברשת VPC נפרדת וחיבור בין שתי הרשתות באמצעות Network Connectivity Center. הוראות להגדרת NCC מופיעות במסמכי Network Connectivity Center.

בשני המקרים, צריך לפעול לפי ההוראות שבדף הזה כדי להגדיר את רשת ה-VPC שבה יוקצה מופע Managed Lustre. אם אתם משתמשים ברשתות VPC נפרדות, ההוראות כוללות הסבר עם השלבים הנדרשים לרשת ה-VPC של הלקוח.

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

אתם צריכים את הרשאות ה-IAM הבאות:

  • serviceusage.services.enable
  • compute.networks.create
  • compute.addresses.create
  • compute.addresses.get
  • compute.firewalls.create
  • servicenetworking.services.addPeering

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

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

כדי להקצות תפקיד למשתמש:

מסוף Google Cloud

  1. נכנסים לדף IAM במסוף Google Cloud .

    כניסה לדף IAM

  2. לוחצים על הענקת גישה.

  3. בשדה New principals, מזינים את כתובת האימייל של המשתמש.

  4. בתפריט הנפתח Select a role, בוחרים את התפקיד שרוצים להקצות.

  5. כדי להקצות כמה תפקידים, לוחצים על Add another role ובוחרים את התפקיד הבא.

  6. לוחצים על Save.

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="user:EMAIL_ADDRESS" \
  --role=ROLE

יצירה של VPC וחיבור בין רשתות VPC

כדי ליצור רשת VPC ולהגדיר חיבור גישה לשירותים פרטיים ל-Managed Lustre, מבצעים את השלבים הבאים:

מסוף Google Cloud

  1. מפעילים את Service Networking API.

    הפעלת Service Networking API

  2. יוצרים רשת VPC במצב בהתאמה אישית:

    1. נכנסים לדף VPC networks במסוף Google Cloud .

      מעבר לרשתות VPC

    2. לוחצים על יצירת רשת VPC.

    3. מזינים שם לרשת.

    4. מבטלים את הסימון של הגדרת MTU באופן אוטומטי ומזינים 8896 בשדה יחידת שידור מקסימלית (MTU).

    5. בקטע Subnet creation mode, בוחרים באפשרות Custom.

  3. יוצרים רשת משנה ראשית למשאבי GKE או Compute Engine:

    1. בקטע New subnet, מזינים Name לרשת המשנה.
    2. בוחרים Region.
    3. בשדה IPv4 range (טווח IPv4), מזינים את טווח ה-IPv4 הראשי (לדוגמה, 10.128.0.0/20).
    4. לוחצים על סיום.
    5. לוחצים על Create (יצירה) כדי ליצור את רשת ה-VPC.
  4. הקצאת טווח כתובות IP לגישה לשירותים פרטיים.

    טווח כתובות ה-IP הפנימי הזה משמש לחיבור של גישה לשירותים פרטיים, שמבצע peering בין רשת ה-VPC שלכם לבין הרשת שמנוהלת על ידי Google, שבה מוקצים משאבי Managed Lustre. הטווח המוקצה הזה משמש להקצאת כתובות IP למכונות Managed Lustre, ואסור לו לחפוף עם אף רשת משנה ברשת ה-VPC.

    לכל מופע של Managed Lustre נדרש בלוק CIDR רציף עם אורך קידומת של לפחות 23.

    מומלץ ליצור טווח IP גדול יותר של ‎ /20 כדי לאפשר יצירה של כמה מופעים של Managed Lustre או שימוש בשירותים אחרים של Google Cloud .

    1. בדף VPC networks (רשתות VPC), לוחצים על השם של רשת ה-VPC.
    2. לוחצים על הכרטיסייה גישה לשירותים פרטיים.
    3. בוחרים בכרטיסייה Allocated IP ranges for services (טווחים של כתובות IP שהוקצו לשירותים).
    4. לוחצים על הקצאת טווח כתובות IP.
    5. מזינים שם ותיאור לטווח שהוקצה (לדוגמה, Managed Lustre VPC Peering).
    6. מציינים את טווח כתובות ה-IP:
    7. כדי לאפשר ל-Google לבחור טווח זמין, בוחרים באפשרות אוטומטי ומזינים אורך קידומת של 20.
    8. כדי לציין טווח ספציפי, בוחרים באפשרות Custom ומזינים בלוק CIDR עם אורך קידומת של לפחות /23 (למשל, 10.128.0.0/20).
    9. לוחצים על הקצאה.
  5. שימו לב לבלוק ה-CIDR שמשויך לטווח שהוקצה.

    בטבלה Allocated IP ranges for services (טווח כתובות IP שהוקצו לשירותים), מאתרים את הטווח שיצרתם ורושמים את הערך בעמודה Internal IP range (לדוגמה, 10.128.0.0/20). תצטרכו לציין את הטווח הזה כמקור בשלב הבא.

  6. יוצרים כלל חומת אש שמאפשר תעבורת TCP מטווח כתובות ה-IP שיצרתם.

    1. נכנסים לדף Firewall policies במסוף Google Cloud .

    למדיניות חומת האש

    1. לוחצים על יצירת כלל לחומת האש.
    2. מזינים שם לכלל חומת האש.
    3. בשדה רשת, בוחרים את רשת ה-VPC.
    4. בשדה כיוון התנועה, בוחרים באפשרות תנועה נכנסת.
    5. בקטע פעולה בהתאמה, בוחרים באפשרות אישור.
    6. בקטע יעדים, בוחרים באפשרות כל המופעים ברשת.
    7. בשדה מסנן מקור, בוחרים באפשרות טווחים של כתובות IPv4.
    8. בשדה Source IPv4 ranges, מזינים את בלוק ה-CIDR מהטווח שהוקצה וצוין בשלב הקודם.
    9. בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות שצוינו).
    10. מסמנים את תיבת הסימון TCP ומזינים 988, 6988 בשדה Ports (יציאות).
    11. לוחצים על יצירה.

    לרשתות VPC נפרדות: אם המכונות הווירטואליות של הלקוח או אשכולות GKE נמצאים ברשת VPC נפרדת שמחוברת דרך Network Connectivity Center, כללי חומת האש בשתי רשתות ה-VPC צריכים לאפשר תעבורה מטווח כתובות ה-IP שהוקצה. חוזרים על השלב יצירת כלל חומת אש ... כדי ליצור כלל חומת אש ברשת ה-VPC של הלקוח, שמאפשר תעבורת נתונים נכנסת מסוג TCP ביציאות 988 ו-6988 מבלוק ה-CIDR שהוקצה.

  7. יוצרים את החיבור של הגישה לשירותים פרטיים.

    החיבור הזה נדרש רק ברשת ה-VPC שבה מוקצה מופע Managed Lustre.

    1. בדף VPC networks (רשתות VPC), לוחצים על השם של רשת ה-VPC.
    2. לוחצים על הכרטיסייה גישה לשירותים פרטיים.
    3. בוחרים בכרטיסייה Private connections to services (חיבורים פרטיים לשירותים).
    4. לוחצים על יצירת קישור.
    5. ברשימה Assigned allocation, בוחרים את טווח כתובות ה-IP שהוקצה שיצרתם.
    6. לוחצים על Connect.

gcloud

  1. מפעילים את Service Networking.

    gcloud services enable servicenetworking.googleapis.com
    
  2. יוצרים רשת VPC במצב מותאם אישית.

    gcloud compute networks create NETWORK_NAME \
      --subnet-mode=custom \
      --mtu=8896
    
  3. יוצרים רשת משנה ראשית למשאבי GKE או Compute Engine.

    gcloud compute networks subnets create SUBNET_NAME \
      --network=NETWORK_NAME \
      --range=10.128.0.0/20 \
      --region=REGION
    
  4. הקצאת טווח כתובות IP לגישה לשירותים פרטיים.

    טווח כתובות ה-IP הפנימי הזה משמש לחיבור של גישה לשירותים פרטיים, שמבצע peering בין רשת ה-VPC שלכם לבין הרשת שמנוהלת על ידי Google, שבה מוקצים משאבי Managed Lustre. הטווח המוקצה הזה משמש להקצאת כתובות IP למכונות Managed Lustre, ואסור לו לחפוף עם אף רשת משנה ברשת ה-VPC.

    לכל מופע של Managed Lustre נדרש בלוק CIDR רציף עם אורך קידומת של לפחות 23.

    מומלץ ליצור טווח IP גדול יותר של ‎ /20 כדי לאפשר יצירה של כמה מופעים של Managed Lustre או שימוש בשירותים אחרים של Google Cloud .

    gcloud compute addresses create IP_RANGE_NAME \
      --global \
      --purpose=VPC_PEERING \
      --prefix-length=20 \
      --description="Managed Lustre VPC Peering" \
      --network=NETWORK_NAME
    
  5. מקבלים את בלוק ה-CIDR שמשויך לטווח שיצרתם בשלב הקודם.

    CIDR_BLOCK=$(
      gcloud compute addresses describe IP_RANGE_NAME \
        --global  \
        --format="value[separator=/](address, prefixLength)"
    )
    
  6. יוצרים כלל חומת אש שמאפשר תעבורת TCP מטווח כתובות ה-IP שיצרתם.

    gcloud compute firewall-rules create FIREWALL_NAME \
      --allow=tcp:988,tcp:6988 \
      --network=NETWORK_NAME \
      --source-ranges=$CIDR_BLOCK
    

    לרשתות VPC נפרדות: אם המכונות הווירטואליות של הלקוח או אשכולות GKE נמצאים ברשת VPC נפרדת שמחוברת דרך Network Connectivity Center, כללי חומת האש בשתי רשתות ה-VPC צריכים לאפשר תעבורה מטווח כתובות ה-IP שהוקצה ($CIDR_BLOCK). מריצים את הפקודה firewall-rules create פעם נוספת כדי ליצור את כלל חומת האש ברשת ה-VPC של הלקוח:

     gcloud compute firewall-rules create CLIENT_FIREWALL_NAME \
        --allow=tcp:988,tcp:6988 \
        --network=CLIENT_NETWORK_NAME \
        --source-ranges=$CIDR_BLOCK
     
  7. יוצרים את החיבור של הגישה לשירותים פרטיים.

    gcloud services vpc-peerings connect \
      --network=NETWORK_NAME \
      --ranges=IP_RANGE_NAME \
      --service=servicenetworking.googleapis.com
    

    החיבור הזה נדרש רק ברשת ה-VPC שבה מוקצה מופע Managed Lustre.

יצירת רשתות משנה נוספות לשימוש ב-multi-NIC

אם אתם מתכננים להשתמש בכמה כרטיסי ממשק רשת (multi-NIC) כדי לצבור רוחב פס, אתם צריכים ליצור תת-רשת נפרדת ברשת ה-VPC לכל כרטיס ממשק רשת.

כדי ליהנות מיתרונות השימוש בכמה כרטיסי NIC, צריך להשתמש בסוגי מכונות של Compute Engine עם כמה כרטיסי NIC פיזיים שמצורפים ל-VPC רגילים. אי אפשר להשתמש ב-NIC שמצורפים ל-VPC עם פרופילים של רשת RDMA כדי להגדיל את רוחב הפס הכללי של הרשת. פרטים נוספים זמינים במאמר בנושא מכונות GPU ורשתות.

כדי ליצור רשת משנה עבור כרטיס רשת פיזי נוסף:

מסוף Google Cloud

  1. נכנסים לדף VPC networks במסוף Google Cloud .

    מעבר לרשתות VPC

  2. לוחצים על השם של רשת ה-VPC.

  3. לוחצים על הוספת רשת משנה.

  4. בקטע New subnet (רשת משנה חדשה):

    1. מזינים שם לרשת המשנה.
    2. בוחרים Region.
    3. מזינים טווח כתובות IP (לדוגמה, 10.130.0.0/20).
    4. לוחצים על הוספה.

gcloud

gcloud compute networks subnets create SUBNET_NAME_2 \
  --network=NETWORK_NAME \
  --range=10.130.0.0/20 \
  --region=REGION

חוזרים על השלב הזה לכל כרטיס רשת נוסף. מוודאים שטווח כתובות ה-IP של כל רשת משנה לא חופף לטווח של רשת משנה אחרת.

VPC Service Controls

‫Managed Lustre תומך ב-VPC Service Controls ‏ (VPC-SC). פרטים נוספים מופיעים במאמר בנושא אבטחת מופעים באמצעות גבולות גזרה לשירות.

פתרון בעיות בהגדרת VPC

אין הרשאה להוסיף קישור בין רשתות עבור השירות servicenetworking.googleapis.com

ERROR: (gcloud.services.vpc-peerings.connect) User [$(USER)] does not have
permission to access services instance [servicenetworking.googleapis.com]
(or it may not exist): Permission denied to add peering for service
'servicenetworking.googleapis.com'.

השגיאה הזו מציינת שאין לכם הרשאת servicenetworking.services.addPeering IAM בחשבון המשתמש.

במאמר בקרת גישה באמצעות IAM מוסבר איך להוסיף לחשבון אחד מהתפקידים הבאים:

  • roles/compute.networkAdmin או
  • roles/servicenetworking.networksAdmin

אי אפשר לשנות את הטווחים שהוקצו ב-CreateConnection

ERROR: (gcloud.services.vpc-peerings.connect) The operation
"operations/[operation_id]" resulted in a failure "Cannot modify allocated
ranges in CreateConnection. Please use UpdateConnection."

השגיאה הזו מוחזרת אם כבר יצרתם VPC Peering ברשת הזו עם טווחי כתובות IP שונים. יש שתי אפשרויות לפתרון:

מחליפים את טווחי כתובות ה-IP הקיימים:

מסוף Google Cloud

  1. נכנסים לדף VPC networks במסוף Google Cloud .

    מעבר לרשתות VPC

  2. לוחצים על השם של רשת ה-VPC.

  3. לוחצים על הכרטיסייה גישה לשירותים פרטיים.

  4. בכרטיסייה גישה לשירותים פרטיים, בוחרים בכרטיסייה חיבורים פרטיים לשירותים.

  5. לוחצים על שם החיבור (למשל, servicenetworking-googleapis-com).

  6. ברשימה הקצאה שהוקצתה, בוחרים את טווח ההקצאה החדש ומבטלים את הסימון של תיבות הסימון של טווחי הקצאה שרוצים להחליף.

  7. לוחצים על Save.

gcloud

gcloud services vpc-peerings update \
  --network=NETWORK_NAME \
  --ranges=IP_RANGE_NAME \
  --service=servicenetworking.googleapis.com \
  --force

אפשר גם להוסיף את טווח כתובות ה-IP החדש לחיבור הקיים:

מסוף Google Cloud

  1. נכנסים לדף VPC networks במסוף Google Cloud .

    מעבר לרשתות VPC

  2. לוחצים על השם של רשת ה-VPC.

  3. לוחצים על הכרטיסייה גישה לשירותים פרטיים.

  4. בכרטיסייה גישה לשירותים פרטיים, בוחרים בכרטיסייה חיבורים פרטיים לשירותים.

  5. לוחצים על שם החיבור.

  6. ברשימה הקצאה שהוקצתה, משאירים את הטווחים הקיימים שהוקצו מסומנים ובוחרים את הטווח החדש שהוקצה.

  7. לוחצים על Save.

gcloud

  1. אחזור הרשימה של טווחי ה-IP הקיימים עבור הפירינג:

    EXISTING_RANGES="$(
      gcloud services vpc-peerings list \
        --network=NETWORK_NAME \
        --service=servicenetworking.googleapis.com \
        --format="value(reservedPeeringRanges.list())" \
        --flatten=reservedPeeringRanges
    )
    
  2. לאחר מכן, מוסיפים את הטווח החדש לקישור:

    gcloud services vpc-peerings update \
      --network=NETWORK_NAME \
      --ranges="${EXISTING_RANGES}",IP_RANGE_NAME \
      --service=servicenetworking.googleapis.com
    

המאמרים הבאים