הגדרת גישה לרשת פרטית

בדף הזה מוסבר איך להגדיר גישה לרשת פרטית ולנתב תנועה בתוך Google Cloud רשת.

כדי להגדיר גישה לרשת פרטית, צריך להגדיר שלושה פרויקטים:

  • פרויקט שמכיל רשת של ענן וירטואלי פרטי (VPC) שבה ישתמשו מכונת היעד הווירטואלית (VM) או מאזן העומסים הפנימי של היעד.
  • פרויקט שמשמש כפרויקט שירות של Service Directory.
  • פרויקט של מוצר עם ההגדרה שמפעילה גישה לרשת פרטית. Google Cloud דוגמה ל Google Cloud מוצר שיכול להתקשר לנקודות קצה באמצעות גישה לרשת פרטית היא Dialogflow CX.

הארטיפקטים של הפרויקטים יכולים להיות באותו פרויקט או בפרויקטים שונים.

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

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

  • במסוף, בדף APIs & Services, לוחצים על Enable APIs and services כדי להפעיל את ממשקי ה-API שרוצים להשתמש בהם, כולל Service Directory API. Google Cloud

  • כדי לקשר את רשת ה-VPC למארחים מקומיים, יוצרים מנהרת Cloud VPN או חיבור Cloud Interconnect.

  • חשוב לוודא שפרויקט Google Cloud נמצא בגבולות הגזרה של VPC Service Controls של פרויקט הרשת ושל פרויקט Service Directory עבור servicedirectory.googleapis.com.

    מידע נוסף על VPC Service Controls

הגדרת הפרויקט לרשת ה-VPC

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

  1. יוצרים רשת VPC או בוחרים רשת VPC קיימת שיש לה תת-רשת IPv4 בלבד או תת-רשת עם מחסנית כפולה באזור שבו רוצים להשתמש. אין תמיכה ברשתות מדור קודם.

  2. יוצרים את הכללים הנדרשים בחומת האש כדי לאפשר תעבורת נתונים נכנסת (ingress).

    • אם היעד הוא מכונה וירטואלית או מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי, כללי חומת האש צריכים לאפשר תעבורת TCP מטווח הכתובות 35.199.192.0/19 ליציאות שבהן משתמשת התוכנה שפועלת במכונות הווירטואליות של היעד.

    • אם היעד הוא מאזן עומסים פנימי של אפליקציות או מאזן עומסים פנימי של רשת לשרת proxy, כללי חומת אש של VPC ומדיניות חומת אש היררכית לא שולטים בפרוטוקולים ובפורטים שמאזן העומסים מקבל. במאזן עומסים פנימי של אפליקציות (ALB), אפשר להשתמש במדיניות אבטחה של Google Cloud Armor כדי להגביל את הגישה למאזן העומסים.

    מידע נוסף על טווח 35.199.192.0/19 זמין במאמר נתיבים ל-Cloud DNS ול-Service Directory.

  3. מקצים לסוכן השירות של מוצר Google Cloud שמבצע קריאה לנקודת הקצה את התפקיד 'שירות מורשה של Private Service Connect' (roles/servicedirectory.pscAuthorizedService) בניהול זהויות והרשאות גישה (IAM).

    מידע נוסף על תפקידים והרשאות זמין במאמר הרשאות ותפקידים ב-Service Directory.

הגדרת הפרויקט של Service Directory

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

  1. ברשת ה-VPC, יוצרים מכונה וירטואלית או מאזן עומסים פנימי.

  2. מקצים לסוכן השירות של מוצרGoogle Cloud שיקרא לנקודת הקצה את התפקיד 'צפייה בספריית השירותים' (roles/servicedirectory.viewer) ב-IAM.

  3. יצירה של מרחב שמות ושירות ב-Service Directory. לאחר מכן, יוצרים נקודת קצה לשירות הזה לפי השלבים שמפורטים בקטע הבא.

יצירת נקודת קצה עם גישה לרשת פרטית

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

