העברת מחבר VPC משותף ל-Direct VPC egress

הדף הזה מיועד למומחי רשת שרוצים להעביר תנועה ברשת VPC משותפת משימוש במחברי חיבור לרשת (VPC) מאפליקציית serverless לשימוש ביציאה ישירה מרשת VPC כששולחים תנועה לרשת VPC משותפת.

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

לפני המיגרציה, מומלץ לקרוא על הדרישות המוקדמות, המגבלות, הקצאת כתובות IP והרשאות IAM של Direct VPC egress.

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

העברת שירותים ל-Direct VPC egress בהדרגה

כשמעבירים שירותי Cloud Run ממחברי Serverless VPC Access לתעבורת נתונים יוצאת (egress) ישירה של VPC, מומלץ לעשות זאת במעבר הדרגתי.

כדי לעבור בהדרגה:

  1. פועלים לפי ההוראות במדריך הזה כדי לעדכן את השירות או את העבודה כך שישתמשו ב-Direct VPC egress.
  2. פיצול של אחוז קטן של תנועה כדי לבדוק שהתנועה פועלת בצורה תקינה.
  3. מעדכנים את פיצול התנועה כדי לשלוח את כל התנועה לגרסה החדשה באמצעות יציאה ישירה מ-VPC.

כדי להעביר תעבורת נתונים באמצעות Direct VPC egress לשירות, משתמשים בGoogle Cloud מסוף או ב-Google Cloud CLI:

המסוף

  1. נכנסים לדף Services של Cloud Run במסוף Google Cloud :

    כניסה ל-Cloud Run

  2. לוחצים על השירות שרוצים להעביר מ-Connector ל-Direct VPC egress, ואז לוחצים על Edit and deploy new revision (עריכה ופריסה של גרסה חדשה).

  3. נכנסים לכרטיסייה Networking.

  4. בקטע Connect to a VPC for outbound traffic (חיבור ל-VPC לתעבורה יוצאת), לוחצים על Send traffic directly to a VPC (שליחת תעבורה ישירות ל-VPC).

  5. בוחרים באפשרות רשתות ששותפו איתי.

  6. בשדה Network (רשת), בוחרים את רשת ה-VPC המשותף שאליה רוצים להפנות את תעבורת הנתונים.

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

  8. אופציונלי: מזינים את השמות של תגי הרשת שרוצים לשייך לשירות או לשירותים. תגי רשת מצוינים ברמת הגרסה. לכל גרסה של שירות יכולים להיות תגי רשת שונים, כמו network-tag-2.

  9. בקטע Traffic routing (ניתוב תנועה), בוחרים באחת מהאפשרויות הבאות:

    • הפניית בקשות רק לכתובות IP פרטיות אל ה-VPC כדי לשלוח תעבורה רק לכתובות פנימיות דרך רשת ה-VPC המשותפת.
    • ניתוב כל התנועה אל ה-VPC כדי לשלוח את כל התנועה היוצאת דרך רשת ה-VPC המשותפת.
  10. לוחצים על פריסה.

  11. כדי לוודא שהשירות שלכם נמצא ברשת ה-VPC המשותפת, לוחצים על השירות ואז על הכרטיסייה Networking (רשת). הרשת ותת-הרשת מופיעות בכרטיס VPC.

    מעכשיו אפשר לשלוח בקשות ישירות משירות Cloud Run לכל משאב ברשת VPC משותף, בהתאם לכללי חומת האש.

gcloud

כדי להעביר שירות Cloud Run ממחבר לתעבורת נתונים יוצאת (egress) ישירה של VPC באמצעות Google Cloud CLI:

  1. כדי לעדכן את השירות בתת-הרשת המשותפת, צריך לציין את שמות המשאבים המלאים של רשת ה-VPC המשותפת ותת-הרשת באמצעות הפקודה הבאה.

    gcloud run services update SERVICE_NAME \
      --clear-vpc-connector \
      --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \
      --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \
      --network-tags NETWORK_TAG_NAMES \
      --region REGION \
      --max-instances MAX \
      --no-traffic

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

    • SERVICE_NAME: השם של שירות Cloud Run.
    • HOST_PROJECT_ID: מזהה הפרויקט של ה-VPC המשותף.
    • VPC_NETWORK: השם של רשת ה-VPC המשותפת.
    • REGION: האזור של שירות Cloud Run, שחייב להיות זהה לאזור של רשת המשנה.
    • SUBNET_NAME: השם של רשת המשנה.
    • אופציונלי: NETWORK_TAG_NAMES עם השמות המופרדים בפסיקים של תגי הרשת שרוצים לשייך לשירות. בשירותים, תגי הרשת מצוינים ברמת השינוי. לכל גרסה של שירות יכולים להיות תגי רשת שונים, כמו network-tag-2.
    • MAX: המספר המקסימלי של מופעים לשימוש ברשת ה-VPC המשותפת. מספר המופעים המקסימלי שמותר לשירותים הוא 100.
  2. אופציונלי: כדי לנתב את כל תעבורת הנתונים היוצאת דרך רשת ה-VPC המשותפת, מריצים את הפקודה הבאה כדי לעדכן את הגדרת תעבורת הנתונים היוצאת (egress):

    gcloud run services update SERVICE_NAME \
      --vpc-egress=all-traffic \
      --region REGION

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

    • SERVICE_NAME: השם של שירות Cloud Run.
    • REGION: האזור של שירות Cloud Run.

    פרטים נוספים וארגומנטים אופציונליים מופיעים במאמר gcloud.

  3. כדי לוודא שהשירות נמצא ברשת ה-VPC המשותפת, מריצים את הפקודה הבאה:

    gcloud run services describe SERVICE_NAME \
      --region=REGION

    מחליפים את:

    • SERVICE_NAME בשם של השירות.
    • REGION באזור של השירות שציינתם בשלב הקודם.

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

    VPC access:
      Network:       default
      Subnet:        subnet
      Egress:        private-ranges-only
    
  4. הפניית חלק מהתנועה לנתיב החדש של Direct VPC egress. לדוגמה, כדי להפנות 10% מהתנועה לגרסה האחרונה שנוצרה בשלב הקודם, מריצים את הפקודה הבאה:

    gcloud run services update-traffic SERVICE_NAME --to-revisions=LATEST=10

    מחליפים את SERVICE_NAME בשם השירות.

    אחרי שמוודאים שאין רגרסיות, מעבירים בהדרגה את התנועה לגרסה האחרונה.

