גישה לשירות מרשת VPC אחרת

במדריך הזה מוסבר איך צרכני שירות יכולים לגשת לשירות שפורסם על ידי יצירת נקודת קצה של Private Service Connect. כששולחים בקשות לנקודת הקצה, Private Service Connect מעביר את הבקשות האלה לשירות שפורסם.

המדריך הזה מיועד למומחי Cloud Architect, למומחי Network Architect, לאדמינים של רשתות ולאדמינים ב-IT.

מטרות

  • הגדרת רשתות למשאבים של צרכן השירות
  • יצירת נקודת קצה
  • בדיקת הגישה לנקודת הקצה

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.

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

  1. משלימים את שני המדריכים הקודמים בסדרה הזו:
  2. יוצרים או בוחרים פרויקט לשימוש במשאבים של צרכן השירות. הפרויקט הזה נקרא CONSUMER_PROJECT
    1. In the Google Cloud console, go to the project selector page.

      Go to project selector

    2. Select or create a Google Cloud project.

      Roles required to select or create a project

      • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
      • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
  3. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  4. Make sure that you have the following role or roles on the project: Compute Engine > Compute Network Admin, Compute Engine > Compute Instance Admin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      כניסה לדף IAM
    2. בוחרים את הפרויקט.
    3. לוחצים על ‎ Grant access.
    4. בשדה New principals, מזינים את מזהה המשתמש. ‫ בדרך כלל מזהה המשתמש הוא כתובת האימייל של חשבון Google.

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

הגדרה של רשתות

בקטעים הבאים מוסבר איך ליצור רשת ורשת משנה לאירוח נקודת הקצה, ואיך ליצור כלל חומת אש כדי לאפשר גישת SSH למכונה הווירטואלית של הלקוח שמשמשת לבדיקת נקודת הקצה.

יצירת רשת ורשת משנה

כדי ליצור את רשת צרכני השירות ואת רשת המשנה, פועלים לפי השלבים הבאים.

המסוף

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

    מעבר לרשתות VPC

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

  3. בשדה Name (שם), מזינים consumer-network.

  4. בקטע Subnet creation mode (מצב יצירת רשת משנה), בוחרים באפשרות Custom (בהתאמה אישית).

  5. בקטע New subnet (רשת משנה חדשה), מזינים את הפרטים הבאים.

    1. בשדה Name (שם), מזינים consumer-subnet.
    2. בשדה Region, בוחרים את אותו אזור כמו השירות שפורסם שיצרתם.
    3. בשביל IP stack type, בוחרים באפשרות IPv4 (single-stack).
    4. בשדה IPv4 range, מזינים 192.168.10.0/24.
    5. לוחצים על סיום.
  6. לוחצים על יצירה.

gcloud

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

    gcloud compute networks create consumer-network --subnet-mode=custom
    
  2. ברשת consumer-network, יוצרים רשת משנה.

    gcloud compute networks subnets create consumer-subnet \
        --network=consumer-network \
        --range=192.168.10.0/24 \
        --region=REGION
    

    מחליפים את הערך REGION באותו אזור כמו השירות שפרסמתם ויצרתם.

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

יוצרים כלל חומת אש בשם fw-allow-ssh כדי לאפשר לתעבורת SSH מ-0.0.0.0/0 להגיע למכונות וירטואליות עם תג הרשת allow-ssh.

המסוף

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

    לדף Firewall policies

  2. כדי לאפשר חיבורי SSH נכנסים, לוחצים על Create firewall rule (יצירת כלל חומת אש) ומשתמשים בהגדרות הבאות:

    • בשדה Name (שם), מזינים fw-allow-ssh.
    • בקטע רשת, בוחרים באפשרות consumer-network.
    • בשדה עדיפות מזינים 1000.
    • בשדה כיוון התנועה, בוחרים באפשרות תנועה נכנסת.
    • בקטע פעולה בהתאמה, בוחרים באפשרות אישור.
    • בקטע יעדים, בוחרים באפשרות תגי יעד שצוינו.
    • בשדה תגי יעד, מזינים allow-ssh.
    • בשדה מסנן מקור, בוחרים באפשרות טווחים של IPv4.
    • בשדה Source IPv4 ranges (טווחים של כתובות IPv4 של המקור), מזינים 0.0.0.0/0.
    • בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות שצוינו), מסמנים את תיבת הסימון TCP. בשדה Ports (יציאות), מזינים 22.
  3. לוחצים על יצירה.

gcloud

  1. יוצרים את כלל חומת האש fw-allow-ssh כדי לאפשר קישוריות SSH למכונות וירטואליות עם תג הרשת allow-ssh.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=consumer-network \
        --action=allow \
        --direction=ingress \
        --source-ranges=0.0.0.0/0 \
        --target-tags=allow-ssh \
        --rules=tcp:22
    

