הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
סביבה היא הקשר של ביצוע זמן הריצה עבור שרתי ה-API הפרוקסי וזרימות משותפות שרוצים לפרוס. כדי שיהיה אפשר לגשת לבדיקה של שרתי proxy של API ושל רכיבי Shared Flow, צריך לפרוס אותם בסביבה אחת או יותר. מידע נוסף על סביבות זמין במאמר מידע על סביבות וקבוצות סביבות.
מגדירים ופורסים סביבות כמו שמתואר בקטעים הבאים. אפשר גם לעיין במאמר בנושא ניהול תיקיות וקבצים במרחב עבודה של Apigee.
הגדרת סביבה
לפני שפורסים סביבה, צריך להגדיר אותה כך שתזהה את שרתי ה-proxy של ה-API ואת התהליכים המשותפים שרוצים לפרוס, ולהגדיר ווים של תהליכים משותפים או שרתי יעד, לפי הצורך.
כדי להגדיר סביבה, יוצרים את הסביבה ועורכים את ההגדרה שמופיעה בטבלה הבאה.
| הגדרות אישיות | תיאור |
|---|---|
מסכות לניפוי באגים (debugmasks.json) |
הגדרת תצורות של מיסוך כדי למסך נתונים ספציפיים בסשנים של מעקב וניפוי באגים. |
פריסות (deployments.json) |
להגדיר את שרתי ה-proxy ל-API ואת התהליכים המשותפים בפריסה. |
Flow hooks (flowhooks.json) |
מצרפים זרימות משותפות לנקודות חיבור של זרימות, כדי שהן יופעלו באותו מקום לכל שרתי ה-proxy של ה-API שנפרסו בסביבה. |
שרתי יעד (targetservers.json) |
כדי לתמוך באיזון עומסים ובמעבר לגיבוי במקרים של כשלים בכמה מופעים של שרתי בק-אנד, צריך להפריד בין נקודות הקצה הקונקרטיות לבין נקודות הקצה של היעד. |
חנויות מרכזיות (keystores.json) |
מוסיפים תמיכה ב-TLS לנקודות הקצה של היעד ולשרתי היעד. |
בנוסף, אם אתם משתמשים בכללי מדיניות שדורשים משאבים, אתם יכולים לנהל משאבים ברמת הסביבה, לפי הצורך.
יצירת סביבה
כדי ליצור סביבה ב-Apigee ב-Cloud Code:
מבצעים אחת מהפעולות הבאות:
מצביעים עם הסמן על התיקייה environments בסביבת העבודה של Apigee ולוחצים על
.
בוחרים באפשרות תצוגה > לוח הפקודות כדי לפתוח את לוח הפקודות, ואז בוחרים באפשרות Cloud Code: יצירת סביבת Apigee.
ייפתח האשף Create environment.
מזינים שם לסביבה ולוחצים על Enter.
הסביבה נוספת לתיקייה environments בקטע Apigee:

מגדירים את הסביבה, כמו שמתואר בקטעים הבאים.
הגדרת מסכות ניפוי באגים (debugmask.json)
Apigee מאפשר להגדיר מסכות כדי להסתיר נתונים ספציפיים בסשנים של מעקב וניפוי באגים. כשנתונים מוסווים, הם מוחלפים בכוכביות בפלט של המעקב. לדוגמה:
<description>**********</description>
מידע נוסף זמין במאמר הסתרת נתונים רגישים.
כדי להגדיר מסכות לניפוי באגים, מעדכנים את הקובץ debugmask.json על ידי עריכה ישירה של הקובץ.
בהמשך מופיעה דוגמה למבנה הבסיסי של הגדרת מסכה בפורמט JSON. מידע נוסף על שדות הגדרת המסכה שמוצגים בדוגמה זמין במאמר DebugMask.
{ "namespaces": { "myco": "https://example.com" }, "requestXPaths": [ "/myco:Greeting/myco:User" ], "responseXPaths": [ "/myco:Greeting/myco:User" ], "faultXPaths": [ "/myco:Greeting/myco:User" ], "requestJSONPaths": [ "$.store.book[].author" ], "responseJSONPaths": [ "$.store.book[].author" ], "faultJSONPaths": [ "$.store.book[*].author" ], "variables": [ "request.header.user-agent", "request.formparam.password" ] }
הגדרת הפריסות (deployments.json)
מגדירים את שרתי ה-proxy של ה-API ואת התהליכים המשותפים שרוצים לכלול בפריסה.
כדי להגדיר את הפריסות, מעדכנים את הקובץ deployments.json באמצעות אשף ההגדרה או על ידי עריכה ישירה של הקובץ.
כדי להגדיר את הפריסות באמצעות אשף ההגדרות:
- ממקמים את הסמן מעל הקובץ deployments.json של הסביבה ולוחצים על
.

