מזהה אזור
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:
- איך בקשות מטופלות: כאן מוסבר איך האפליקציה מקבלת בקשות ושולחת תגובות.
- איך הבקשות מנותבות: מידע על טירגוט השירותים, כולל איך מגדירים כתובות URL מסוג HTTPS.
- איך מאשרים את הבקשות בין השירותים שלכם לבין שירותים אחרים שלGoogle Cloud :
- איך מספקים פרטי כניסה ל-Application Default Credentials
- שימוש בחשבונות שירות בניהול המשתמשים
השירותים של App Engine יכולים גם לתקשר באמצעות Pub/Sub, שמספק העברת הודעות אסינכרונית אמינה בין תהליכים, כולל App Engine. התהליכים האלה יכולים להיות מופעים נפרדים של האפליקציה, השירותים או אפילו אפליקציות חיצוניות.
כדי לשתף נתונים בין מסדי נתונים לבין אפליקציית App Engine או אפליקציה חיצונית אחרת, אפשר לעיין במאמר בנושא הסבר על אחסון נתונים וקבצים.
אם אתם משתמשים בחבילת השירותים מדור קודם, אתם יכולים גם להעביר בקשות בין שירותים וממשירות לנקודות קצה חיצוניות באמצעות URL Fetch API.
בנוסף, שירותים בסביבה הרגילה שנמצאים באותו פרויקט שלGoogle Cloud יכולים גם להשתמש באחד מממשקי ה-API של App Engine למשימות הבאות:
- שיתוף של מופע memcache יחיד.
- שיתוף פעולה על ידי הקצאת עבודה בין שירותים באמצעות תורי משימות.
תקשורת פרטית
תקשורת בין שירותים באותו פרויקט
אתם יכולים לאפשר לשירות רגיל של App Engine לתקשר עם שירות אחר של App Engine באותו פרויקט בלי לחשוף את שירות היעד לאינטרנט הציבורי.
כדי לאפשר תקשורת בין שירותים באותו פרויקט:
כדי להגדיר את אמצעי הבקרה על תעבורת הנתונים הנכנסת, משנים את ההגדרות של תעבורת הנתונים הנכנסת של שירות היעד כך שתתאפשר רק תעבורה 'פנימית'.
ההגדרה 'פנימי' מאפשרת בקשות רק מרשתות ה-VPC של הפרויקט. זה כולל משאבי App Engine מאפליקציית לקוח באותה רשת, כשיוצאת תעבורת נתונים שמנותבת דרך מחבר. כל התנועה האחרת מהאינטרנט או מ Google Cloud פרויקטים אחרים, כולל שירותים אחרים של App Engine, נחסמת.
Google Cloudניתוב התנועה דרך מחבר של חיבור לרשת (VPC) מאפליקציית serverless:
לכל גרסת App Engine ששולחת תעבורה פרטית לנקודות קצה אחרות של אפליקציות, צריך לצרף את הגרסה למחבר של חיבור לרשת (VPC) מאפליקציית serverless ששייך לאחת מהרשתות של הפרויקט, ולא לרשת VPC משותפת. Google Cloud
מוודאים שמופעלת גישה פרטית ל-Google ברשת המשנה שבה נעשה שימוש במחבר של חיבור לרשת (VPC) מאפליקציית serverless.
מגדירים אחת מהאפשרויות הבאות:
כדי להגדיר את בקשות הלקוח לשימוש בטווח כתובות ה-IP
private.googleapis.com, צריך להוסיף רשומת DNS לשם המארח של היעד. פועלים לפי ההוראות שבקטע הגדרת DNS כדי להוסיף את שם המארח של ה-DNS, אבל מקפידים להגדיר את האזור הפרטי ל-appspot.comולא ל-googleapis.com. חשוב גם לוודא שהתנועה מופנית לכתובת של אפליקציית היעדappspot.comולא לדומיין מותאם אישית. אפשר להגיע לאפליקציה רק בטווח כתובות ה-IPprivate.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