שליחת תעבורה של serverless לרשת VPC

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

עם זאת, אם Direct VPC egress היא לא אפשרות בשבילכם, אתם יכולים להשתמש ב-Serverless VPC Access כדי להתחבר ישירות לרשת ה-VPC שלכם מסביבות serverless כמו Cloud Run ו-App Engine. הגדרת חיבור לרשת (VPC) מאפליקציית serverless מאפשרת לסביבת ה-serverless שלכם לשלוח בקשות לרשת ה-VPC באמצעות DNS פנימי וכתובות IP פנימיות (כפי שמוגדר ב-RFC 1918 וב-RFC 6598). התשובות לבקשות האלה מבוססות גם על הרשת הפנימית שלכם.

יש שני יתרונות עיקריים לשימוש בחיבור לרשת (VPC) מאפליקציית serverless:

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

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

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

איך זה עובד

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

טווחי כתובות IP

יש שתי אפשרויות להגדרת טווח כתובות ה-IP למחבר:

  • תת-רשת: אפשר לציין /28 תת-רשת קיימת אם אין משאבים שכבר משתמשים בתת-הרשת.
  • טווח CIDR: אפשר לציין טווח CIDR שלא נמצא בשימוש /28. כשמציינים את הטווח הזה, חשוב לוודא שהוא לא חופף לטווחים אחרים של CIDR שנמצאים בשימוש.

תעבורת נתונים שנשלחת דרך המחבר לרשת ה-VPC שלכם מגיעה מרשת המשנה או מטווח ה-CIDR שציינתם.

כללי חומת אש

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

כללי חומת אש למחברים ברשתות VPC עצמאיות או בפרויקטים מארחים של VPC משותף

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

מטרת כלל חומת האש פורמט השם סוג פעולה עדיפות פרוטוקולים ויציאות
מאפשרת תעבורה למכונות וירטואליות של המחבר מטווחים של בדיקות תקינות (35.191.0.0/16, 130.211.0.0/22) ביציאות מסוימות aet-CONNECTOR_REGION-CONNECTOR_NAME-hcfw תעבורת נתונים נכנסת (Ingress) אישור 100 TCP:667
מאפשר תעבורה למכונות וירטואליות של המחבר מהתשתית הבסיסית בלי שרת של Google ‏ (35.199.224.0/19) ביציאות מסוימות aet-CONNECTOR_REGION-CONNECTOR_NAME-rsgfw תעבורת נתונים נכנסת (Ingress) אישור 100 TCP:667, UDP:665-666, ICMP
מאפשר תעבורה ממכונות וירטואליות של המחבר אל התשתית הבסיסית ללא שרת של Google ‏ (35.199.224.0/19) ביציאות מסוימות aet-CONNECTOR_REGION-CONNECTOR_NAME-earfw תעבורת נתונים יוצאת (egress) אישור 100 TCP:667, UDP:665-666, ICMP
חסימת תעבורת נתונים ממכונות וירטואליות של המחבר אל תשתית בסיסית בלי שרת של Google ‏ (35.199.224.0/19) לכל היציאות האחרות aet-CONNECTOR_REGION-CONNECTOR_NAME-egrfw תעבורת נתונים יוצאת (egress) דחייה 100 ‫TCP:1-666, 668-65535, UDP:1-664, 667-65535
מאפשרת את כל התנועה ממופעי ה-VM של המחבר (על סמך כתובת ה-IP שלהם) לכל המשאבים ברשת ה-VPC של המחבר aet-CONNECTOR_REGION-CONNECTOR_NAME-sbntfw תעבורת נתונים נכנסת (Ingress) אישור 1000 TCP, ‏ UDP, ‏ ICMP
מאפשרת את כל התנועה ממופעי ה-VM של המחבר (על סמך תג הרשת שלהם) לכל המשאבים ברשת ה-VPC של המחבר aet-CONNECTOR_REGION-CONNECTOR_NAME-tagfw תעבורת נתונים נכנסת (Ingress) אישור 1000 TCP, ‏ UDP, ‏ ICMP

