מכונות 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.enablecompute.networks.createcompute.addresses.createcompute.addresses.getcompute.firewalls.createservicenetworking.services.addPeering
אפשר להעניק את ההרשאות האלה על ידי הוספה של כל התפקידים המוגדרים מראש הבאים:
- אדמין בשימוש בשירות (
roles/serviceusage.serviceUsageAdmin) - אדמין ברשת Compute (
roles/compute.networkAdmin) - אדמין לענייני אבטחה ב-Compute (
roles/compute.securityAdmin)
אפשר גם ליצור תפקיד בהתאמה אישית עם הרשאות ספציפיות.
כדי להקצות תפקיד למשתמש:
מסוף Google Cloud
נכנסים לדף IAM במסוף Google Cloud .
לוחצים על הענקת גישה.
בשדה New principals, מזינים את כתובת האימייל של המשתמש.
בתפריט הנפתח Select a role, בוחרים את התפקיד שרוצים להקצות.
כדי להקצות כמה תפקידים, לוחצים על Add another role ובוחרים את התפקיד הבא.
לוחצים על Save.
gcloud
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:EMAIL_ADDRESS" \
--role=ROLE
יצירה של VPC וחיבור בין רשתות VPC
כדי ליצור רשת VPC ולהגדיר חיבור גישה לשירותים פרטיים ל-Managed Lustre, מבצעים את השלבים הבאים:
מסוף Google Cloud
מפעילים את Service Networking API.
יוצרים רשת VPC במצב בהתאמה אישית:
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על יצירת רשת VPC.
מזינים שם לרשת.
מבטלים את הסימון של הגדרת MTU באופן אוטומטי ומזינים
8896בשדה יחידת שידור מקסימלית (MTU).בקטע Subnet creation mode, בוחרים באפשרות Custom.
יוצרים רשת משנה ראשית למשאבי GKE או Compute Engine:
- בקטע New subnet, מזינים Name לרשת המשנה.
- בוחרים Region.
- בשדה IPv4 range (טווח IPv4), מזינים את טווח ה-IPv4 הראשי (לדוגמה,
10.128.0.0/20). - לוחצים על סיום.
- לוחצים על Create (יצירה) כדי ליצור את רשת ה-VPC.
הקצאת טווח כתובות IP לגישה לשירותים פרטיים.
טווח כתובות ה-IP הפנימי הזה משמש לחיבור של גישה לשירותים פרטיים, שמבצע peering בין רשת ה-VPC שלכם לבין הרשת שמנוהלת על ידי Google, שבה מוקצים משאבי Managed Lustre. הטווח המוקצה הזה משמש להקצאת כתובות IP למכונות Managed Lustre, ואסור לו לחפוף עם אף רשת משנה ברשת ה-VPC.
לכל מופע של Managed Lustre נדרש בלוק CIDR רציף עם אורך קידומת של לפחות 23.
מומלץ ליצור טווח IP גדול יותר של /20 כדי לאפשר יצירה של כמה מופעים של Managed Lustre או שימוש בשירותים אחרים של Google Cloud .
- בדף VPC networks (רשתות VPC), לוחצים על השם של רשת ה-VPC.
- לוחצים על הכרטיסייה גישה לשירותים פרטיים.
- בוחרים בכרטיסייה Allocated IP ranges for services (טווחים של כתובות IP שהוקצו לשירותים).
- לוחצים על הקצאת טווח כתובות IP.
- מזינים שם ותיאור לטווח שהוקצה (לדוגמה,
Managed Lustre VPC Peering). - מציינים את טווח כתובות ה-IP:
- כדי לאפשר ל-Google לבחור טווח זמין, בוחרים באפשרות אוטומטי ומזינים אורך קידומת של
20. - כדי לציין טווח ספציפי, בוחרים באפשרות Custom ומזינים בלוק CIDR עם אורך קידומת של לפחות
/23(למשל,10.128.0.0/20). - לוחצים על הקצאה.
שימו לב לבלוק ה-CIDR שמשויך לטווח שהוקצה.
בטבלה Allocated IP ranges for services (טווח כתובות IP שהוקצו לשירותים), מאתרים את הטווח שיצרתם ורושמים את הערך בעמודה Internal IP range (לדוגמה,
10.128.0.0/20). תצטרכו לציין את הטווח הזה כמקור בשלב הבא.-
- נכנסים לדף Firewall policies במסוף Google Cloud .
- לוחצים על יצירת כלל לחומת האש.
- מזינים שם לכלל חומת האש.
- בשדה רשת, בוחרים את רשת ה-VPC.
- בשדה כיוון התנועה, בוחרים באפשרות תנועה נכנסת.
- בקטע פעולה בהתאמה, בוחרים באפשרות אישור.
- בקטע יעדים, בוחרים באפשרות כל המופעים ברשת.
- בשדה מסנן מקור, בוחרים באפשרות טווחים של כתובות IPv4.
- בשדה Source IPv4 ranges, מזינים את בלוק ה-CIDR מהטווח שהוקצה וצוין בשלב הקודם.
- בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות שצוינו).
- מסמנים את תיבת הסימון TCP ומזינים
988, 6988בשדה Ports (יציאות). - לוחצים על יצירה.
לרשתות VPC נפרדות: אם המכונות הווירטואליות של הלקוח או אשכולות GKE נמצאים ברשת VPC נפרדת שמחוברת דרך Network Connectivity Center, כללי חומת האש בשתי רשתות ה-VPC צריכים לאפשר תעבורה מטווח כתובות ה-IP שהוקצה. חוזרים על השלב יצירת כלל חומת אש ... כדי ליצור כלל חומת אש ברשת ה-VPC של הלקוח, שמאפשר תעבורת נתונים נכנסת מסוג TCP ביציאות
988ו-6988מבלוק ה-CIDR שהוקצה. יוצרים את החיבור של הגישה לשירותים פרטיים.
החיבור הזה נדרש רק ברשת ה-VPC שבה מוקצה מופע Managed Lustre.
- בדף VPC networks (רשתות VPC), לוחצים על השם של רשת ה-VPC.
- לוחצים על הכרטיסייה גישה לשירותים פרטיים.
- בוחרים בכרטיסייה Private connections to services (חיבורים פרטיים לשירותים).
- לוחצים על יצירת קישור.
- ברשימה Assigned allocation, בוחרים את טווח כתובות ה-IP שהוקצה שיצרתם.
- לוחצים על Connect.
gcloud
מפעילים את Service Networking.
gcloud services enable servicenetworking.googleapis.comיוצרים רשת VPC במצב מותאם אישית.
gcloud compute networks create NETWORK_NAME \ --subnet-mode=custom \ --mtu=8896יוצרים רשת משנה ראשית למשאבי GKE או Compute Engine.
gcloud compute networks subnets create SUBNET_NAME \ --network=NETWORK_NAME \ --range=10.128.0.0/20 \ --region=REGIONהקצאת טווח כתובות 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מקבלים את בלוק ה-CIDR שמשויך לטווח שיצרתם בשלב הקודם.
CIDR_BLOCK=$( gcloud compute addresses describe IP_RANGE_NAME \ --global \ --format="value[separator=/](address, prefixLength)" )-
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
יוצרים את החיבור של הגישה לשירותים פרטיים.
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
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על השם של רשת ה-VPC.
לוחצים על הוספת רשת משנה.
בקטע New subnet (רשת משנה חדשה):
- מזינים שם לרשת המשנה.
- בוחרים Region.
- מזינים טווח כתובות IP (לדוגמה,
10.130.0.0/20). - לוחצים על הוספה.
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
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על השם של רשת ה-VPC.
לוחצים על הכרטיסייה גישה לשירותים פרטיים.
בכרטיסייה גישה לשירותים פרטיים, בוחרים בכרטיסייה חיבורים פרטיים לשירותים.
לוחצים על שם החיבור (למשל,
servicenetworking-googleapis-com).ברשימה הקצאה שהוקצתה, בוחרים את טווח ההקצאה החדש ומבטלים את הסימון של תיבות הסימון של טווחי הקצאה שרוצים להחליף.
לוחצים על Save.
gcloud
gcloud services vpc-peerings update \
--network=NETWORK_NAME \
--ranges=IP_RANGE_NAME \
--service=servicenetworking.googleapis.com \
--force
אפשר גם להוסיף את טווח כתובות ה-IP החדש לחיבור הקיים:
מסוף Google Cloud
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על השם של רשת ה-VPC.
לוחצים על הכרטיסייה גישה לשירותים פרטיים.
בכרטיסייה גישה לשירותים פרטיים, בוחרים בכרטיסייה חיבורים פרטיים לשירותים.
לוחצים על שם החיבור.
ברשימה הקצאה שהוקצתה, משאירים את הטווחים הקיימים שהוקצו מסומנים ובוחרים את הטווח החדש שהוקצה.
לוחצים על Save.
gcloud
אחזור הרשימה של טווחי ה-IP הקיימים עבור הפירינג:
EXISTING_RANGES="$( gcloud services vpc-peerings list \ --network=NETWORK_NAME \ --service=servicenetworking.googleapis.com \ --format="value(reservedPeeringRanges.list())" \ --flatten=reservedPeeringRanges )לאחר מכן, מוסיפים את הטווח החדש לקישור:
gcloud services vpc-peerings update \ --network=NETWORK_NAME \ --ranges="${EXISTING_RANGES}",IP_RANGE_NAME \ --service=servicenetworking.googleapis.com