המסוף

  1. נכנסים לדף Service Directory namespaces במסוף Google Cloud . מעבר למרחבי שמות של Service Directory
  2. לוחצים על מרחב שמות.
  3. לוחצים על שירות.
  4. לוחצים על הוספת נקודת קצה.
  5. בשדה Endpoint name, מזינים שם לנקודת הקצה.
  6. בשדה IP address, מזינים כתובת IPv4, כמו 192.0.2.0.
  7. בשדה יציאה, מזינים מספר יציאה, כמו 443 או 80.
  8. כדי להפעיל גישה לרשת פרטית, בוחרים באפשרות הרצויה ברשת VPC משויכת:
    • כדי לבחור מתוך רשימת הרשתות הזמינות, לוחצים על בחירה מתוך הרשימה ואז בוחרים את הרשת.
    • כדי לציין פרויקט ורשת, לוחצים על Specify by a project and network name (ציון לפי שם הפרויקט ושם הרשת), ואז מזינים את מספר הפרויקט ואת שם הרשת.
  9. לוחצים על יצירה.

gcloud

משתמשים בפקודה gcloud service-directory endpoints create עם מזהה הפרויקט ונתיב הרשת שצוינו.

gcloud service-directory endpoints create ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION \
--namespace=NAMESPACE_NAME \
--service=SERVICE_ID \
--address=IP_ADDRESS \
--port=PORT_NUMBER \
--network=NETWORK_PATH

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

  • ENDPOINT_NAME: שם לנקודת הקצה שיוצרים בשירות, למשל my-endpoint
  • PROJECT_ID: מזהה הפרויקט
  • REGION: האזור Google Cloud שמכיל את מרחב השמות
  • NAMESPACE_NAME: השם שנתתם למרחב השמות, למשל my-namespace
  • SERVICE_ID: המזהה של השירות
  • IP_ADDRESS: כתובת ה-IP של נקודת הקצה, למשל 192.0.2.0
  • PORT_NUMBER: היציאות שבהן נקודות הקצה פועלות, בדרך כלל 443 או 80
  • NETWORK_PATH: כתובת ה-URL של הרשת, כמו projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME

הגדרת פרויקט המוצר Google Cloud

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

  1. מפעילים את Google Cloud product API.

  2. מגדירים את המוצר Google Cloud כדי לקרוא לשירות Service Directory שיצרתם. השלבים הנדרשים תלויים בGoogle Cloud מוצר הספציפי.

תרחישים לדוגמה

בקטע הזה מפורטים תרחישים לדוגמה להגדרת גישה לרשת פרטית.

קריאה לנקודת קצה של HTTP כש-רשת VPC, מכונה וירטואלית ו-Service Directory נמצאים באותו פרויקט

בתרחיש השימוש הזה, אתם מגדירים את Dialogflow CX, שהוא Google Cloud מוצר לעיבוד שפה טבעית, כדי להתקשר לנקודת קצה של HTTP במכונת ה-VM. במהלך הקריאה לנקודת הקצה, מוודאים שהתנועה לא עוברת דרך האינטרנט הציבורי.

בתרחיש השימוש הזה, יוצרים את הארטיפקטים הבאים באותו פרויקט:

  • רשת VPC
  • מכונה וירטואלית
  • שירות Service Directory
  • Dialogflow CX

באיור 1 מוצג איך אפשר לאפשר לתצורת שירות Google של פרויקט לצאת למכונה וירטואלית. המכונה הווירטואלית נמצאת ברשת VPC של הפרויקט.

אפשר לאפשר לתצורת שירות Google של פרויקט לצאת למכונה וירטואלית של פרויקט רשת.
איור 1. הגדרת שירות Google של פרויקט שמאפשרת יציאה למכונה וירטואלית (לוחצים כדי להגדיל).

