יצירה ופריסה של שרת proxy חדש של API

עכשיו, אחרי שהגדרתם את Google Cloud ואת ממשק המשתמש ההיברידי, והתקנתם והגדרתם את זמן הריצה, אתם יכולים לראות איך הכול עובד ביחד.

בקטע הזה מוסבר איך:

  1. יצירת proxy חדש ל-API בממשק המשתמש של Apigee באמצעות אשף ה-API Proxy
  2. פריסת ה-proxy החדש באשכול באמצעות ממשק המשתמש

1. יצירת פרוקסי חדש של API באמצעות ממשק המשתמש ההיברידי

בקטע הזה מוסבר איך ליצור שרת proxy חדש ל-API בממשק המשתמש באמצעות האשף ליצירת שרתי proxy ל-API.

כדי ליצור proxy פשוט ל-API באמצעות האשף ליצירת proxy ל-API:

  1. פותחים את ממשק המשתמש של Apigee בדפדפן.
  2. בתצוגה הראשית, בוחרים באפשרות פיתוח > שרתי proxy של API.
  3. מהרשימה הנפתחת סביבה, בוחרים את הסביבה שבה רוצים ליצור proxy ל-API חדש. בקטע הזה מניחים שהשם של הסביבה הוא test. יצרתם לפחות סביבה אחת בשלב 5: הוספת סביבה.

    בממשק המשתמש ההיברידי מוצגת רשימה של שרתי proxy של API עבור הסביבה הזו. אם עדיין לא יצרתם שרתי proxy, הרשימה תהיה ריקה.

  4. לוחצים על +Proxy (שרת proxy) בפינה השמאלית העליונה. האשף API Proxy מתחיל.
  5. בוחרים באפשרות Reverse proxy (הנפוצה ביותר) ולוחצים על הבא.

    מוצגת התצוגה Proxy details.

  6. מגדירים את ה-proxy עם ההגדרות הבאות:
    • שם שרת ה-Proxy: מזינים myproxy. השלבים הבאים בקטע הזה מניחים שמדובר במזהה של ה-proxy.
    • נתיב בסיס של שרת Proxy: מוגדר אוטומטית ל-‎/myproxy. ‫Proxy Base Path הוא חלק מכתובת ה-URL שמשמשת לשליחת בקשות ל-API. ‫Edge משתמש בכתובת ה-URL כדי להתאים ולנתב בקשות נכנסות ל-proxy ל-API המתאים.
    • (אופציונלי) תיאור: מזינים תיאור ל-proxy ל-API החדש, למשל Testing Apigee hybrid with a simple proxy.
    • יעד (API קיים): מזינים את הכתובת https://mocktarget.apigee.net. ההגדרה הזו מגדירה את כתובת היעד שאליה Apigee שולח בקשה ל-proxy ל-API. שירות mocktarget מתארח ב-Apigee ומחזיר נתונים פשוטים. לא נדרש מפתח API או טוקן גישה.

    הפרטים של שרת ה-API שלכם צריכים להיראות כך:

  7. לוחצים על הבא.
  8. במסך מדיניות, בוחרים באפשרות העברה (ללא הרשאה) כאפשרות האבטחה.
  9. לוחצים על הבא.
  10. במסך סיכום, לוחצים על יצירה.

    ה-Proxy נוצר על ידי Hybrid (לפעמים הוא נקרא חבילת ה-Proxy):

  11. לוחצים על מעבר לרשימת שרתי ה-Proxy.

    ב-Hybrid מוצג התצוגה Proxies, שבה מופיעה רשימה של שרתי proxy ל-API. הפרוקסי החדש צריך להופיע בראש הרשימה, עם אינדיקטור סטטוס אפור, כלומר הוא עדיין לא נפרס.

2. פריסת ה-proxy באשכול באמצעות ממשק המשתמש ההיברידי

אחרי שיוצרים שרת proxy חדש, צריך לפרוס אותו כדי שאפשר יהיה לנסות אותו. בקטע הזה מוסבר איך פורסים את ה-proxy החדש באמצעות ממשק המשתמש ההיברידי.

