יצירת שירותי מיפוי יציאות
בדף הזה מוסבר איך בעלי שירותים מנוהלים יכולים לפרסם שירותים שמשתמשים במיפוי יציאות של Private Service Connect.
מיפוי יציאות של Private Service Connect מאפשר ללקוחות צרכנים לתקשר באופן פרטי עם יציאות שירות ספציפיות במכונות וירטואליות ספציפיות של בעלי שירות מנוהל, דרך נקודת קצה אחת של Private Service Connect.
לפני שמתחילים
- צריך להפעיל את Compute Engine API בפרויקט.
- חובה ליצור מכונות וירטואליות לכל אחת מנקודות הקצה ברשת שרוצים לצרף ל-NEG של מיפוי הפורטים. כל המכונות הווירטואליות צריכות להיות באותו אזור.
- מידע על שירותים שפורסמו
- מידע נוסף על מיפוי יציאות של Private Service Connect
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות כדי להתכונן לפרסום שירות עם מיפוי יציאות של Private Service Connect, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט של הבעלים:
- אדמין של איזון עומסים ב-Compute (
roles/compute.loadBalancerAdmin) - אדמין ברשת Compute (
roles/compute.networkAdmin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירה ופרסום של שירות מיפוי יציאות
לשירותי מיפוי יציאות יש הגדרות דומות לאלה של מאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי, אבל התנועה לא מאוזנת. כדי ליצור ולפרסם שירות מיפוי יציאות, מבצעים את הפעולות הבאות:
- יצירת NEG למיפוי יציאות
- הוספת נקודות קצה ברשת ל-NEG של מיפוי יציאות
- יצירת שירות למיפוי יציאות
- פרסום שירות מיפוי היציאות
יצירת NEG למיפוי יציאות
קבוצה של נקודות קצה ברשת עם מיפוי יציאות היא קבוצה אזורית של נקודות קצה ברשת עם סוג נקודת הקצה GCE_VM_IP_PORTMAP. אי אפשר לשנות את הסוג של NEG למיפוי יציאות אחרי שהוא נוצר.
כשיוצרים NEG למיפוי יציאות, בוחרים תת-רשת. לנקודות הקצה ברשת שמשויכות ל-NEG של מיפוי הפורטים חייב להיות ממשק רשת ראשי ברשת המשנה הזו.
המסוף
נכנסים לדף Network Endpoint Groups במסוף Cloud de Confiance .
לוחצים על יצירת קבוצת נקודות קצה ברשת.
מזינים שם.
לוחצים על סוג קבוצת נקודות קצה ברשת ובוחרים באפשרות מיפוי יציאות NEG (אזורי).
בוחרים Region.
בוחרים רשת.
בוחרים רשת משנה.
לוחצים על יצירה.
gcloud
משתמשים בפקודה network-endpoints-groups create.
gcloud compute network-endpoint-groups create NEG \
--region=REGION \
--network=NETWORK \
--subnet=SUBNET \
--network-endpoint-type=GCE_VM_IP_PORTMAP
מחליפים את מה שכתוב בשדות הבאים:
-
NEG: השם של ה-NEG למיפוי יציאות -
REGION: האזור של ה-NEG למיפוי יציאות -
NETWORK: רשת ה-VPC של ה-NEG למיפוי יציאות -
SUBNET: תת-הרשת של ה-NEG למיפוי יציאות
API
שולחים בקשת POST ל-method regionNetworkEndpointGroups.insert.
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/networkEndpointGroups
{
"name": "NEG",
"networkEndpointType": "GCE_VM_IP_PORTMAP",
"network": "projects/PROJECT_ID/global/networks/NETWORK",
"subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET"
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מיפוי היציאות של ה-NEG -
REGION: האזור של ה-NEG למיפוי יציאות -
NEG: השם של ה-NEG למיפוי יציאות -
NETWORK: רשת ה-VPC של ה-NEG למיפוי יציאות -
SUBNET: תת-הרשת של ה-NEG למיפוי יציאות
הוספת נקודות קצה ברשת ל-NEG של מיפוי יציאות
יוצרים נקודת קצה אחת או יותר ברשת עם מיפויי יציאות ומצרפים אותן ל-NEG של מיפוי היציאות.
נקודות קצה ברשת עבור קבוצות NEGs למיפוי יציאות הן אזוריות, והן צריכות לעמוד בדרישות הבאות:
- כל נקודת קצה ברשת מתייחסת למכונה וירטואלית ב-Compute Engine שיש לה ממשק רשת ראשי באותה רשת משנה כמו ה-NEG של מיפוי היציאות.
- כל נקודת קצה ברשת מתייחסת ליעד ייחודי של יציאת לקוח.
כל נקודת קצה ברשת צריכה להתייחס לשילוב ייחודי של יציאת שירות ומכונה וירטואלית.
המסוף
נכנסים לדף Network Endpoint Groups במסוף Cloud de Confiance .
לוחצים על השם של קבוצת ה-NEG למיפוי יציאות שרוצים לעדכן.
לוחצים על הוספת נקודות קצה של רשת.
לוחצים על VM instance (מכונה וירטואלית) ובוחרים מכונה וירטואלית.
לוחצים על VM port 1 (יציאת מכונה וירטואלית 1) ומזינים יציאת שירות.
לוחצים על Client port 1 (יציאת לקוח 1) ומזינים יציאת יעד של לקוח.
לכל נקודת קצה נוספת ברשת שרוצים להוסיף, לוחצים על הוספת נקודת קצה ברשת ומזינים את הפרטים של נקודת הקצה ברשת.
לוחצים על יצירה.
gcloud
משתמשים בפקודה network-endpoint-groups update. כוללים דגל --add-endpoint לכל נקודת קצה ברשת שרוצים לצרף.
gcloud compute network-endpoint-groups update NEG \
--region=REGION \
--add-endpoint=client-destination-port=CLIENT_DESTINATION_PORT_1,instance=projects/PROJECT_ID/zones/ZONE_1/instances/VM_1_NAME,port=VM_1_PORT \
--add-endpoint=client-destination-port=CLIENT_DESTINATION_PORT_2,instance=projects/PROJECT_ID/zones/ZONE_2/instances/VM_2_NAME,port=VM_2_PORT
מחליפים את מה שכתוב בשדות הבאים:
-
NEG: השם של ה-NEG למיפוי יציאות -
REGION: האזור של ה-NEG למיפוי יציאות -
CLIENT_DESTINATION_PORT_1: יציאת היעד של הלקוח של נקודת הקצה הראשונה ברשת -
PROJECT_ID: מזהה הפרויקט של פרויקט היצרן -
ZONE_1: האזור של נקודת הקצה הראשונה ברשת -
VM_1_NAME: השם של מכונת היעד הווירטואלית עבור נקודת הקצה הראשונה ברשת -
VM_1_PORT: יציאת השירות של נקודת הקצה הראשונה ברשת -
CLIENT_DESTINATION_PORT_2: יציאת היעד של הלקוח בנקודת הקצה השנייה ברשת -
ZONE_2: האזור של נקודת הקצה השנייה ברשת -
VM_2_NAME: השם של מכונת היעד הוירטואלית עבור נקודת הקצה השנייה ברשת -
VM_2_PORT: יציאת השירות של נקודת הקצה השנייה ברשת
API
שולחים בקשת POST ל-method regionNetworkEndpointGroups.attachNetworkEndpoints.
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/networkEndpointGroups/NEG/attachNetworkEndpoints
{
"networkEndpoints": [
{
"clientDestinationPort":CLIENT_DESTINATION_PORT_1,
"instance": "projects/PROJECT_ID/zones/ZONE_1/instances/VM_1_NAME",
"port": SERVICE_PORT_1
},
{
"clientDestinationPort": CLIENT_DESTINATION_PORT_2,
"instance": "projects/PROJECT_ID/zones/ZONE_2/instances/VM_2_NAME",
"port": SERVICE_PORT_2
}
]
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של פרויקט היצרן -
REGION: האזור של ה-NEG למיפוי יציאות -
NEG: השם של ה-NEG למיפוי יציאות -
CLIENT_DESTINATION_PORT_1: יציאת היעד של הלקוח של נקודת הקצה הראשונה ברשת -
ZONE_1: האזור של נקודת הקצה הראשונה ברשת -
VM_1_NAME: השם של מכונת היעד הווירטואלית עבור נקודת הקצה הראשונה ברשת -
SERVICE_PORT_1: יציאת השירות של נקודת הקצה הראשונה ברשת -
CLIENT_DESTINATION_PORT_2: יציאת היעד של הלקוח בנקודת הקצה השנייה ברשת -
ZONE_2: האזור של נקודת הקצה השנייה ברשת -
VM_2_NAME: השם של מכונת היעד הוירטואלית עבור נקודת הקצה השנייה ברשת -
SERVICE_PORT_2: יציאת השירות של נקודת הקצה השנייה ברשת
יצירת שירות למיפוי יציאות
כדי ליצור שירות מיפוי יציאות, מבצעים את השלבים הבאים.
אחרי שמוסיפים את ה-NEG, אי אפשר לשנות את מיפוי הפורטים של ה-NEG שמשויך לשירות קצה עורפי. עם זאת, אפשר לעדכן את נקודות הקצה ברשת של ה-NEG למיפוי יציאות.
אי אפשר לעדכן את החיבור של כלל העברה אחרי שהוא נוצר. אם אתם צריכים להתחבר לשירות לקצה העורפי אחר, למחוק את כלל ההעברה ואז ליצור כלל חדש.
המסוף
התחלת ההגדרה
נכנסים לדף Load balancing במסוף Cloud de Confiance .
- לוחצים על Create load balancer (יצירת מאזן עומסים).
- בקטע Type of load balancer (סוג מאזן העומסים), בוחרים באפשרות Network Load Balancer (TCP/UDP/SSL) (מאזן עומסים ברשת (TCP/UDP/SSL)) ולוחצים על Next (הבא).
- בקטע Proxy or passthrough (פרוקסי או העברה), בוחרים באפשרות Passthrough load balancer (מאזן עומסים להעברה) ולוחצים על Next (הבא).
- בקטע גלוי לכולם או פנימי, בוחרים באפשרות פנימי ולוחצים על הבא.
- לוחצים על Configure (הגדרה).
הגדרה בסיסית
- מזינים שם של מאזן עומסים.
- בוחרים Region.
- בוחרים רשת.
Backend configuration
- בקטע Backend type (סוג קצה עורפי), בוחרים באפשרות Port mapping network endpoint group (קבוצה של נקודות קצה ברשת למיפוי יציאות).
- בוחרים קבוצה של נקודות קצה ברשת למיפוי יציאות.
Frontend configuration
- לוחצים על Frontend configuration.
- אופציונלי: מזינים שם.
- אופציונלי: מזינים תיאור.
- בוחרים פרוטוקול.
- בוחרים רשת משנה.
- לוחצים על סיום.
- לוחצים על יצירה.
gcloud
כדי ליצור שירות לקצה העורפי, משתמשים בפקודה
backend-services create.gcloud compute backend-services create SERVICE \ --load-balancing-scheme=internal \ --region=REGION \ --network=NETWORKמחליפים את מה שכתוב בשדות הבאים:
-
SERVICE: השם של שירות הקצה העורפי -
REGION: האזור של שירות הקצה העורפי -
NETWORK: רשת ה-VPC של הבעלים של שירות לקצה העורפי
-
כדי להוסיף את ה-NEG של מיפוי היציאות לשירות הקצה העורפי, משתמשים בפקודה
backend-services add-backend.אי אפשר להוסיף כמה קבוצות NEG למיפוי יציאות לשירות לקצה העורפי יחיד.
gcloud compute backend-services add-backend SERVICE \ --network-endpoint-group=NEG \ --network-endpoint-group-region=REGIONמחליפים את
NEGבשם של קבוצת ה-NEG למיפוי יציאות.כדי ליצור כלל העברה לשירות מיפוי היציאות, משתמשים בפקודה
forwarding-rules create.צריך להגדיר את כלל ההעברה כך שיעביר תנועה לכל יציאות היעד של הלקוח.
gcloud compute forwarding-rules create RULE \ --load-balancing-scheme=INTERNAL \ --ip-protocol=PROTOCOL \ --network=NETWORK \ --subnet=SUBNET \ --address=IP_ADDRESS \ --ports=ALL \ --region=REGION \ --backend-service=SERVICEמחליפים את מה שכתוב בשדות הבאים:
-
RULE: השם של כלל ההעברה -
PROTOCOL: הפרוטוקול של כלל ההעברה, שיכול להיותTCPאוUDP -
SUBNET: תת-הרשת של היצרן, שצריכה להיות אותה תת-רשת שמשויכת ל-NEG של מיפוי היציאות -
IP_ADDRESS: כתובת ה-IP של כלל ההעברה, שחייבת להיות מטווח כתובות ה-IP של רשת המשנה של היצרן
-
API
כדי ליצור שירות לקצה העורפי, שולחים בקשת
POSTאל ה-methodregionBackendServices.insert.POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices { "name": "SERVICE", "loadBalancingScheme": "INTERNAL", "network": "projects/PROJECT_ID/global/networks/NETWORK" }מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של הפרויקט של שירות ה-Backend -
REGION: האזור של שירות הקצה העורפי -
SERVICE: השם של שירות הקצה העורפי -
NETWORK: רשת ה-VPC של הספק
-
כדי להוסיף את ה-NEG של מיפוי היציאות לשירות לקצה העורפי, שולחים בקשת
PATCHל-methodregionBackendServices.patch.אי אפשר להוסיף כמה קבוצות NEG למיפוי יציאות לשירות לקצה העורפי יחיד.
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/SERVICE { "backends": [ { "group": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkEndpointGroups/NEG" } ] }מחליפים את
NEGבשם של קבוצת ה-NEG למיפוי יציאות.כדי ליצור כלל העברה לשירות מיפוי הפורטים, שולחים בקשת
POSTאל ה-methodforwardingRules.insert.צריך להגדיר את כלל ההעברה כך שיעביר תנועה לכל יציאות היעד של הלקוח.
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules { "name": "RULE", "loadBalancingScheme": "INTERNAL", "IPProtocol": "PROTOCOL", "network": "projects/PROJECT_ID/global/networks/NETWORK", "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET", "IPAddress": "IP_ADDRESS", "allPorts": true, "backendService": "projects/PROJECT_ID/regions/REGION/backendServices/SERVICE" }מחליפים את מה שכתוב בשדות הבאים:
-
RULE: השם של כלל ההעברה -
PROTOCOL: הפרוטוקול של כלל ההעברה, שיכול להיותTCPאוUDP -
SUBNET: תת-הרשת של היצרן, שצריכה להיות אותה תת-רשת שמשויכת ל-NEG של מיפוי היציאות -
IP_ADDRESS: כתובת ה-IP של כלל ההעברה, שחייבת להיות מטווח כתובות ה-IP של רשת המשנה של הספק
-
פרסום שירות מיפוי היציאות
כדי להפוך את שירות מיפוי היציאות לזמין לצרכנים, צריך לפרסם את השירות על ידי יצירת קובץ מצורף לשירות. כשיוצרים את קובץ ה-Service Attachment, מציינים את כלל ההעברה שמשויך לשירות מיפוי הפורטים.