הגדרת הרשת ורשת היעד

  1. יוצרים פרויקט, כמו myproject.
  2. יוצרים רשת VPC, למשל vpc-1.

    במהלך יצירת רשת ה-VPC, במצב יצירת תת-רשת, בוחרים באפשרות אוטומטי.

  3. יוצרים כלל לחומת האש, כמו firewall-1.

    במהלך יצירת הכלל לחומת האש, מזינים או בוחרים את הערכים הבאים:

    • בשדה רשת, בוחרים באפשרות vpc-1.
    • בשדה Source IPv4 ranges (טווחים של כתובות IPv4 של המקור), מזינים 35.199.192.0/19.
    • בקטע פרוטוקולים ויציאות, בוחרים באפשרות TCP ומזינים 443 או 80.
  4. באזור us-central1, יוצרים מכונה וירטואלית, כמו vm-1.

    במהלך יצירת המכונה הווירטואלית, מזינים או בוחרים את הערכים הבאים:

    • בקטע Networking > Network Interfaces (רשת > ממשקי רשת), בוחרים באפשרות vpc-1.
    • בקטע Firewall, בוחרים באפשרות Allow HTTP traffic.

    אם רוצים להשתמש ב-HTTPS, בוחרים באפשרות Allow HTTPS traffic. חשוב גם לוודא שמתקינים אישור של תשתית מפתח ציבורי (PKI) Transport Layer Security ‏ (TLS).

  5. באזור us-central1, יוצרים מרחב שמות, למשל namespace-1.

  6. במרחב השמות, רושמים שירות של Service Directory, כמו sd-1.

  7. יוצרים נקודת קצה ב-sd-1. בכתובת נקודת הקצה, משתמשים בכתובת ה-IP הפנימית של vm-1 ביציאה 443. מידע נוסף זמין במאמר בנושא יצירת נקודת קצה עם גישה לרשת פרטית.

  8. מקצים לסוכן השירות של המוצרGoogle Cloud שיקרא לנקודת הקצה את תפקידי ה-IAM הבאים:

    • תפקיד הצופה ב-Service Directory (roles/servicedirectory.viewer)
    • תפקיד שירות מורשה של Private Service Connect‏ (roles/servicedirectory.pscAuthorizedService)
  9. אופציונלי: אם רוצים להוסיף עוד מכונות וירטואליות, אפשר להגדיר עוד מכונה וירטואלית, כמו vm-2, ולהוסיף את נקודת הקצה שלה, כמו endpoint-2.

הגדרת Google Cloud מוצר

  1. מגדירים תצורת מוצר Google Cloud , כמו "Cloud Scheduler, call me every minute" (Cloud Scheduler, תתקשר אליי כל דקה).
  2. מגדירים בקשת HTTP.
  3. מציינים שהבקשות צריכות לעבור דרך רשת פרטית, למשל דרך sd-1.
  4. אופציונלי: הגדרת ההגדרות של Certificate Authority Service.

עכשיו אפשר להפעיל את בקשת ה-HTTP באמצעות sd-1. Google Cloud

קריאה לנקודת קצה (endpoint) של HTTP כשברשת VPC משותפת, במכונה וירטואלית וב-Service Directory יש פרויקטים שונים

בתרחיש השימוש הזה, אתם מגדירים את Dialogflow CX, שירות לעיבוד שפה טבעית, כדי להתקשר לנקודת קצה של HTTP במכונת ה-VM. Google Cloud במהלך השיחה עם נקודת הקצה, מוודאים שהתנועה לא עוברת דרך האינטרנט הציבורי.

בתרחיש השימוש הזה, יוצרים את הארטיפקטים הבאים בפרויקטים שונים:

  • רשת VPC משותפת
  • מכונה וירטואלית
  • שירות Service Directory
  • Dialogflow CX

לפני שיוצרים את הפרויקטים, חשוב לשים לב לנקודות הבאות:

  • מוודאים שהפעלת ה-API מתבצעת בהתאם לגבולות הגזרה של VPC Service Controls.
  • מוודאים שההגדרה של Google Cloud פרויקט השירות מאפשרת תעבורת נתונים יוצאת (egress) למכונה וירטואלית שנמצאת בפרויקט של רשת VPC.
  • יכול להיות שהפרויקט של הספק לא יהיה זהה לפרויקט השירות. Google Cloud
  • מוודאים שנעשה שימוש בגבולות הגזרה של VPC Service Controls בשני הפרויקטים.
  • הפרויקט של Service Directory והפרויקט של הרשת לא צריכים להיות מחוברים, אבל שניהם צריכים להיות חלק מאותם אמצעי בקרה של VPC.
  • ברשת ובשירות, חומת האש ו-IAM מושבתים כברירת מחדל.

בתרשים 2 מוצג איך אפשר לשלוח תנועה באמצעות גישה לרשת פרטית עם אכיפה של גבולות VPC Service Controls.

