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

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

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

מטרות

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

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Cloud de Confiance by S3NS, והשימוש בהם כרוך בתשלום:

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

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

  1. צריך להשלים את שני המדריכים הקודמים בסדרה הזו:
  2. יוצרים או בוחרים פרויקט לשימוש במשאבים של צרכן השירות. הפרויקט הזה נקרא CONSUMER_PROJECT
    1. נכנסים לדף לבחירת הפרויקט במסוף Cloud de Confiance .

      כניסה לדף לבחירת הפרויקט

    2. בוחרים או יוצרים Cloud de Confiance פרויקט.

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

      • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
      • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
  3. מפעילים את Compute Engine API, אם הוא עדיין לא מופעל.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

  4. צריך לוודא שיש לכם בפרויקט את התפקיד או התפקידים הבאים: Compute Engine > Compute Network Admin, Compute Engine > Compute Instance Admin

    בדיקת התפקידים

    1. נכנסים לדף IAM במסוף Cloud de Confiance .

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

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

    מתן התפקידים

    1. נכנסים לדף IAM במסוף Cloud de Confiance .

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

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

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

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

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

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

המסוף

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

    מעבר לרשתות 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 במסוף Cloud de Confiance .

    למדיניות חומת האש

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

    • בשדה Name (שם), מזינים fw-allow-ssh.
    • בקטע רשת, בוחרים באפשרות consumer-network.
    • בשדה עדיפות מזינים 1000.
    • בשדה כיוון התנועה, בוחרים באפשרות תנועה נכנסת.
    • בקטע פעולה במקרה של התאמה, בוחרים באפשרות אישור.
    • בקטע יעדים, בוחרים באפשרות תגי יעד שצוינו.
    • בשדה תגי יעד, מזינים allow-ssh.
    • בשדה מסנן מקור, בוחרים באפשרות טווחים של כתובות IPv4.
    • בשדה Source IPv4 ranges, מזינים 0.0.0.0/0.
    • בקטע פרוטוקולים ויציאות, בוחרים באפשרות פרוטוקולים ויציאות שצוינו ומסמנים את תיבת הסימון 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 במסוף Cloud de Confiance .

    כניסה אל Private Service Connect

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

  3. לוחצים על Connect endpoint (חיבור נקודת קצה).

  4. בשדה Target, בוחרים באפשרות Published service.

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

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

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

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

  8. בשדה Subnetwork, בוחרים באפשרות 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: האזור של קובץ השירות המצורף.

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

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

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

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

המסוף

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

    כניסה לדף 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.
      • בשדה Subnet, בוחרים באפשרות 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 של לקוח. ההתנהגות הצפויה היא שתעבורת הנתונים תתחלק בין מכונות וירטואליות (VM) בקצה העורפי של מאזן העומסים.

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

הסרת המשאבים

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

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

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

    כדי למחוק Cloud de Confiance פרויקט:

    gcloud projects delete PROJECT_ID

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