הגדרת סביבה לשימוש במאגרי כתובות פרטיים ברשת VPC

בדף הזה מוסבר איך להגדיר את סביבת הרשת כדי להשתמש במאגרי כתובות פרטיים ברשת VPC. אם אתם לא מכירים בריכות פרטיות, כדאי לקרוא את הסקירה הכללית על בריכות פרטיות.

הסבר על אפשרויות ההגדרה של הרשת

מאגרי כתובות IP פרטיות מאוחסנים ברשת של ענן וירטואלי פרטי (VPC) בבעלות Google שנקראת רשת בעלים של שירות מנוהל. כשמגדירים מאגר פרטי, אפשר לבחור להשתמש ברשת של בעלים של שירות מנוהל או להגדיר חיבור פרטי בין הרשת של בעלים של שירות מנוהל לבין רשת ה-VPC שמכילה את המשאבים שלכם.

בוחרים אחת מהאפשרויות הבאות להגדרת הרשת, בהתאם לצרכים של הארגון:

  • שימוש ברשת של יצרן השירות בלבד: כדאי להשתמש באפשרות הזו אם:

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

  • הגדרת חיבור פרטי בין הרשת של בעלים של שירות מנוהל לבין רשת ה-VPC שלכם: החיבור הפרטי מאפשר למכונות וירטואליות ברשת ה-VPC ובמאגרים פרטיים לתקשר באופן בלעדי באמצעות כתובות IP פנימיות. כדאי להשתמש באפשרות הזו אם:

    • אתם רוצים שהגרסאות יגשו למשאבים ברשת ה-VPC
    • אתם רוצים גדלים וסוגים של מכונות שאפשר להגדיר

