מזהה אזור
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 :
השירותים של 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 ששולחת תעבורה פרטית לנקודות קצה אחרות של אפליקציות, צריך לצרף את הגרסה למחבר Serverless VPC Access ששייך לאחת מהרשתות של הפרויקט, ולא לרשת VPC משותפת. Google Cloud
מוודאים שהגישה הפרטית ל-Google מופעלת ברשת המשנה שבה נעשה שימוש במחבר של Serverless VPC Access.
מגדירים אחת מהאפשרויות הבאות:
כדי להגדיר את בקשות הלקוח לשימוש בטווח כתובות ה-IP
private.googleapis.com, צריך להוסיף רשומת DNS לשם המארח של היעד. פועלים לפי ההוראות שבקטע הגדרת DNS כדי להוסיף את שם המארח של ה-DNS, אבל מקפידים להגדיר את האזור הפרטי ל-appspot.comולא ל-googleapis.com. חשוב גם לוודא שהתנועה מופנית לכתובת של אפליקציית היעדappspot.comולא לדומיין מותאם אישית. אפשר להגיע לאפליקציה רק בטווח כתובות ה-IPprivate.googleapis.comבאמצעות הדומייןappspot.com.
תקשורת בין שירותים בפרויקטים שונים
אפשר להגדיר גישה פרטית בין פרויקטים כשמפעילים אפליקציות בפרויקטים ששייכים לרשת VPC משותפת, שהוגדרה להפעלת אפליקציה שפועלת בפרויקט המארח של רשת ה-VPC המשותפת. Google Cloud
כדי להשתמש בתבנית הזו, פועלים לפי השלבים הקודמים בנושא תקשורת בין שירותים באותו פרויקט. בסביבה הרגילה, מצרפים כל גרסת לקוח למחבר Serverless VPC Access ברשת ה-VPC המשותפת.
ב-App Engine אי אפשר להשתמש בשיטות אחרות לתקשורת בין פרויקטים באמצעות גישה פנימית.
נתיבים שמורים של כתובות URL
אי אפשר להשתמש בנתיבי כתובות ה-URL הבאים:
- נתיבים שמסתיימים ב-
/eventlog - נתיבים שמתחילים ב-
/_ah/ - חלק מהנתיבים מסתיימים ב-
z