כדי לפרוס proxy ל-API בממשק המשתמש ההיברידי:

  1. בממשק המשתמש ההיברידי, בוחרים באפשרות Develop > API Proxies.

    מוודאים שבחרתם בסביבת הבדיקה.

    ממשק המשתמש מציג את השרת החדש ברשימת השרתים:

  2. לוחצים על ה-proxy ‏myproxy.

    בממשק המשתמש מוצגת הכרטיסייה API Proxies Overview (סקירה כללית של שרתי proxy ל-API) של ה-proxy הזה.

    שימו לב שבעמודה Revision (גרסה) בקטע Deployments (פריסות) מופיע הערך Not deployed (לא נפרסה).

  3. בעמודה Revision (גרסה), מרחיבים את התפריט הנפתח כדי לבחור את הגרסה שרוצים לפרוס.

    ברשימה הנפתחת מוצגים רק הערכים '1' ו-'ביטול הפריסה'.

  4. מהרשימה הנפתחת, בוחרים באפשרות '1' – הגרסה שרוצים לפרוס.

    בממשק המשתמש תתבקשו לאשר את הפריסה:

  5. לוחצים על פריסה.

    ממשק המשתמש מתחיל בתהליך הפריסה של גרסה 1 של ה-proxy החדש לאשכול.

    שימו לב: הפריסה היא לא תהליך מיידי. מודל הפריסה 'בסופו של דבר עקבי' של Hybrid אומר שפריסה חדשה תופעל באשכול על פני תקופה קצרה ולא באופן מיידי.

יש כמה דרכים לבדוק את סטטוס הפריסה של proxy ל-API בממשק המשתמש, אבל בשני השלבים הבאים מוסבר איך לקרוא ל-proxy ל-API שפרסתם זה עתה ואיך לבדוק את סטטוס הפריסה באמצעות קריאה ל-Apigee APIs.

3. קריאה ל-proxy ל-API

בהתאם לאפשרות לעדכן את רשומת ה-DNS של שם המארח שבו השתמשתם כדי ליצור את קבוצת הסביבות, צריך לפעול לפי השלבים הבאים.

אם אין לך אפשרות לעדכן את ה-DNS של שם המארח

אם שם המארח של קבוצת הסביבות לא רשום, או אם אין לכם אפשרות לעדכן את רשומת ה-DNS שלו, תוכלו לפעול לפי השלבים הבאים. בשלבים האלה מקבלים את כתובת ה-IP של הכניסה ומשתמשים בה ישירות בקריאת cURL עם הדגל --resolve:

  1. מייצאים את כתובת ה-IP של תעבורת הנתונים הנכנסת (ingress):
    export INGRESS_IP=$(kubectl -n istio-system get service \
      istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
  2. מייצאים את מספר היציאה המאובטח של התנועה הנכנסת:
    export SECURE_INGRESS_PORT=$(kubectl -n istio-system get \
      service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].port}')
  3. מייצאים את הכינוי של המארח של קבוצת הסביבות למשתנה:
    export HOSTALIAS=your_host_alias
  4. קוראים ל-proxy ל-API. הדגל --resolve ב-cURL מאפשר לציין ישירות את כתובת ה-IP של התנועה הנכנסת:
    curl  -H Host:$HOSTALIAS --resolve \
      $HOSTALIAS:$SECURE_INGRESS_PORT:$INGRESS_IP  \
      https://$HOSTALIAS:$SECURE_INGRESS_PORT/myproxy -k

אם יש לכם אפשרות לעדכן את ה-DNS של שם המארח

אם שם המארח שבו השתמשתם כשיצרתם את קבוצת הסביבות רשום ואתם יכולים לעדכן את רשומת ה-DNS שלו כך שתפנה לכתובת ה-IP החיצונית של הכניסה, אתם יכולים לפעול לפי השלבים הבאים:

  1. מייצאים את כתובת ה-IP החיצונית של תעבורת הנתונים הנכנסת למשתנה:
    export INGRESS_IP=$(kubectl -n istio-system get service \
      istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
  2. מוודאים שהמשתנה מכיל את כתובת ה-IP. לדוגמה:
    echo $INGRESS_IP
    34.118.196.202
  3. משתמשים בכתובת ה-IP הזו כדי לעדכן את רשומת ה-DNS (בדרך כלל רשומת A או רשומת CNAME) אצל רשם הדומיין או ספק ה-DNS. יכול להיות שתצטרכו להמתין עד שעה עד שהשינוי ברשומת ה-DNS יתעדכן.
  4. מייצאים את הכינוי של המארח של קבוצת הסביבות למשתנה:
    export HOSTALIAS=your_host_alias
  5. קוראים ל-proxy ל-API:
    curl -k https://$HOSTALIAS/myproxy

    לדוגמה:

    curl -v -k https://apitest.acme.com/myproxy

    אם הקריאה תצליח, יוצג הפלט הבא:

    Hello, Guest!