- פועלים לפי השלבים באשף ההגדרה כדי לבחור את הפריסות ולאכלס אוטומטית את השדות בקובץ
deployments.json. הקובץdeployments.jsonנפתח בכלי העריכה. - עורכים את ההגדרות לפי הצורך.
- בוחרים באפשרות קובץ > שמירה או לוחצים על ⌘S כדי לשמור את השינויים.
בדוגמה הבאה מוגדרת ה-Deployment (פריסה) כך שתכלול את ה-proxy ל-API helloworld ואת התהליכים המשותפים mysharedflow ו-hw-sharedflow:
{
"proxies" : [
"helloworld"
],
"sharedflows" : [
"mysharedflow",
"hw-sharedflow"
]
}הגדרת חשבונות שירות עם פריסות של שרת proxy וזרימה משותפת
יכול להיות שיהיה צורך לשייך חשבון שירות לפריסה של שרתי proxy של API שמסתמכים על שירות של Google כקצה עורפי. Google Cloud איך משתמשים באימות של Google
כשעורכים את הקובץ deployments.json, אפשר לשייך את ה-proxy ל-API או את הרכיב Shared flow לחשבון שירות Google Cloud . לדוגמה:
{
"name": "proxy-name",
"serviceAccount": "associated-service-account"
}בדוגמה הבאה מוצגת הגדרת פריסה שבה חשבונות שירות משויכים ל-proxy ל-API helloworld ול-shared flow mysharedflow, אבל ה-proxy healthcheck וה-shared flow hw-sharedflow לא משויכים לחשבון שירות:
{
"proxies": [
{
"name": "helloworld",
"serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com"
},
"healthcheck"
],
"sharedflows": [
{
"name": "mysharedflow",
"serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com"
},
"hw-sharedflow"
]
}מידע נוסף על הגדרת Apigee Emulator לבדיקת תכונות אימות של חשבון שירות ב-proxy ל-API.
צירוף תהליכי עבודה משותפים באמצעות ווים של תהליכי עבודה (flowhooks.json)
באמצעות flow hook, אתם מצרפים shared flow כך שהוא יופעל באותו מקום עבור כל ה-API proxy שנפרסו בסביבה ספציפית. כך מקבלים רצף לוגיקה שהוטמע ונפרס בנפרד, ולא מהווה חלק מקוד ההטמעה של שרת proxy ל-API. באופן ספציפי, אפשר לצרף רכיב Shared Flow במיקומים הבאים בתהליך של proxy ל-API:
- לפני שנקודת קצה של proxy ל-API מופעלת (
PreProxyFlowHook) - אחרי שנקודת הקצה של ה-proxy ל-API מופעלת ולפני שהתגובה נשלחת ללקוח (
PostProxyFlowHook) - לפני שנקודת קצה של יעד מופעלת (
PreTargetFlowHook) - אחרי שהתשובה הרצויה מופעלת (
PostTargetFlowHook)
מידע נוסף על ווים של תהליכים זמין במאמר צירוף תהליכים משותפים באמצעות ווים של תהליכים.
כדי לצרף תהליכים משותפים באמצעות ווים של תהליכים, צריך לעדכן את הקובץ flowhooks.json באמצעות אשף ההגדרה או על ידי עריכה ישירה של הקובץ.
כדי להגדיר את ה-hooks של התהליך באמצעות אשף ההגדרה:
- מציבים את הסמן מעל הקובץ flowhooks.json של הסביבה ולוחצים על
. - בוחרים את הזרימות המשותפות לצירוף במיקומים ספציפיים בזרימת ה-proxy ל-API, והשדות בקובץ
flowhooks.jsonיאוכלסו אוטומטית. הקובץflowhooks.jsonנפתח בכלי העריכה. - עורכים את ההגדרות לפי הצורך.
- בוחרים באפשרות קובץ > שמירה או לוחצים על ⌘S כדי לשמור את השינויים.
בדוגמה הבאה, המדיניות mysharedflow מצורפת ל-PreProxyFlowHook כדי שהיא תופעל לפני הפעלת נקודת קצה של שרת proxy ל-API:
{
"PreProxyFlowHook": {
"continueOnError": true,
"sharedFlow": "mysharedflow",
"description": "Shared enforced before a proxy endpoint executes."
}
}הגדרת שרתי היעד (targetservers.json)
שרתי יעד (TargetServers) מפרידים בין כתובות URL קונקרטיות של נקודות קצה לבין הגדרות של נקודת קצה של יעד (TargetEndpoint). במקום להגדיר כתובת URL קונקרטית בהגדרה, אפשר להגדיר שרת יעד אחד או יותר עם שם. לאחר מכן, מציינים הפניה לכל TargetServer לפי שם ב-TargetEndpoint HTTPConnection.
מידע נוסף על שרתי יעד זמין בנושאים הבאים:
- איזון עומסים בין שרתים עורפיים
- אנטי-תבנית: איזון עומסים עם שרת יעד יחיד שבו הערך של MaxFailures מוגדר כערך שאינו אפס
כדי להגדיר שרתי יעד, מעדכנים את הקובץ targetservers.json באמצעות אשף ההגדרה או על ידי עריכה ישירה של הקובץ.
תיאור של השדות בקובץ targetservers.json מופיע במאמר משאב: TargetServer.
כדי להגדיר את שרתי היעד באמצעות אשף ההגדרות:
- ממקמים את הסמן מעל הקובץ targetservers.json של הסביבה ולוחצים על
. - פועלים לפי השלבים באשף ההגדרה כדי להגדיר את שרת היעד ולאכלס אוטומטית את השדות בקובץ
targetservers.json. הקובץtargetservers.jsonנפתח בכלי העריכה. - עורכים את ההגדרות לפי הצורך.
- בוחרים באפשרות קובץ > שמירה או לוחצים על ⌘S כדי לשמור את השינויים.
בדוגמה הבאה מוסיפים שרת יעד חדש לסביבה:
[
{
"enabled": true,
"name": "mytargetserver",
"description": "My first target server",
"host": "localhost",
"port": 80
}
]בדוגמה הבאה מוגדר שרת יעד עם TLS הדדי באמצעות מאגרי מפתחות:
[
{
"name": "mtlsserver",
"host": "mytargetserver.mydomain",
"port": 443,
"enabled": true,
"protocol": "HTTP",
"tlsInfo": {
"enabled": true,
"clientAuthEnabled": true,
"keyStore": "mykeystore",
"keyAlias": "mykeyandcert",
"trustStore": "mytruststore"
}
}
]הגדרת מאגרי המפתחות (keystores.json)
מאגרי מפתחות מגדירים מאגרי אישורים לאבטחה שמשמשים להצפנת TLS בנקודות קצה ובשרתי יעד.
מידע נוסף על הגדרת TLS זמין במאמר אפשרויות להגדרת TLS.
כדי להגדיר מאגרי מפתחות:
- פותחים את הקובץ
keystores.jsonשל הסביבה בעורך. בקובץ יש שני רכיבים עיקריים-
stores– מפה של שם מאגר המפתחות שנוסף והכינויים. -
references– מפה של כל שמות ההפניות למאגר המפתחות ושם מאגר המפתחות המשויך.
-
- עורכים את ההגדרות לפי הצורך.
- בוחרים באפשרות קובץ > שמירה או לוחצים על ⌘S כדי לשמור את השינויים.
בדוגמה הבאה מוצג מאגר מפתחות mykeystore עם שני כינויים, mycert-alias ו-mykeycert-alias:
{
"stores": {
"mykeystore": {
"my-cert-alias": {
"cert": "/Users/jdoe/testkeys/cert1.pem"
},
"my-keycert-alias": {
"key": "/Users/jdoe/testkeys/key1.pem",
"cert": "/Users/jdoe/testkeys/cert1.pem"
}
}
}
}פריסת סביבה
פורסים את שרתי ה-API proxy ואת הרכיבים המשותפים שהוגדרו לסביבה, כדי שאפשר יהיה לגשת אליהם לצורך בדיקה.
כדי לפרוס סביבה:
- בקטע Apigee, מציבים את הסמן מעל תיקיית הסביבה שרוצים לפרוס.
- לחץ על
.

- אם פועלים כמה מאגרי תגים של Apigee Emulator, בוחרים את מאגר התגים שרוצים לפרוס בו את הסביבה.
- בוחרים את חבילת הבדיקה שרוצים לייצא עם הפריסה או בוחרים באפשרות פריסה ללא חבילת בדיקה.

אפשר לייצא משאבי בדיקה מאוחר יותר, כמו שמתואר במאמר ייצוא משאבי בדיקה ל-Apigee Emulator.
הסביבה נפרסת ומוצגת הודעה על הצלחה בכרטיסייה פלט.
האפליקציות שנפרסו מוצגות ב-Apigee Emulator:
