תקשורת בין השירותים

מזהה אזור

REGION_ID הוא קוד מקוצר ש-Google מקצה על סמך האזור שבוחרים כשיוצרים את האפליקציה. הקוד לא תואם למדינה או למחוז, למרות שחלק ממזהי האזורים עשויים להיראות דומים לקודים נפוצים של מדינות ומחוזות. באפליקציות שנוצרו אחרי פברואר 2020, המחרוזת REGION_ID.r כלולה בכתובות ה-URL של App Engine. באפליקציות קיימות שנוצרו לפני התאריך הזה, מזהה האזור הוא אופציונלי בכתובת ה-URL.

מידע נוסף על מזהי אזורים

אתם יכולים להשתמש בשיטות שונות כדי לתקשר בין השירותים של App Engine או עם שירותים אחרים, כולל Google Cloud שירותים ואפליקציות חיצוניות.

הדרך הכי פשוטה לתקשר עם שירות App Engine היא לשלוח בקשות HTTP ממוקדות, שבהן כתובת ה-URL כוללת את השם או המזהה של משאב. לדוגמה, אפשר לכלול את המזהה של שירות או גרסה שרוצים לטרגט, בנוסף למזהה הפרויקט המתאים Google Cloud :


https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

שימו לב שהאורך המשולב של VERSION-dot-SERVICE-dot-PROJECT_ID, כאשר VERSION הוא שם הגרסה, SERVICE הוא שם השירות ו-PROJECT_ID הוא מזהה הפרויקט, לא יכול להיות ארוך מ-63 תווים, והוא לא יכול להתחיל או להסתיים במקף. אם האורך הכולל גדול מ-63 תווים, יכול להיות שתופיע השגיאה DNS address could not be found.

מידע נוסף על בקשות ב-App Engine:

השירותים של App Engine יכולים גם לתקשר באמצעות Pub/Sub, שמספק העברת הודעות אסינכרונית אמינה בין תהליכים, כולל App Engine. התהליכים האלה יכולים להיות מופעים נפרדים של האפליקציה, השירותים או אפילו אפליקציות חיצוניות.

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

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

בנוסף, שירותים בסביבה הרגילה שנמצאים באותו פרויקט שלGoogle Cloud יכולים גם להשתמש באחד מממשקי ה-API של App Engine למשימות הבאות:

  • שיתוף של מופע memcache יחיד.
  • שיתוף פעולה על ידי הקצאת עבודה בין שירותים באמצעות תורי משימות.

תקשורת פרטית

תקשורת בין שירותים באותו פרויקט

אתם יכולים לאפשר לשירות רגיל של App Engine לתקשר עם שירות אחר של App Engine באותו פרויקט בלי לחשוף את שירות היעד לאינטרנט הציבורי.

כדי לאפשר תקשורת בין שירותים באותו פרויקט:

  1. כדי להגדיר את אמצעי הבקרה על תעבורת הנתונים הנכנסת, משנים את ההגדרות של תעבורת הנתונים הנכנסת של שירות היעד כך שתתאפשר רק תעבורה 'פנימית'.

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

    Google Cloud
  2. ניתוב התנועה דרך מחבר של חיבור לרשת (VPC) מאפליקציית serverless:

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

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

    3. מגדירים אחת מהאפשרויות הבאות:

      • כדי להגדיר את בקשות הלקוח לשימוש בטווח כתובות ה-IP‏ private.googleapis.com, צריך להוסיף רשומת DNS לשם המארח של היעד. פועלים לפי ההוראות שבקטע הגדרת DNS כדי להוסיף את שם המארח של ה-DNS, אבל מקפידים להגדיר את האזור הפרטי ל-appspot.com ולא ל-googleapis.com. חשוב גם לוודא שהתנועה מופנית לכתובת של אפליקציית היעד appspot.com ולא לדומיין מותאם אישית. אפשר להגיע לאפליקציה רק בטווח כתובות ה-IP‏ private.googleapis.com באמצעות הדומיין appspot.com.

      • מגדירים את אפליקציית הלקוח כך שתשלח את all-traffic דרך מחבר Serverless VPC Access, במקום להגדיר את הבקשות לשימוש בטווח כתובות ה-IP של private.googleapis.com.

תקשורת בין שירותים בפרויקטים שונים

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

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

ב-App Engine אי אפשר להשתמש בשיטות אחרות לתקשורת בין פרויקטים באמצעות גישה פנימית.

נתיבים שמורים של כתובות URL

אי אפשר להשתמש בנתיבי כתובות ה-URL הבאים:

  • נתיבים שמסתיימים ב-/eventlog
  • נתיבים שמתחילים ב-/_ah/
  • חלק מהנתיבים מסתיימים ב-z