עכשיו אפשר לשלוח בקשות משירות Cloud Run לכל משאב ברשת VPC משותף, בהתאם לכללי חומת האש.

העברת משימות ל-Direct VPC egress

אפשר להעביר תנועה באמצעות Direct VPC egress לעבודה באמצעותGoogle Cloud המסוף או Google Cloud CLI.

המסוף

  1. נכנסים לדף Jobs ב-Cloud Run במסוף Google Cloud :

    כניסה ל-Cloud Run

  2. לוחצים על העבודה שרוצים להעביר ממחבר ליציאה ישירה של VPC, ואז לוחצים על עריכה.

  3. נכנסים לכרטיסייה Networking.

  4. לוחצים על Container, Variables & Secrets, Connections, Security (מאגר, משתנים וסודות, חיבורים, אבטחה) כדי להרחיב את דף מאפייני העבודה.

  5. לוחצים על הכרטיסייה Connections (קישורים).

  6. בקטע Connect to a VPC for outbound traffic (חיבור ל-VPC לתעבורה יוצאת), לוחצים על Send traffic directly to a VPC (שליחת תעבורה ישירות ל-VPC).

  7. בוחרים באפשרות רשתות ששותפו איתי.

  8. בשדה Network (רשת), בוחרים את רשת ה-VPC המשותף שאליה רוצים להפנות את תעבורת הנתונים.

  9. בשדה Subnet (רשת משנה), בוחרים את רשת המשנה שממנה המשימה מקבלת כתובות IP. אפשר לפרוס כמה משימות באותה רשת משנה.

  10. אופציונלי: מזינים את השמות של תגי הרשת שרוצים לשייך למשרה. לגבי עבודות, תגי הרשת מצוינים ברמת ההרצה. לכל הרצה של עבודה יכולים להיות תגי רשת שונים, כמו network-tag-2.

  11. בקטע Traffic routing (ניתוב תנועה), בוחרים באחת מהאפשרויות הבאות:

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

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

עכשיו אפשר להריץ את העבודה ב-Cloud Run ולשלוח בקשות מהעבודה לכל משאב ברשת ה-VPC המשותפת, בהתאם לכללי חומת האש.

gcloud

כדי להעביר משימת Cloud Run ממחבר לתעבורת נתונים יוצאת (egress) ישירה של VPC באמצעות Google Cloud CLI:

  1. כדי לעדכן את העבודה בתת-הרשת המשותפת, צריך לציין את שמות המשאבים המלאים של רשת ה-VPC המשותפת ותת-הרשת באמצעות הפקודה הבאה.

    gcloud run jobs update JOB_NAME \
      --clear-vpc-connector \
      --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \
      --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \
      --network-tags NETWORK_TAG_NAMES \
      --region REGION

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

    • JOB_NAME: השם של המשימה ב-Cloud Run.
    • HOST_PROJECT_ID: מזהה הפרויקט של ה-VPC המשותף.
    • VPC_NETWORK: השם של רשת ה-VPC המשותפת.
    • REGION: האזור של המשימה ב-Cloud Run, שחייב להיות זהה לאזור של רשת המשנה.
    • SUBNET_NAME: השם של רשת המשנה.
    • אופציונלי: NETWORK_TAG_NAMES עם השמות המופרדים בפסיקים של תגי הרשת שרוצים לשייך למשרה. לכל הפעלה של עבודה יכולים להיות תגים שונים של רשתות, כמו network-tag-2.
  2. אופציונלי: כדי לנתב את כל תעבורת הנתונים היוצאת דרך רשת ה-VPC המשותפת, מריצים את הפקודה הבאה כדי לעדכן את הגדרת תעבורת הנתונים היוצאת (egress):

    gcloud run jobs update JOB_NAME \
      --vpc-egress=all-traffic \
      --region REGION

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

    • JOB_NAME: השם של המשימה ב-Cloud Run.
    • REGION: האזור של המשימה ב-Cloud Run.

    פרטים נוספים וארגומנטים אופציונליים מופיעים במאמר gcloud.

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

    gcloud run jobs describe JOB_NAME \
      --region=REGION

    מחליפים את:

    • JOB_NAME בשם של המשימה.
    • REGION באזור של המשרה שציינתם בשלב הקודם.

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

    VPC access:
      Network:       default
      Subnet:        subnet
      Egress:        private-ranges-only
    

עכשיו אפשר לשלוח בקשות מהמשימה של Cloud Run לכל משאב ברשת ה-VPC המשותפת, בהתאם לכללי חומת האש.