הגדרת גישה לאינטרנט למכונות וירטואליות של עומסי עבודה
אתם מגדירים את שירות הרשת לגישה לאינטרנט לעומסי עבודה של VMware ב-Google Cloud VMware Engine על בסיס אזור. אתם יכולים להפנות תנועה שיוצאת לאינטרנט ממכונות וירטואליות של עומס העבודה באמצעות קצה האינטרנט של Google Cloudאו חיבור מקומי.
ב-VMware Engine אפשר להגדיר גישה לאינטרנט למכונות וירטואליות של עומסי עבודה באמצעות השיטות הבאות:
- שירות גישה לאינטרנט ב-VMware Engine: מאפשר גישה ישירה לאינטרנט למכונות וירטואליות של עומסי עבודה באמצעות קצה האינטרנט של Google Cloud. מידע נוסף זמין במאמר הגדרת שירות הגישה לאינטרנט.
- חיבור מקומי: מנתב תנועה שיוצאת לאינטרנט ממכונות וירטואליות של עומסי עבודה דרך החיבור המקומי. מידע נוסף זמין במאמר בנושא שימוש בחיבור מקומי לגישה לאינטרנט של עומסי עבודה.
- רשת VPC של הצרכן: מנתבת תנועה שמיועדת לאינטרנט ממכונות וירטואליות של עומסי עבודה דרך רשת ה-VPC של הצרכן. מידע נוסף זמין במאמר בנושא שימוש ב-VPC בפרויקט כדי להעניק לעומס העבודה גישה לאינטרנט.
מכונות וירטואליות של עומסי עבודה שיש להן גישה לאינטרנט יכולות גם לגשת לשירותי Google Cloudבאמצעות גישה פרטית ל-Google. הגישה לשירותים באמצעות גישה פרטית ל-Google נשארת בתוך הרשתות ולא יוצאת לאינטרנט. Google Cloud Google Cloud
שירות הרשת לגישה לאינטרנט תומך בפעולות הבאות:
- עד 100 כתובות IP ציבוריות לכל אזור
- עד 100 כללי גישה חיצונית לכל מדיניות רשת
- תפוקה של עד 2 Gbps לכל אזור
- פרוטוקולי TCP, UDP ו-ICMP
שירות הרשת לגישה לאינטרנט לא תומך ביכולת של שער ברמת האפליקציה (ALG).
לפני שמתחילים
כדי לשנות את הגדרות הגישה לאינטרנט של הענן הפרטי, צריך גישת אדמין ל-VMware Engine.
כדי להפעיל גישה לאינטרנט, צריך טווח כתובות CIDR של שירותי קצה. כשמפעילים את שירותי הגישה לאינטרנט או את שירותי רשת ה-IP הציבורית, שערים נפרסים בהקשר של דייר השירות.
משתמשים בטווח כתובות CIDR של שירותי הקצה כדי לטפל בבעיות שקשורות לגישה לאינטרנט ולשערי כתובות IP ציבוריות ב-VMware Engine. טווח הכתובות צריך לעמוד בדרישות הבאות:
- הטווח צריך להיות פרטי ותואם ל-RFC 1918.
- לא חופפים לטווחים אחרים של כתובות ב-VMware Engine, כמו טווח הכתובות שמשמש למכשירי ניהול או לפלחים של NSX.
- לא חופפים לטווחים של כתובות שמפורסמים ב-VMware Engine, כמו אלה שמשמשים לרשתות משנה של רשתות בענן וירטואלי פרטי (VPC) או לרשתות מקומיות.
- הקצאת טווח כתובות IP עם 26 ביטים של מסכה של רשת משנה (/26).
הדרישות של Google Cloud CLI ו-API
כדי להשתמש בכלי gcloud של שורת הפקודה או ב-API לניהול המשאבים של VMware Engine, מומלץ להגדיר את הכלים כמו שמתואר בהמשך.
gcloud
מגדירים את מזהה פרויקט ברירת המחדל:
gcloud config set project PROJECT_ID
הגדרת אזור ואזור זמן כברירת מחדל:
gcloud config set compute/region REGION
gcloud config set compute/zone ZONE
מידע נוסף על הכלי gcloud vmware זמין במאמרי העזרה של Cloud SDK.
API
בדוגמאות ל-API שמופיעות במאמרי העזרה האלה נעשה שימוש בכלי שורת הפקודה cURL כדי לשלוח שאילתות ל-API. חובה לציין טוקן גישה תקין כחלק מהבקשה cURL. יש הרבה דרכים לקבל אסימון גישה תקף. בשלבים הבאים נשתמש בכלי gcloud כדי ליצור אסימון גישה:
התחברות אל Google Cloud:
gcloud auth login
כדי ליצור אסימון גישה ולייצא אותו ל-TOKEN:
export TOKEN=`gcloud auth print-access-token`
מוודאים שהאסימון מוגדר בצורה תקינה:
echo $TOKEN
עכשיו אפשר להשתמש בטוקן ההרשאה בבקשות ל-API. לדוגמה:
curl -X GET -H "Authorization: Bearer \"$TOKEN\"" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations
Python
בדוגמאות הקוד ב-Python שבמסמך הזה נעשה שימוש בספריית VMware Engine כדי לתקשר עם ה-API. כדי להשתמש בגישה הזו, צריך להתקין את הספרייה ולהגדיר את Application Default Credentials.
מורידים ומתקינים את ספריית Python:
pip install google-cloud-vmwareengine
מגדירים את פרטי ADC על ידי הרצת הפקודות האלה במעטפת:
gcloud auth application-default login
לחלופין, אפשר להשתמש בקובץ מפתח של חשבון שירות:
export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
מידע נוסף על הספרייה זמין בדף העזר או בדוגמאות קוד ב-GitHub.
הגדרת שירות הגישה לאינטרנט
כדי לתת למכונות וירטואליות של עומס העבודה גישה לאינטרנט, צריך ליצור או לעדכן מדיניות רשת.
כברירת מחדל, שירות הרשת לגישה לאינטרנט מושבת.
הפעלת שירות הגישה לאינטרנט באזור מסוים
המסוף
כדי להפעיל את שירות הגישה לאינטרנט באזור מסוים:
נכנסים לדף Network policies במסוף Google Cloud .
לוחצים על Select a project (בחירת פרויקט) ואז בוחרים את הארגון, התיקייה או הפרויקט שמכילים את רשת VMware Engine שרוצים להפעיל עבורה את שירות הגישה לאינטרנט.
לוחצים על יצירה כדי ליצור מדיניות חדשה. כדי לערוך מדיניות רשת קיימת, לוחצים על סמל האפשרויות הנוספות בסוף השורה ובוחרים באפשרות עריכה.
ממלאים את פרטי מדיניות הרשת, כולל בחירת הרשת והאזור שהמדיניות חלה עליהם.
מעבירים את המתג Internet access למצב Enabled, ואם רוצים, מפעילים את External IP address service.
בשדה Edge Services CIDR, מזינים את טווח הכתובות לשימוש כשמפנים לכתובת של שער האינטרנט של VMware Engine (טווח כתובות /26).
לוחצים על יצירה.
הסטטוס של השירות משתנה למופעל כשהפעולה מסתיימת, בדרך כלל אחרי כמה דקות.
gcloud
כדי ליצור מדיניות רשת, מריצים את הפקודה הבאה באמצעות הכלי gcloud:
gcloud vmware network-policies create NETWORK_POLICY_NAME \
--vmware-engine-network projects/PROJECT_ID/locations/LOCATIONS/vmwareEngineNetworks/NETWORK_ID \
--edge-services-cidr=IP_RANGE \
--location=LOCATION \
--internet-accessמחליפים את מה שכתוב בשדות הבאים:
-
NETWORK_POLICY_NAME: השם של מדיניות הרשת הזו. -
NETWORK_ID: הרשת שאליה חלה מדיניות הרשת הזו -
IP_RANGE: טווח ה-CIDR לשימוש עבור גישה לאינטרנט ושערי גישה לכתובות IP חיצוניות, בסימון CIDR. נדרש בלוק CIDR של RFC1918 עם קידומת /26. -
LOCATION:globalלרשתות מדור קודם או לאזור של רשת רגילה
API
curl -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/networkPolicies?networkPolicyId=NETWORK_POLICY_NAME
'{
"vmwareEngineNetwork":"projects/PROJECT_ID/locations/LOCATION/vmwareEngineNetworks/NETWORK_ID",
"edgeServiceCidr":"IP_RANGE",
"internetAccess": {
"enabled": true
},
"externalIp": {
"enabled": true
}
}'
מחליפים את מה שכתוב בשדות הבאים:
-
NETWORK_POLICY_NAME: השם של מדיניות הרשת הזו. הערך צריך להיות בפורמטREGION-default. -
PROJECT_ID: מזהה הפרויקט של הבקשה הזו -
LOCATION:globalלרשתות מדור קודם או לאזור של רשת רגילה -
IP_RANGE: טווח ה-CIDR לשימוש עבור גישה לאינטרנט ושערי גישה לכתובות IP חיצוניות, בסימון CIDR. נדרש בלוק CIDR של RFC1918 עם קידומת /26. -
NETWORK_ID: הרשת של מדיניות הרשת הזו
Python
הנחיות לשימוש ב-HCX Mobility Optimized Networking (MON)
אם מעבירים מכונות וירטואליות באמצעות HCX עם Mobility Optimized Networking (MON), צריך להגדיר ניתוב ספציפי כדי להבטיח קישוריות לאינטרנט.
אם הפעלתם את MON עבור פלחים של Layer 2 Extension (L2E), VMware Engine לא יפרסם באופן אוטומטי מסלולים למכונות וירטואליות שהועברו לשירות האינטרנט שלו. כדי לוודא שלמכונות הווירטואליות האלה תהיה גישה לאינטרנט, צריך להפעיל חלוקה מחדש של נתיב סטטי ל-BGP בנתב Tier-1.
השלב הזה נדרש כדי לפרסם את המסלולים של פלחים שמופעל בהם MON, וכך לאפשר להם לנתב תנועת אינטרנט דרך סביבת VMware Engine. ללא ההגדרה הזו, למכונות וירטואליות בפלחים האלה אין גישה לאינטרנט הציבורי.
השבתת שירות הגישה לאינטרנט באזור מסוים
כדי להשבית את שירות הגישה לאינטרנט באזור מסוים:
המסוף
נכנסים לדף Network policies במסוף Google Cloud .
לוחצים על Select a project ואז בוחרים את הארגון, התיקייה או הפרויקט שמכילים את רשת VMware Engine שרוצים להשבית את שירות הגישה לאינטרנט שלה.
בשורה שמתאימה למדיניות הרשת הרלוונטית, לוחצים על סמל האפשרויות הנוספות.
מעבירים את המתג של גישה לאינטרנט למצב מושבת.
- כדי להשבית את הגישה לאינטרנט, צריך להשבית קודם את שירות כתובות ה-IP הציבוריות.
- כדי להשבית את שירות כתובות ה-IP הציבוריות, צריך קודם למחוק את כל כתובות ה-IP הציבוריות שהוקצו ואת כל שערים של VPN מנקודה לאתר.
לוחצים על Save.
הסטטוס של השירות משתנה למושבת כשהפעולה מסתיימת, בדרך כלל אחרי כמה דקות.
gcloud
כדי לעדכן את מדיניות הרשת, מריצים את הפקודה הבאה באמצעות הכלי gcloud:
gcloud vmware network-policies update NETWORK_POLICY_NAME \ --no-internet-access \ --location LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
NETWORK_POLICY_NAME: השם של מדיניות הרשת -
LOCATION:globalלרשתות מדור קודם או לאזור של רשת רגילה
API
curl -X PATCH -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/networkPolicies/NETWORK_POLICY_NAME?updateMask=internetAccess.enabled,externalIp.enabled -d "{
"internetAccess": {
"enabled": false
},
"externalIp": {
"enabled": false
}
}"
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של הבקשה הזו -
LOCATION:globalלרשתות מדור קודם או לאזור של רשת רגילה -
NETWORK_POLICY_NAME: השם של מדיניות הרשת
Python
שימוש ב-VPC בפרויקט לגישה לאינטרנט של עומסי עבודה
אפשר להפנות תעבורה שמיועדת לאינטרנט מהמכונות הווירטואליות של עומס העבודה ב-VMware Engine דרך VPC בפרויקט. האפשרות הזו זמינה רק לרשתות VMware Engine רגילות שמקושרות לרשת ה-VPC שלכם.
כדי לגשת לאינטרנט מהמכונות הווירטואליות של עומס העבודה דרך VPC בפרויקט, צריך לבצע את השלבים הבאים:
- מגדירים גישה לאינטרנט ב-VPC.
- אם משתמשים ב-Cloud NAT: מוודאים ש-Cloud NAT מוגדר לספק גישה לאינטרנט למשאבים ברשת ה-VPC.
לא נדרש מסלול ספציפי ל-
0.0.0.0/0, כי Cloud NAT מספק קישוריות לאינטרנט באופן ישיר. - אם אתם לא משתמשים ב-Cloud NAT: ודאו שיש לכם נתיב ב-VPC ליעד
0.0.0.0/0שמפנה את התנועה לנקודת מעבר שמספקת גישה לאינטרנט, כמו חומת אש או שרת proxy שמבוססים על מכונה. בנוסף, צריך להגדיר קישור בין רשתות שכנות ב-VPC כדי להחליף מסלולים מותאמים אישית. מעדכנים את חיבור ה-Peering כדי לייצא נתיבים מותאמים אישית מ-VPC ולייבא אליו נתיבים מותאמים אישית.
- אם משתמשים ב-Cloud NAT: מוודאים ש-Cloud NAT מוגדר לספק גישה לאינטרנט למשאבים ברשת ה-VPC.
לא נדרש מסלול ספציפי ל-
- משביתים את הגישה לאינטרנט ואת שירות כתובות ה-IP הציבוריות ברשת VMware Engine. כדי לעשות זאת, פועלים לפי השלבים במאמר השבתת שירות הגישה לאינטרנט באזור.
אחרי שמבצעים את השלבים האלה, תעבורת נתונים שמיועדת לאינטרנט מ-VM של עומס העבודה מנותבת דרך חיבור ה-peering לרשת ה-VPC, ומשתמשת בפתרון הגישה לאינטרנט שהוגדר שם.
פרטים נוספים זמינים במאמר הגדרת גישה לאינטרנט למכונות וירטואליות של עומסי עבודה באמצעות VPC.
שימוש בחיבור מקומי לגישה לאינטרנט של עומסי עבודה
אפשר גם להפנות תנועה שמיועדת לאינטרנט ממכונות וירטואליות של עומסי עבודה ב-VMware Engine דרך חיבור מקומי. האופן שבו VMware Engine מנתב את התעבורה תלוי במצב של הגורמים הבאים:
- פרסום של מסלול ברירת מחדל (
0.0.0.0/0) משרת מקומי - שירות כתובות IP ציבוריות ב-VMware Engine
- שירות גישה לאינטרנט ב-VMware Engine
- VPC Service Controls בחיבור ה-peering של ה-VPC בין רשת ה-VPC לבין VMware Engine (רק ברשתות VMware Engine מדור קודם)
הפעלה של ניתוב תעבורת אינטרנט דרך חיבור מקומי
כדי לגשת לאינטרנט ממכונות וירטואליות של עומסי עבודה דרך חיבור מקומי, צריך לבצע שני שלבים:
- פרסום נתיב ברירת המחדל (
0.0.0.0/0) מהרשת המקומית דרך חיבור מקומי (Cloud VPN או Cloud Interconnect). בודקים את שער Cloud VPN או את Cloud Router שבהם מסתיים החיבור המקומי ל-VPN. - משביתים את הגישה לאינטרנט ואת שירות כתובות ה-IP הציבוריות ברשת VMware Engine.
המסוף
נכנסים לדף Network policies במסוף Google Cloud .
לוחצים על Select a project (בחירת פרויקט) ואז בוחרים את הארגון, התיקייה או הפרויקט שמכילים את רשת VMware Engine שרוצים להפעיל עבורה את שירות הגישה לאינטרנט.
בשורה שמתאימה למדיניות הרשת הרלוונטית, לוחצים על סמל האפשרויות הנוספות.
מעבירים את המתג כתובת IP ציבורית למצב מושבת.
מעבירים את המתג של גישה לאינטרנט למצב מושבת.
לוחצים על Save.
אם משתמשים ברשת VMware Engine מדור קודם: מפעילים את VPC Service Controls בקישור בין רשתות VPC שכנות (peering) בין רשת ה-VPC לבין VMware Engine באמצעות הפקודה
gcloud services vpc-peerings enable-vpc-service-controls:gcloud services vpc-peerings enable-vpc-service-controls \ --network=VPC_NETWORK \ --service=servicenetworking.googleapis.com
gcloud
כדי לעדכן את מדיניות הרשת, מריצים את הפקודה הבאה באמצעות הכלי gcloud:
gcloud vmware network-policies update NETWORK_POLICY_NAME \ --no-internet-access \ --no-external-ip-address \ --location LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
NETWORK_POLICY_NAME: השם של מדיניות הרשת -
LOCATION:globalלרשתות מדור קודם או לאזור של רשת רגילה
אם משתמשים ברשת מדור קודם של VMware Engine: מפעילים את VPC Service Controls בקישור לרשת השכנה של ה-VPC בין רשת ה-VPC ל-VMware Engine באמצעות הפקודה gcloud services vpc-peerings enable-vpc-service-controls:
gcloud services vpc-peerings enable-vpc-service-controls \ --network=VPC_NETWORK \ --service=servicenetworking.googleapis.com
API
curl -X PATCH -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/networkPolicies/NETWORK_POLICY_NAME?updateMask=internetAccess.enabled,externalIp.enabled
"{
"internetAccess: {
"enabled": false
},
"externalIp: {
"enabled": false
}
}"
אם משתמשים ברשת מדור קודם של VMware Engine: מפעילים את VPC Service Controls בקישור לרשת השכנה של ה-VPC בין רשת ה-VPC ל-VMware Engine באמצעות הפקודה gcloud services vpc-peerings enable-vpc-service-controls:
gcloud services vpc-peerings enable-vpc-service-controls \ --network=VPC_NETWORK_NAME \ --service=servicenetworking.googleapis.com
Python
מגדירים את internet_access ואת external_ip ל-False.
אם משתמשים ברשת מדור קודם של VMware Engine: מפעילים את VPC Service Controls בקישור לרשת השכנה של ה-VPC בין רשת ה-VPC ל-VMware Engine באמצעות הפקודה gcloud services vpc-peerings enable-vpc-service-controls:
gcloud services vpc-peerings enable-vpc-service-controls \ --network=VPC_NETWORK \ --service=servicenetworking.googleapis.com
אם אתם משתמשים ברשת מדור קודם של Google Cloud VMware Engine, אתם צריכים להפעיל את VPC Service Controls כדי לנתב גישה לאינטרנט של VEN מדור קודם דרך חיבור מקומי או VPC בפרויקט שלכם. הדרישה הזו חלה רק על רשתות מדור קודם של Google Cloud VMware Engine, ולא על רשתות VEN רגילות.
כשמפעילים את VPC Service Controls, Google Cloud מבצעים את שינויי הניתוב הבאים ברשת ה-VPC של ספק השירות (במקרה הזה, פרויקט הדייר של השירות שמקושר באמצעות VPC ל-VMware Engine):
- הסרת מסלול ברירת המחדל של IPv4 (יעד
0.0.0.0/0, שער ברירת המחדל של האינטרנט לצעד הבא). - מתחיל להעביר תנועת אינטרנט באמצעות נתיב ברירת המחדל של קישור בין רשתות שכנות (peering) של VPC.
דוגמה:
כדי להפעיל את VPC Service Controls לקישור של רשת בשם my-network בפרויקט הנוכחי, משתמשים בפקודה gcloud services vpc-peerings enable-vpc-service-controls:
gcloud services vpc-peerings enable-vpc-service-controls \
--network=my-network \
--service=servicenetworking.googleapis.comהשבתת ניתוב תנועת אינטרנט דרך חיבור מקומי
כדי להשבית את הניתוב של תנועת האינטרנט מהמכונות הווירטואליות של עומס העבודה דרך חיבור מקומי, מפסיקים לפרסם את נתיב ברירת המחדל (0.0.0.0/0) ומשביתים את VPC Service Controls בחיבור ה-VPC.
אם משתמשים ברשת VMware Engine מדור קודם: משביתים את VPC Service Controls בקישור לרשת השכנה בין רשת ה-VPC ל-VMware Engine באמצעות הפקודה gcloud services vpc-peerings disable-vpc-service-controls:
gcloud services vpc-peerings disable-vpc-service-controls \
--network=VPC_NETWORK_NAME \
--service=servicenetworking.googleapis.comהמאמרים הבאים
- איך מקצים כתובת IP ציבורית למכונה וירטואלית בענן הפרטי.
- כללים לגישה חיצונית מסננים את תעבורת הרשת אל משאבי הענן הפרטי וממנו.