יצירת נקודת קצה

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

המסוף

  1. נכנסים לדף Private Service Connect במסוף Google Cloud .

    מעבר אל Private Service Connect

  2. לוחצים על הכרטיסייה Connected endpoints (נקודות קצה מחוברות).

  3. לוחצים על Connect endpoint.

  4. בקטע יעד, בוחרים באפשרות שירות שפורסם.

  5. בשדה שירות יעד, מזינים projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-service.

    מחליפים את PRODUCER_PROJECT במזהה הפרויקט של השירות שפורסם. מחליפים את REGION באזור של השירות שפורסם.

  6. בשדה Endpoint name (שם נקודת הקצה), מזינים ep-1.

  7. בקטע רשת, בוחרים באפשרות consumer-network.

  8. בשדה רשת משנה, בוחרים באפשרות consumer-subnet.

  9. לוחצים על התפריט הנפתח כתובת IP ובוחרים באפשרות יצירת כתובת IP.

    1. בשדה Name (שם), מזינים ep-ip-1.
    2. בקטע Static IP address (כתובת IP סטטית), בוחרים באפשרות Let me choose (אני רוצה לבחור).
    3. בשדה כתובת IP בהתאמה אישית, מזינים 192.168.10.5.
    4. לוחצים על Reserve.
  10. לוחצים על הוספת נקודת קצה.

gcloud

  1. שמירת כתובת IP פנימית להקצאה לנקודת הקצה.

    gcloud compute addresses create ep-ip-1 \
        --region=REGION \
        --subnet=consumer-subnet \
        --addresses=192.168.10.5
    

    מחליפים את הערך REGION באותו אזור כמו השירות שפרסמתם ויצרתם.

  2. יוצרים כלל העברה כדי לחבר את נקודת הקצה לחיבור השירות של בעלי השירות המנוהל.

    gcloud compute forwarding-rules create ep-1 \
        --region=REGION \
        --network=consumer-network \
        --address=ep-ip-1 \
        --target-service-attachment=projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-service
    

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

    • PRODUCER_PROJECT: מזהה הפרויקט של פרויקט לשירות מנוהל.

    • REGION: האזור של קובץ השירות המצורף.

בדיקת הגישה לנקודת הקצה

כדי לבדוק שנקודת הקצה והשירות שפורסם פועלים, יוצרים מכונה וירטואלית לבדיקה ושולחים ממנה בקשה לנקודת הקצה.

יצירת מכונה וירטואלית של לקוח לבדיקה

יוצרים מכונה וירטואלית של לקוח באותו אזור שבו נמצאת נקודת הקצה.

המסוף

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

    כניסה לדף VM instances

  2. לוחצים על Create instance.

  3. בשדה Name (שם), מזינים consumer-test.

  4. בשדה Region, בוחרים את אותו אזור כמו מכונות ה-VM של ה-Backend.

  5. בשדה Zone, בוחרים אזור באותו אזור.

  6. לוחצים על Networking ומגדירים את השדות הבאים:

    1. בשדה Network tags (תגי רשת), מזינים allow-ssh.
    2. בקטע Network interfaces (ממשקי רשת), בוחרים באפשרויות הבאות:
      • בקטע רשת, בוחרים באפשרות consumer-network
      • בשדה רשת משנה, בוחרים באפשרות consumer-subnet.
  7. לוחצים על יצירה.

gcloud

gcloud compute instances create consumer-test \
    --zone=ZONE \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=consumer-subnet

מחליפים את ZONE באזור שנמצא באותו אזור כמו המכונות הווירטואליות של הבק-אנד.

בדיקת הקישוריות

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

  1. מתחברים למופע ה-VM של הלקוח.
    gcloud compute ssh consumer-test --zone=ZONE
    
    מחליפים את ZONE באזור של המכונה הווירטואלית של הלקוח.
  2. שולחים בקשת אינטרנט לנקודת הקצה באמצעות curl כדי ליצור קשר עם כתובת ה-IP שלה. חוזרים על הבקשה כדי לראות שהתשובות מגיעות ממכונות וירטואליות שונות בעורף. השם של המכונה הווירטואלית שיצרה את התגובה מוצג בטקסט בתגובת ה-HTML, בגלל התוכן של /var/www/html/index.html בכל מכונה וירטואלית בעורף. לדוגמה, תשובות צפויות נראות כמו Page served from: vm-1 ו-Page served from: vm-2.
    curl -s http://192.168.10.5
    

הסרת המשאבים

כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם במדריך הזה, אתם יכולים למחוק את הפרויקט שמכיל את המשאבים או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.

מחיקת הפרויקטים

מוחקים גם את פרויקט הספק (PRODUCER_PROJECT) וגם את פרויקט הלקוח (CONSUMER_PROJECT).

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

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