אפשר להגביל עוד יותר את הגישה של המחבר למשאבים ברשת ה-VPC של היעד באמצעות כללי חומת אש של VPC או כללים במדיניות חומת אש. כשמוסיפים כללים לחומת האש, חשוב לוודא שהעדיפות שלהם גבוהה מ-100 כדי שלא יהיה ניגוד בינם לבין כללים מוסתרים לחומת האש שהוגדרו על ידי Google Cloud. מידע נוסף זמין במאמר הגבלת הגישה של מכונת ה-VM של מחבר ל-VPC Network Resources.

כללי חומת אש למחברים בפרויקטים של שירות VPC משותף

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

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

תפוקה ושינוי קנה מידה

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

סוג המכונה טווח משוער של קצב העברת הנתונים (ב-Mbps)* מחיר
(מופע של מחבר בתוספת עלויות של העברת נתונים יוצאת ברשת)
f1-micro 100-500 תמחור של f1-micro
e2-micro 200-1000 התמחור של e2-micro
e2-standard-4 3200-16000 המחיר הרגיל של e2

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

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

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

דוגמה

אם בוחרים f1-micro כסוג המכונה ומשתמשים בערכי ברירת המחדל למספר המינימלי והמקסימלי של המופעים (2 ו-10 בהתאמה), קצב העברת הנתונים המשוער של המחבר הוא 100Mbps במספר המינימלי של המופעים שמוגדר כברירת מחדל, ו-500Mbps במספר המקסימלי של המופעים שמוגדר כברירת מחדל.

תרשים תפוקה

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

תחזוקה והחלפת מכונה

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

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

הפלטפורמה תמשיך בתהליך הכיבוי המתוזמן גם אם לא ניתן ליצור תחליף. אם בפרויקט שלכם יש מדיניות ארגונית, כמו constraints/compute.trustedImageProjects, שחוסמת תמונות מהפרויקט serverless-vpc-access-images, מופעים חלופיים לא יופעלו. עם הזמן, כשהמופעים מגיעים לחלון זמן לתחזוקה ולא מוחלפים, מספר המופעים של המחבר יקטן ויכול להגיע לאפס. כדי למנוע את זה, צריך לוודא שמדיניות הארגון מאפשרת את פרויקטי התמונות הנדרשים.

כדי למזער את ההשפעה במהלך התחזוקה:

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

תגים של רשתות

תגי רשת של Serverless VPC Access מאפשרים לכם להפנות למחברי VPC בכללי חומת אש ובנתיבים.

כל מחבר של חיבור לרשת (VPC) מאפליקציית serverless מקבל באופן אוטומטי את שני תגי הרשת הבאים (לפעמים נקראים תגי מופע):

  • תג רשת אוניברסלי (vpc-connector): חל על כל המחברים הקיימים ועל כל המחברים שייווצרו בעתיד.

  • תג רשת ייחודי (vpc-connector-REGION-CONNECTOR_NAME): רלוונטי למחבר CONNECTOR_NAME באזור REGION.

אי אפשר למחוק את תגי הרשת האלה. אי אפשר להוסיף תגי רשת חדשים. משתמשים בתגי רשת כדי להגביל את הגישה של מכונת ה-VM של המחבר למשאבי VPC.

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

אתם יכולים להשתמש ב-Serverless VPC Access כדי לגשת למכונות וירטואליות של Compute Engine, למופעים של Memorystore ולכל משאב אחר עם DNS פנימי או כתובת IP פנימית. דוגמאות:

  • אתם משתמשים ב-Memorystore כדי לאחסן נתונים בשירות ללא שרת.
  • עומסי העבודה שלכם ב-Serverless משתמשים בתוכנות של צד שלישי שאתם מריצים במכונה וירטואלית ב-Compute Engine.
  • אתם מריצים שירות לקצה העורפי בקבוצת מופעי מכונה מנוהלים ב-Compute Engine, ואתם צריכים שהסביבה בלי שרת (serverless) תתקשר עם הבק-אנד הזה בלי חשיפה לאינטרנט.
  • הסביבה ללא שרתים צריכה לגשת לנתונים ממסד הנתונים המקומי דרך Cloud VPN.