שליחת תעבורה באמצעות גישה לרשת פרטית עם היקפים של VPC Service Controls שנאכפים.
איור 2. שליחת תנועה באמצעות גישה לרשת פרטית עם היקפי VPC Service Controls שנאכפים (אפשר ללחוץ כדי להגדיל).

הגדרת פרויקט הרשת

  1. יוצרים פרויקט, כמו my-vpc-project.
  2. יוצרים רשת VPC, למשל vpc-1.

    במהלך יצירת רשת ה-VPC, בוחרים באפשרות אוטומטי במצב יצירת תת-רשת.

  3. יוצרים כלל לחומת האש, כמו firewall-1.

    במהלך יצירת הכלל, מזינים או בוחרים את הערכים הבאים:

    • בשדה רשת, בוחרים באפשרות vpc-1.
    • בשדה Source IPv4 ranges (טווחים של כתובות IPv4 של המקור), מזינים 35.199.192.0/19.
    • בקטע פרוטוקולים ויציאות, בוחרים באפשרות TCP ומזינים 443 או 80.
  4. באזור us-central1, יוצרים מכונה וירטואלית, כמו vm-1.

    במהלך יצירת המכונה הווירטואלית, מזינים או בוחרים את הערכים הבאים:

    • בקטע Networking > Network Interfaces (רשת > ממשקי רשת), בוחרים באפשרות vpc-1.
    • בקטע Firewall, בוחרים באפשרות Allow HTTP traffic.

    אם רוצים להשתמש ב-HTTPS, בוחרים באפשרות Allow HTTPS traffic. חשוב גם לוודא שמתקינים אישור של תשתית מפתח ציבורי (PKI) Transport Layer Security ‏ (TLS).

אם אתם משתמשים ב-VPC Service Controls, גבולות הגזרה של VPC Service Controls מאפשרים ל-Service Directory להתחבר גם לפרויקט השירות וגם לפרויקט Service Directory. Google Cloud

הגדרת הפרויקט של Service Directory

  1. יוצרים פרויקט, כמו my-sd-project.

  2. נדרשת הרשאת IAM נוספת כי פרויקט רשת ה-VPC ופרויקט Service Directory הם פרויקטים שונים.

    בפרויקט הרשת, מקצים את התפקיד Service Directory Network Attacher ‏(roles/servicedirectory.networkAttacher) למנהל ה-IAM שיוצר את נקודת הקצה של Service Directory.

  3. יוצרים נקודת קצה של Service Directory שמצביעה על המכונה הווירטואלית ברשת ה-VPC:

    1. באזור us-central1, יוצרים מרחב שמות, למשל namespace-1.
    2. במרחב השמות, רושמים שירות של Service Directory, כמו sd-1.
    3. יוצרים נקודת קצה ב-sd-1. בכתובת נקודת הקצה, משתמשים בכתובת ה-IP הפנימית של vm-1 ביציאה 443. מידע נוסף זמין במאמר בנושא יצירת נקודת קצה עם גישה לרשת פרטית.
  4. מקצים לסוכן השירות של המוצרGoogle Cloud שיקרא לנקודת הקצה את תפקידי ה-IAM הבאים:

    • התפקיד 'צפייה ב-Service Directory' (roles/servicedirectory.viewer) בפרויקט Service Directory
    • תפקיד של שירות מורשה ב-Private Service Connect‏ (roles/servicedirectory.pscAuthorizedService) בפרויקט הרשת

אם אתם משתמשים ב-VPC Service Controls, גבולות הגזרה של VPC Service Controls מאפשרים ל-Service Directory להתחבר גם לפרויקט השירות וגם לפרויקט Service Directory. Google Cloud

הגדרת פרויקט השירות Google Cloud

  1. מפעילים את ה-API של השירות שבו אתם משתמשים Google Cloud .
  2. כדי להגדיר את Google Cloud השירות PUSH, משתמשים בשירות Service Directory מהפרויקט Service Directory.

אם אתם משתמשים ב-VPC Service Controls, גבולות הגזרה של VPC Service Controls מאפשרים ל-Service Directory להתחבר גם לפרויקט הרשת וגם לפרויקט Service Directory.

שימוש בגישה לרשת פרטית של Service Directory עם Dialogflow

הוראות לשימוש בגישה לרשת פרטית של Service Directory עם Dialogflow זמינות במאמר שימוש ב-Service Directory לגישה לרשת פרטית.

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