הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
סביבה היא הקשר של זמן ריצה להרצת פרוקסי של API ורכיבי Shared Flow שרוצים לפרוס. צריך לפרוס את הפרוקסי של ה-API ואת רכיבי ה-Shared Flow בסביבה אחת או יותר כדי שאפשר יהיה לגשת אליהם לצורך בדיקה. מידע נוסף על סביבות זמין במאמר מידע על סביבות וקבוצות סביבות.
מגדירים ופורסים סביבות כמו שמתואר בקטעים הבאים. אפשר גם לעיין במאמר בנושא ניהול תיקיות וקבצים בסביבת עבודה של Apigee.
הגדרת סביבה
לפני פריסת סביבה, צריך להגדיר אותה כך שתזהה את שרתי ה-proxy של ה-API ואת הרכיבים המשותפים שרוצים לפרוס, ולהגדיר את נקודות החיבור של הרכיבים המשותפים או את שרתי היעד, לפי הצורך.
כדי להגדיר סביבה, יוצרים את הסביבה ועורכים את ההגדרה שמופיעה בטבלה הבאה.
| הגדרות אישיות | תיאור |
|---|---|
מסכות לניפוי באגים (debugmasks.json) |
הגדרת תצורות של מסכות כדי להסתיר נתונים ספציפיים בסשנים של מעקב וניפוי באגים. |
פריסות (deployments.json) |
הגדרת שרתי proxy ל-API ותהליכים משותפים בפריסה. |
Flow hooks (flowhooks.json) |
מצרפים זרימות משותפות לנקודות חיבור של זרימות כדי שהן יופעלו באותו מקום לכל ה-API proxies שנפרסו בסביבה. |
שרתי יעד (targetservers.json) |
כדי לתמוך באיזון עומסים ובמעבר לגיבוי במקרים של כשלים בכמה מופעים של שרתים בעורף, צריך להפריד בין נקודות הקצה הקונקרטיות לבין נקודות הקצה של היעד. |
חנויות מרכזיות (keystores.json) |
מוסיפים תמיכה ב-TLS לנקודות הקצה של היעד ולשרתי היעד. |
בנוסף, אם אתם משתמשים בכללי מדיניות שדורשים משאבים, אתם יכולים לנהל משאבים ברמת הסביבה, לפי הצורך.
יצירת סביבה
כדי ליצור סביבה ב-Apigee ב-Cloud Code:
מבצעים אחת מהפעולות הבאות:
מציבים את הסמן מעל התיקייה environments בסביבת העבודה של Apigee ולוחצים על
.
בוחרים באפשרות תצוגה > לוח פקודות כדי לפתוח את לוח הפקודות ובוחרים באפשרות Cloud Code: Create Apigee environment (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 לבדיקת תכונות אימות של חשבון שירות ב-API Proxy.
צירוף תהליכי עבודה משותפים באמצעות ווים של תהליכי עבודה (flowhooks.json)
באמצעות flow hook, אתם מצרפים shared flow כך שהוא יופעל באותו מקום עבור כל ה-API proxy שנפרסו בסביבה ספציפית. כך מקבלים רצף לוגיקה שהוטמע ונפרס בנפרד, ולא מהווה חלק מקוד ההטמעה של שרת proxy ל-API. באופן ספציפי, אפשר לצרף רכיב SharedFlow במיקומים הבאים בתהליך של proxy ל-API:
- לפני שנקודת קצה של proxy ל-API מופעלת (
PreProxyFlowHook) - אחרי שנקודת הקצה של ה-proxy ל-API מופעלת ולפני שהתגובה נשלחת ללקוח (
PostProxyFlowHook) - לפני שנקודת קצה של יעד מופעלת (
PreTargetFlowHook) - אחרי שהתשובה הרצויה מופעלת (
PostTargetFlowHook)
מידע נוסף על ווים של תהליכים זמין במאמר צירוף תהליכים משותפים באמצעות ווים של תהליכים.
כדי לצרף תהליכים משותפים באמצעות ווים של תהליכים, צריך לעדכן את הקובץ flowhooks.json באמצעות אשף ההגדרה או על ידי עריכה ישירה של הקובץ.
כדי להגדיר את ה-hooks של התהליך באמצעות אשף ההגדרה:
- מעבירים את הסמן מעל הקובץ flowhooks.json של הסביבה ולוחצים על
. - בוחרים את הזרימות המשותפות לצירוף במיקומים ספציפיים בזרימת ה-proxy ל-API, ומאכלסים אוטומטית שדות בקובץ
flowhooks.json. הקובץflowhooks.jsonנפתח בכלי העריכה. - עורכים את ההגדרות לפי הצורך.
- בוחרים באפשרות קובץ > שמירה או לוחצים על ⌘S כדי לשמור את השינויים.
בדוגמה הבאה, התג mysharedflow מצורף לתג PreProxyFlowHook כדי שהוא יופעל לפני הרצה של נקודת קצה (endpoint) של proxy ל-API:
{
"PreProxyFlowHook": {
"continueOnError": true,
"sharedFlow": "mysharedflow",
"description": "Shared enforced before a proxy endpoint executes."
}
}הגדרת שרתי היעד (targetservers.json)
שרתי יעד (TargetServers) מפרידים בין כתובות URL קונקרטיות של נקודות קצה לבין הגדרות של נקודת קצה של יעד (TargetEndpoint). במקום להגדיר כתובת URL קונקרטית בהגדרה, אפשר להגדיר שרת יעד אחד או יותר עם שם. לאחר מכן, אפשר להפנות לכל שרת יעד לפי שם ב-HTTPConnection של TargetEndpoint.
מידע נוסף על שרתי יעד זמין בנושאים הבאים:
- איזון עומסים בין שרתים עורפיים
- דפוס אנטי: איזון עומסים עם שרת יעד יחיד שבו הערך של MaxFailures מוגדר כערך שאינו אפס
כדי להגדיר שרתי יעד, מעדכנים את הקובץ targetservers.json באמצעות אשף ההגדרות או על ידי עריכה ישירה של הקובץ. תיאור של השדות בקובץ targetservers.json מופיע במאמר Resource: 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"
}
}
}
}פריסת סביבה
פורסים את שרתי ה-proxy של ה-API ואת הרכיבים המשותפים שהוגדרו לסביבה, כדי שאפשר יהיה לגשת אליהם לצורך בדיקה.
כדי לפרוס סביבה:
- בקטע Apigee, מציבים את הסמן מעל התיקייה של הסביבה שרוצים לפרוס.
- לחץ על
.

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

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