דוגמה

בדוגמה הזו, בפרויקט Google Cloud פועלים כמה שירותים בסביבות serverless הבאות: App Engine, פונקציות Cloud Run ו-Cloud Run.

נוצר מחבר של חיבור לרשת (VPC) מאפליקציית serverless והוקצה לו טווח כתובות ה-IP‏ 10.8.0.0/28. לכן, כתובת ה-IP של המקור לכל בקשה שנשלחת מהמחבר היא בטווח הזה.

יש שני משאבים ברשת ה-VPC. לאחד המשאבים יש כתובת IP פנימית 10.0.0.4. למשאב השני יש כתובת IP פנימית 10.1.0.2, והוא נמצא באזור אחר ממחבר החיבור לרשת (VPC) מאפליקציית serverless.

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

כל הבקשות והתשובות בין סביבות ה-serverless לבין המשאבים ברשת ה-VPC עוברות באופן פנימי.

בקשות שנשלחות לכתובות IP חיצוניות עדיין עוברות דרך האינטרנט ולא משתמשות במחבר של חיבור לרשת (VPC) מאפליקציית serverless.

התרשים הבא מציג את ההגדרה הזו.

דוגמה לחיבור לרשת (VPC) מאפליקציית serverless.
דוגמה לחיבור לרשת (VPC) מאפליקציית serverless (לחצו כדי להגדיל).

תמחור

למידע על תמחור של חיבור לרשת (VPC) מאפליקציית serverless, אפשר לעיין בקטע חיבור לרשת (VPC) מאפליקציית serverless בדף התמחור של VPC.

שירותים נתמכים

בטבלה הבאה אפשר לראות לאילו סוגי רשתות אפשר להגיע באמצעות Serverless VPC Access:

שירות קישוריות תמיכה בחיבור לרשת (VPC) מאפליקציית serverless
VPC
VPC משותף
רשתות מדור קודם
רשתות שמחוברות ל-Cloud Interconnect
רשתות שמחוברות ל-Cloud VPN
רשתות שמחוברות לקישור בין רשתות VPC שכנות (peering)

בטבלה הבאה מפורטות סביבות ה-serverless שתומכות בחיבור לרשת (VPC) מאפליקציית serverless:

סביבה ללא שרת (serverless) תמיכה בחיבור לרשת (VPC) מאפליקציית serverless
Cloud Run
מילוי בקשות מסוג Knative*
פונקציות Cloud Run
הסביבה הסטנדרטית של App Engine כל סביבות זמן הריצה, מלבד PHP 5
הסביבה הגמישה של App Engine*

*אם רוצים להשתמש בכתובות IP פנימיות כשמתחברים מ-Knative serving או מהסביבה הגמישה של App Engine, לא צריך להגדיר Serverless VPC Access. רק צריך לוודא שהשירות שלכם נפרס ברשת VPC שיש לה קישוריות למשאבים שאתם רוצים לגשת אליהם.

פרוטוקולי רשת נתמכים

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

פרוטוקול ניתוב רק של בקשות לכתובות IP פרטיות דרך המחבר ניתוב כל התנועה דרך המחבר
TCP
UDP
ICMP התמיכה קיימת רק לכתובות IP חיצוניות

אזורים נתמכים

מחברים של גישה ל-VPC ללא שרת נתמכים בכל אזור שבו יש תמיכה ב-Cloud Run, בפונקציות Cloud Run או בסביבה רגילה של App Engine.

כדי לראות את האזורים הזמינים:

gcloud compute networks vpc-access locations list

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