שליחת תעבורה של 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 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
המאמרים הבאים
- הוראות להגדרת חיבור לרשת (VPC) מאפליקציית serverless מופיעות במאמר הגדרת חיבור לרשת (VPC) מאפליקציית serverless.