הגדרת חיבור פרטי בין רשת ה-VPC שלכם לבין הרשת של בעלים של שירות מנוהל

  1. צריך שיהיה לכם רשת VPC קיימת שבה תשתמשו כדי להתחבר לרשת של בעלים של שירות מנוהל.

  2. כדי להשתמש בדוגמאות של שורת הפקודה במדריך הזה, צריך להתקין ולהגדיר את Google Cloud CLI.

  3. הפעלת ה-API:

    המסוף


    מפעילים את Cloud Build API ואת Service Networking API, אם הם עדיין לא מופעלים.

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

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

    הפעלת ממשקי ה-API

    gcloud

    מפעילים את Cloud Build API ואת Service Networking API:

    gcloud services enable cloudbuild.googleapis.com servicenetworking.googleapis.com
    
  4. כדי לוודא שלחשבון המשתמש יש את ההרשאות שנדרשות להגדרת חיבור פרטי, צריך לבקש מהאדמין להקצות לחשבון המשתמש את תפקיד ה-IAM‏ Compute Engine Network Admin (roles/compute.networkAdmin) בחשבון השירות של הפרויקט Google Cloud שבו נמצאת רשת ה-VPC. להסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

  5. ברשת ה-VPC, מקצים טווח כתובות IP פנימיות עם שם:

    טווח כתובות ה-IP שמציינים כאן יהיה כפוף לכללי חומת האש שמוגדרים ברשת ה-VPC.

    ‫Cloud Build שומר את טווחי כתובות ה-IP‏ 192.168.10.0/24 ו-172.17.0.0/16 לרשת הגשר של Docker. כשמקצים טווחי כתובות IP למשאבים בפרויקטים, מומלץ לבחור טווח מחוץ ל-192.168.10.0/24 ול-172.17.0.0/16 במקרים שבהם כלי הבנייה של Cloud Build אמורים לגשת למשאבים האלה.

    לדוגמה, לא תהיה גישה לטווח הכתובות של מישור הבקרה של Google Kubernetes Engine‏ 192.168.10.96/28 מה-builder‏ gke-deploy של Cloud Build בגלל החפיפה.

    המסוף

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

      לדף VPC networks

    2. בוחרים את רשת ה-VPC שתתחבר לרשת ה-VPC של המאגר הפרטי.

    3. לוחצים על הכרטיסייה גישה פרטית לשירות.

    4. בכרטיסייה גישה פרטית לשירותים, בוחרים בכרטיסייה הקצאת טווחי כתובות IP לשירותים.

    5. לוחצים על הקצאת טווח כתובות IP.

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

    7. מציינים טווח כתובות IP להקצאה:

      • כדי לציין טווח של כתובות IP, בוחרים באפשרות בהתאמה אישית ומזינים בלוק CIDR.
      • כדי לציין אורך קידומת ולאפשר ל-Google לבחור טווח זמין, בוחרים באפשרות אוטומטי ומזינים אורך קידומת. אורך הקידומת צריך להיות /24 או פחות, למשל /22, /21 וכו'.
    8. לוחצים על הקצאה כדי ליצור את הטווח המוקצה.

    gcloud

    כדי לציין טווח כתובות ואורך קידומת (מסכה של רשת משנה), משתמשים בדגלים addresses ו-prefix-length. אורך הקידומת צריך להיות ‎ /24 או פחות, למשל ‎ /22, ‎/21 וכו'. לדוגמה, כדי להקצות את בלוק ה-CIDR‏ 192.168.0.0/16, מציינים 192.168.0.0 לכתובת ו-16 לאורך הקידומת.

      gcloud compute addresses create RESERVED_RANGE_NAME \
          --global \
          --purpose=VPC_PEERING \
          --addresses=192.168.0.0 \
          --prefix-length=16 \
          --description=DESCRIPTION \
          --network=VPC_NETWORK
    

    כדי לציין רק אורך קידומת (מסכה של רשת משנה), פשוט משתמשים בדגל prefix-length. כשמשמיטים את טווח הכתובות, Google Cloudבוחר באופן אוטומטי טווח כתובות שלא נמצא בשימוש ברשת ה-VPC. בדוגמה הבאה נבחר טווח כתובות IP שלא נמצא בשימוש עם אורך קידומת של 16 ביטים.

      gcloud compute addresses create RESERVED_RANGE_NAME \
          --global \
          --purpose=VPC_PEERING \
          --prefix-length=16 \
          --description=DESCRIPTION \
          --network=VPC_NETWORK
    

    מחליפים את ערכי ה-placeholder בפקודה בערכים הבאים:

    • ‫RESERVED_RANGE_NAME: שם לטווח שהוקצה, למשל my-allocated-range.
    • ‫DESCRIPTION: תיאור הטווח, למשל allocated for my-service.
    • ‫VPC_NETWORK: השם של רשת ה-VPC, למשל my-vpc-network.

  6. יוצרים חיבור פרטי בין הרשת של בעלים של שירות מנוהל לבין רשת ה-VPC שלכם:

    המסוף

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

      לדף VPC networks

    2. בוחרים את רשת ה-VPC שתתחבר לרשת ה-VPC של המאגר הפרטי.

    3. לוחצים על הכרטיסייה גישה פרטית לשירות.

    4. בכרטיסייה גישה לשירותים פרטיים, בוחרים בכרטיסייה חיבורים פרטיים לשירותים.

    5. לוחצים על Create connection (יצירת חיבור) כדי ליצור חיבור פרטי בין הרשת שלכם לבין הרשת של בעלים של שירות מנוהל.

    6. בשדה הקצאה שהוקצתה, בוחרים את טווח ההקצאה שיצרתם בשלב הקודם.

    7. לוחצים על Connect (קישור) כדי ליצור את הקישור.

    gcloud

    1. יצירת חיבור פרטי:

      gcloud services vpc-peerings connect \
          --service=servicenetworking.googleapis.com \
          --ranges=ALLOCATED_RANGE_NAME \
          --network=VPC_NETWORK \
          --project=PROJECT_ID
      

      מחליפים את ערכי ה-placeholder בפקודה בערכים הבאים:

      • ‫ALLOCATED_RANGE_NAME: השם של הטווח שהוקצה שיצרתם בשלב הקודם.
      • ‫VPC_NETWORK: השם של רשת ה-VPC
      • ‫PROJECT_ID: מזהה הפרויקט שמכיל את רשת ה-VPC.

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

    2. כדי לבדוק אם הפעולה הצליחה, מחליפים את OPERATION_NAME בשם הפעולה שהתקבל בשלב הקודם.

      gcloud services vpc-peerings operations describe \
          --name=OPERATION_NAME
      
  7. [אופציונלי: תרחיש של VPC משותף]. אם אתם משתמשים ב-VPC משותף, אתם צריכים ליצור את טווח כתובות ה-IP שהוקצה ואת החיבור הפרטי בפרויקט המארח. בדרך כלל, אדמין רשת בפרויקט המארח צריך לבצע את המשימות האלה. אחרי שמגדירים את הפרויקט המארח עם החיבור הפרטי, מכונות וירטואליות בפרויקטים של השירות יכולות להשתמש בחיבור הפרטי עם הרשת של בעלי השירות המנוהל. הפרויקט שמארח את חיבור ה-VPC והפרויקט שמכיל את המאגר הפרטי צריכים להיות חלק מאותו ארגון.

  8. [אופציונלי: שימוש בכללי חומת אש]. אם יוצרים כלל חומת אש לתעבורת נתונים נכנסת ברשת ה-VPC, צריך לציין את אותו טווח כתובות IP שהקציתם כאן במסנן המקור של כלל הכניסה.

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