הגדרה ופריסה של סביבות

הדף הזה רלוונטי ל-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:

  1. מבצעים אחת מהפעולות הבאות:

    • מצביעים עם הסמן על התיקייה environments בסביבת העבודה של Apigee ולוחצים על יצירת סמל לסביבה.

      הסימן + מוצג כשמציבים את הסמן מעל התיקייה environments

    • בוחרים באפשרות תצוגה > לוח הפקודות כדי לפתוח את לוח הפקודות, ואז בוחרים באפשרות Cloud Code: יצירת סביבת Apigee.

    ייפתח האשף Create environment.

  2. מזינים שם לסביבה ולוחצים על Enter.

הסביבה נוספת לתיקייה environments בקטע Apigee:

תיקיית Environments עם הקבצים deployments.json,‏ flowhooks.json ו-targetservers.json

מגדירים את הסביבה, כמו שמתואר בקטעים הבאים.

הגדרת מסכות ניפוי באגים (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 באמצעות אשף ההגדרה או על ידי עריכה ישירה של הקובץ.

כדי להגדיר את הפריסות באמצעות אשף ההגדרות:

  1. ממקמים את הסמן מעל הקובץ deployments.json של הסביבה ולוחצים על סמל של אשף להגדרת פריסה.

    סמל ההגדרות מוצג כשמציבים את הסמן מעל התיקייה deployments.json

  2. פועלים לפי השלבים באשף ההגדרה כדי לבחור את הפריסות ולאכלס אוטומטית את השדות בקובץ deployments.json. הקובץ deployments.json נפתח בכלי העריכה.
  3. עורכים את ההגדרות לפי הצורך.
  4. בוחרים באפשרות קובץ > שמירה או לוחצים על ‎⌘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 של התהליך באמצעות אשף ההגדרה:

  1. מציבים את הסמן מעל הקובץ flowhooks.json של הסביבה ולוחצים על סמל של אשף להגדרת וו של תהליך.
  2. בוחרים את הזרימות המשותפות לצירוף במיקומים ספציפיים בזרימת ה-proxy ל-API, והשדות בקובץ flowhooks.json יאוכלסו אוטומטית. הקובץ flowhooks.json נפתח בכלי העריכה.
  3. עורכים את ההגדרות לפי הצורך.
  4. בוחרים באפשרות קובץ > שמירה או לוחצים על ‎⌘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.

מידע נוסף על שרתי יעד זמין בנושאים הבאים:

כדי להגדיר שרתי יעד, מעדכנים את הקובץ targetservers.json באמצעות אשף ההגדרה או על ידי עריכה ישירה של הקובץ. תיאור של השדות בקובץ targetservers.json מופיע במאמר משאב: TargetServer.

כדי להגדיר את שרתי היעד באמצעות אשף ההגדרות:

  1. ממקמים את הסמן מעל הקובץ targetservers.json של הסביבה ולוחצים על סמל של אשף להגדרת שרתי היעד.
  2. פועלים לפי השלבים באשף ההגדרה כדי להגדיר את שרת היעד ולאכלס אוטומטית את השדות בקובץ targetservers.json. הקובץ targetservers.json נפתח בכלי העריכה.
  3. עורכים את ההגדרות לפי הצורך.
  4. בוחרים באפשרות קובץ > שמירה או לוחצים על ‎⌘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.

כדי להגדיר מאגרי מפתחות:

  1. פותחים את הקובץ keystores.json של הסביבה בעורך. בקובץ יש שני רכיבים עיקריים
    • stores – מפה של שם מאגר המפתחות שנוסף והכינויים.
    • references – מפה של כל שמות ההפניות למאגר המפתחות ושם מאגר המפתחות המשויך.
  2. עורכים את ההגדרות לפי הצורך.
  3. בוחרים באפשרות קובץ > שמירה או לוחצים על ‎⌘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 ואת הרכיבים המשותפים שהוגדרו לסביבה, כדי שאפשר יהיה לגשת אליהם לצורך בדיקה.

כדי לפרוס סביבה:

  1. בקטע Apigee, מציבים את הסמן מעל תיקיית הסביבה שרוצים לפרוס.
  2. לחץ על סמל הפריסה של סביבת Apigee.

    סמל הפריסה מוצג כשמציבים את הסמן מעל תיקייה של סביבת פיתוח

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

    הצעה לייצא חבילת בדיקה

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

הסביבה נפרסת ומוצגת הודעה על הצלחה בכרטיסייה פלט.

האפליקציות שנפרסו מוצגות ב-Apigee Emulator:

Apigee Emulator showing deployed helloworld application and active test resources