הדף הזה מתייחס ל-Apigee, אבל לא ל-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
במאמר הזה מוסבר איך להתקין ולהגדיר ארגון להערכה של Apigee משורת הפקודה, בלי שימוש ב-VPC peering. ארגוני הערכה יפוגו אחרי 60 יום ועשויות לחול עליהם הגבלות אחרות. אפשר לעיין גם במאמר השוואה בין ארגונים בתקופת ניסיון לבין ארגונים בתשלום.
מגבלות
לאפשרות ההתקנה של שיוך בין רשתות שלא מבוססות על VPC שמתוארת במסמך הזה יש כמה מגבלות:
- אין תמיכה ב- VPC Service Controls.
רשימה מלאה של התכונות וגישות הרשת שנתמכות ושלא נתמכות עבור שיוך (peering) שאינו VPC מופיעה במאמר איך בוחרים אפשרות רשת.
סיכום השלבים
אלה השלבים להקצאת הרשאות:
- שלב 1: הגדרת משתני סביבה:
מגדירים את
gcloudומשתני סביבה. ה-CLI של Google Cloud מנהל את האימות, את ההגדרה המקומית, את תהליך העבודה של המפתחים ואת האינטראקציות עם ממשקי ה-API של Google Cloud. - שלב 2: הפעלת ממשקי API: כדי להשתמש ב-Apigee, צריך להפעיל כמה ממשקי Google Cloud API.
- שלב 3: יוצרים ארגון: ארגון Apigee (שנקרא לפעמים org) הוא מאגר ברמה העליונה ב-Apigee. הוא כולל את כל הסביבות וקבוצות הסביבות, המשתמשים, ה-API proxy והמשאבים הקשורים.
- שלב 4: הגדרת ניתוב: מאפשרים גישה חיצונית או גישה פנימית בלבד ל-API.
- שלב 5: קריאה ל-proxy ל-API לדוגמה: כדי לבדוק את הקצאת ההרשאות, צריך לפרוס proxy ל-API ולקרוא לו.
שלב 1: הגדרת משתני סביבה
מגדירים את gcloud ומגדירים משתני סביבה לשימוש בשלבים הבאים:
- חשוב לוודא שהשלמתם את הדרישות שמפורטות בקטע דרישות מוקדמות.
- צריך להתקין את ה-CLI של gcloud. אם צריך להתקין אותו, אפשר לעיין במאמר בנושא התקנת ה-CLI של gcloud.
- מאתחלים את ה-CLI של gcloud, כמו שמתואר במאמר אתחול ה-CLI של gcloud. אם ה-CLI כבר מאותחל, מוודאים שהפרויקט בענן שיצרתם בקטע דרישות מוקדמות הוא פרויקט ברירת המחדל של gcloud.
- מגדירים את משתני הסביבה הבאים:
AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
PROJECT_ID="YOUR_PROJECT_ID"RUNTIME_LOCATION="YOUR_RUNTIME_LOCATION"ANALYTICS_REGION="YOUR_ANALYTICS_REGION"כאשר:
- AUTH מגדיר את הכותרת
Authenticationעם אסימון bearer. תשתמשו בכותרת הזו כשקוראים ל-Apigee APIs. שימו לב שהתוקף של האסימון פג אחרי פרק זמן מסוים, ואז אפשר פשוט ליצור אותו מחדש באמצעות אותה פקודה. למידע נוסף, אפשר לעיין בדף ההפניה של הפקודה print-access-token. - PROJECT_ID הוא מזהה הפרויקט ב-Cloud שיצרתם במסגרת הדרישות המוקדמות.
RUNTIME_LOCATION הוא המיקום הפיזי שבו נמצא מופע Apigee. רשימת המיקומים הזמינים של סביבות זמן ריצה מופיעה במאמר מיקומי Apigee.
-
ANALYTICS_REGION הוא המיקום הפיזי שבו יאוחסנו נתוני הניתוח של Apigee. רשימת האזורים שבהם אפשר להשתמש ב-Apigee API Analytics זמינה במאמר מיקומי Apigee.
האזורים RUNTIME_LOCATION ו-ANALYTICS_REGION יכולים להיות זהים, אבל הם לא חייבים להיות זהים. עם זאת, יכול להיות שתהיה תועלת בביצועים אם הם יהיו זהים.
- AUTH מגדיר את הכותרת
- (אופציונלי) כדי לבדוק את העבודה, אפשר להציג את הערכים שהגדרתם. שימו לב: כשרוצים להשתמש במשתנה בפקודות, צריך להוסיף לפני שם המשתנה סימן דולר ($).
echo $AUTH
echo $PROJECT_IDecho $RUNTIME_LOCATIONecho $ANALYTICS_REGIONהתגובות לפקודות
echoאמורות להיראות כך:Authorization: Bearer ya29.a123456678940B63hPSAMPLEsampleKKYVsample0f3pWDWZDuH2-hENkNa TvgZ1PD977TMvv6edBQPJezdHw040880Ol_LoD5ZDkt-i-knizia_KhA9L20sSvztL81-SAMPLE42ELPMASk2_ 1CxN my-cloud-project us-west1 us-west1
שלב 2: הפעלת ממשקי API
-
כדי להשתמש ב-Apigee, צריך להפעיל כמה ממשקי Google Cloud API. כדי להפעיל אותם, מריצים את הפקודה
services enable:gcloud services enable apigee.googleapis.com \ cloudkms.googleapis.com --project=$PROJECT_ID (אופציונלי) כדי לבדוק את העבודה, משתמשים בפקודה
services listכדי להציג את כל ממשקי ה-API המופעלים:gcloud services list
התשובה מציגה את כל השירותים המופעלים, כולל ממשקי ה-API שהפעלתם זה עתה (Apigee, Cloud KMS ו-Compute Engine).
שלב 3: יצירת ארגון
ארגון הוא הקונטיינר ברמה העליונה ב-Apigee. הוא מכיל את כל פרוקסי ה-API והמשאבים שקשורים אליו. לפרטים, אפשר לעיין במאמר הסבר על ארגונים.
- יוצרים ארגון חדש לצורך הערכה באמצעות provisionOrganization API:
curl "https://apigee.googleapis.com/v1/projects/$PROJECT_ID:provisionOrganization" \ -H "$AUTH" \ -X POST \ -H "Content-Type:application/json" \ -d '{ "analyticsRegion":"'"$ANALYTICS_REGION"'", "runtimeLocation":"'"$RUNTIME_LOCATION"'", "disableVpcPeering":"true", }'כאשר:
-
-dמגדיר את מטען הנתונים של הבקשה. המטען הייעודי (payload) הזה חייב לכלול את הפרטים הבאים:
ANALYTICS_REGION: מציין את המיקום הפיזי שבו יישמרו נתוני הניתוח.
RUNTIME_LOCATION: המיקום הפיזי שבו נמצאת מכונת Apigee.-
disableVpcPeering: בתהליך ההקצאה הזה, אנחנו לא משתמשים ב-VPC peering, ולכן צריך להגדיר את הדגל הזה לערךtrue. ברירת מחדל:false
-
-
Apigee מתחיל LRO כדי ליצור את הארגון לצורך הערכה. הפעולה הזו נמשכת עד 40 דקות.
- כדי לבדוק את הסטטוס של בקשת היצירה, אפשר לשלוח בקשת
GETאל List organizations API של Apigee, כמו בדוגמה הבאה:curl -H "$AUTH" "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID"
אם אתם רואים את התשובה הזו, סימן שיצירת הארגון עדיין לא הושלמה:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations/apigee-docs-m\" (or it may not exist)", "status": "PERMISSION_DENIED" } }אם הפעולה בוצעה ללא שגיאות, אובייקט התגובה יציין
"state": "ACTIVE", ותוכלו להמשיך לשלב הבא.
שלב 4: הגדרת הניתוב
בשלב הזה מגדירים איך אפליקציות לקוח מתקשרות עם Apigee. תנועת נתונים מלקוח אל Apigee נקראת גם תנועת נתונים 'צפונה'. אפשרויות ההגדרה של Northbound כוללות את האפשרויות הבאות:
| סוג הגישה | תיאור של תהליך ההגדרה והפריסה |
|---|---|
| פנימי עם Private Service Connect |
אפשר לאפשר גישה פנימית בלבד לשרתי ה-proxy של ה-API מכל הפרויקטים שלכם ב-Google Cloud באמצעות Private Service Connect. Private Service Connect מאפשר חיבור פרטי בין בעלים של שירות מנוהל (Apigee) לבין צרכן השירות (פרויקט ה-VPC המקושר ו/או פרויקטים אחרים ב-Cloud שאתם שולטים בהם). בשיטה הזו, הבקשות עוברות דרך נקודת קצה (endpoint) של שירות או דרך מאזן עומסים פנימי אזורי לנקודת הצמדה יחידה שנקראת קבצים מצורפים לשירות. ההגדרה הזו מאפשרת ללקוחות הפנימיים שלכם לשלוח בקשות ל-proxy ל-API של Apigee מכל מכונה שמחוברת לרשת. |
| חיצוני עם Private Service Connect |
מאפשרים גישה חיצונית לשרתי ה-proxy של ה-API באמצעות Private Service Connect. משתמשים ב-Private Service Connect כדי להפעיל חיבור פרטי בין בעלים של שירות מנוהל (Apigee) לבין צרכן השירות (פרויקט ה-VPC המקושר ו/או פרויקט אחד או יותר אחרים בענן שאתם שולטים בהם). בשיטה הזו, הבקשות עוברות דרך מאזן עומסים חיצוני גלובלי או מאזן עומסים חיצוני אזורי לנקודת הצמדה יחידה שנקראת service attachment. ההגדרה הזו מאפשרת לשלוח בקשות ל-proxy ל-API של Apigee מכל מכונה שמחוברת לרשת. |
כל אחת מגישות הניתוב האלה מוצגת בכרטיסייה בהוראות שלמטה.
ניתוב פנימי (Private Service Connect)
בקטע הזה מוסבר איך לאפשר גישה פנימית בלבד לשרתי proxy של API מכל הפרויקטים שלכם ב-Google Cloud באמצעות Private Service Connect.
יש שתי אפשרויות להגדרת גישה פנימית באמצעות Private Service Connect:
- נקודת קצה של שירות: הבקשות עוברות דרך נקודת קצה של שירות לנקודת צירוף יחידה שנקראת צירוף שירות.
- מאזן עומסים פנימי אזורי: הבקשות עוברות דרך מאזן עומסים פנימי אזורי מסוג HTTP(S). אפשר לעיין גם במאמר בנושא איזון עומסים גלובלי לעומת איזון עומסים אזורי.
בוחרים את הכרטיסייה שלמטה לפי ההגדרה הרצויה ופועלים לפי השלבים:
נקודת קצה של שירות
יצירת נקודת קצה של שירות Private Service Connect לקובץ המצורף של השירות
- מקבלים את קובץ ה-Service Attachment ממופע Apigee:
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
בדוגמת הפלט הבאה, הערך
serviceAttachmentמוצג באותיות מודגשות:{ "instances": [ { "name": "us-west1", "location": "us-west1", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "runtimeVersion": "1-7-0-20220228-190814", "consumerAcceptList": [ "my-project" ], "serviceAttachment": "projects/bfac74a67a320c43a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw1" } ] }
- יוצרים נקודת קצה של שירות Private Service Connect שמפנה לקובץ המצורף של השירות שהתקבל מגוף התגובה של המכונה בשלב הקודם, כמו שמוסבר במאמר בנושא יצירת נקודת קצה של Private Service Connect.
- חשוב לשים לב לכתובת ה-IP של נקודת הקצה של השירות ולזכור אותה. תצטרכו את כתובת ה-IP בהמשך, כשבודקים את ההגדרה באמצעות קריאה ל-proxy ל-API. (לדוגמה:
10.138.0.2)
הקצאת הרשאות ל-Apigee הושלמה. עוברים אל פריסת שרת proxy לדוגמה.
מאזן עומסים אזורי פנימי
שלב 8א: הגדרת משתני סביבה
ההוראות בקטע הזה משתמשות במשתני סביבה כדי להתייחס למחרוזות שמשמשות שוב ושוב. חשוב לוודא שהגדרתם את המשתנים בקטע הגדרת משתני סביבה.
בנוסף, מגדירים את משתני הסביבה הבאים:
NEG_NAME=YOUR_NEG_NAME"TARGET_SERVICE=YOUR_TARGET_SERVICE"NETWORK_NAME=YOUR_NETWORK_NAME"SUBNET_NAME=YOUR_SUBNET_NAME"
כאשר:
- NEG_NAME: שם לקבוצת נקודות הקצה ברשת.
- TARGET_SERVICE: קובץ השירות שאליו רוצים להתחבר. לדוגמה:
projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7 - NETWORK_NAME: (אופציונלי) שם הרשת שבה נוצר ה-NEG. אם לא מציינים את הפרמטר הזה, נעשה שימוש ברשת של פרויקט
default. - SUBNET_NAME: שם רשת המשנה שמשמשת לקישוריות פרטית אל היצרן. גודל רשת המשנה יכול להיות קטן: קבוצת נקודות הקצה ברשת (NEG) של Private Service Connect צריכה רק כתובת IP אחת מרשת המשנה. ב-Apigee, נדרשת רק קבוצת נקודות קצה ברשת (NEG) אחת של Private Service Connect לכל אזור. אפשר לשתף את רשת המשנה ולהשתמש בה במכונות וירטואליות או בישויות אחרות. אם לא מציינים רשת משנה, נקודות הקצה ברשת עשויות להשתייך לכל רשת משנה באזור שבו נוצרה קבוצת נקודות הקצה ברשת.
שלב 8ב: יצירת רשת משנה לשרת proxy בלבד
gcloud compute networks subnets create testproxyonlysubnet \ --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE --region=$RUNTIME_REGION --network=$NETWORK_NAME \ --range=100.0.0.0/24 --project=$PROJECT_ID
שלב 8c: יצירת קבוצת נקודות קצה ברשת (NEG)
- מקבלים את קובץ השירות מהמכונה שיצרתם קודם:
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
בדוגמת הפלט הבאה, הערך
serviceAttachmentמוצג באותיות מודגשות:{ "instances": [ { "name": "us-west1", "location": "us-west1", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "runtimeVersion": "1-7-0-20220228-190814", "consumerAcceptList": [ "my-project" ], "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7" } ] }
יוצרים Private Service Connect NEG שמפנה ל-service attachment שקיבלתם מגוף התגובה של המכונה בשלב הקודם.
gcloud compute network-endpoint-groups create $NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=$TARGET_SERVICE \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
שלב 8ד: הגדרת מאזן עומסים פנימי אזורי
- שומרים כתובת IPv4 פנימית למאזן העומסים.
gcloud compute addresses create ADDRESS_NAME \ --ip-version=IPV4 --subnet=$SUBNET_NAME \ --region=$RUNTIME_LOCATION --project=$PROJECT_ID
מחליפים את ADDRESS_NAME בשם של משאב כתובת ה-IP.
מריצים את הפקודה הבאה כדי לראות את כתובת ה-IP השמורה:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=RUNTIME_LOCATION --project=$PROJECT_ID
- יוצרים שירות קצה עורפי עבור ה-NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTPS \ --region=$RUNTIME_REGION \ --project=$PROJECT_ID
- מוסיפים את ה-NEG לשירות הקצה העורפי.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- BACKEND_SERVICE_NAME: השם של השירות לקצה העורפי.
- NEG_NAME: השם של קבוצת נקודות הקצה ברשת.
-
כדי להשתמש ב-proxy יעד מסוג HTTPS, צריך משאב של אישור SSL.
משתמשים בפקודה הזו כדי ליצור משאב של אישור SSL בניהול עצמי. כדי ליצור אישור SSL בניהול עצמי, צריך קובץ מפתח פרטי מקומי וקובץ אישור מקומי. אם אתם צריכים ליצור את הקבצים האלה, תוכלו לעיין בשלב 1 של השימוש באישורי SSL בניהול עצמי.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --region=RUNTIME_LOCATION --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- CERTIFICATE: שם לאישור.
- LB_CERT: הנתיב לקובץ האישור בפורמט PEM של האישור בניהול עצמי.
- LB_PRIVATE_KEY: הנתיב לקובץ המפתח הפרטי בפורמט PEM של האישור בניהול עצמי.
-
יוצרים מפת URL למאזן העומסים.
מפת URL חייבת להפנות לשירות לקצה העורפי שמוגדר כברירת מחדל. מגדירים את שירות לקצה העורפי שיצרתם כברירת מחדל.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --global --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- URL_MAP_NAME: שם למפת URL.
- DEFAULT_BACKEND_SERVICE_NAME: השם של שירות הקצה העורפי שמוגדר כברירת המחדל במאזן העומסים. ברירת המחדל משמשת כשאין כלל מארח שתואם לשם המארח המבוקש.
-
משתמשים במשאב של אישור SSL כדי ליצור proxy יעד של HTTPS.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME \ --ssl-certificates=CERTIFICATE \ --region=$RUNTIME_LOCATION --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- PROXY_NAME: שם לשרת ה-proxy ל-HTTPS.
- URL_MAP_NAME: השם של מפת URL.
- CERTIFICATE: השם של משאב האישור.
- יוצרים את כלל ההעברה.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=INTERNAL_MANAGED \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 \ --target-https-proxy-region=$RUNTIME_REGION \ --region=$RUNTIME_REGION --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- FWD_RULE: שם לכלל ההעברה.
- ADDRESS_NAME: משאב כתובת ה-IP שהזמנתם לשימוש בכלל ההעברה.
- PROXY_NAME: השם של שרת ה-proxy ל-HTTPS של היעד.
מחליפים את BACKEND_SERVICE_NAME בשם של שירות ה-Backend.
הקצאת הרשאות ל-Apigee הושלמה. עוברים אל פריסת שרת proxy לדוגמה.
ניתוב חיצוני (Private Service Connect)
בקטע הזה מוסבר איך להגדיר ניתוב חיצוני באמצעות Private Service Connect כדי לאפשר תקשורת בין Apigee לבין רשתות VPC שאתם שולטים בהן. צריך לעשות את זה לפני ששולחים בקשה מלקוח חיצוני למופע זמן הריצה של Apigee.
שלב 8ב: יצירת NEG והגדרת מאזן העומסים
אפשר ליצור מאזן עומסים גלובלי או אזורי.
מאזן עומסים חיצוני גלובלי
הגדרת מאזן עומסים חיצוני גלובלי מסוג HTTP(S) (סכימת איזון העומסים מוגדרת לערך EXTERNAL_MANAGED).
למרות ש-NEG של Private Service Connect הוא אזורי, כל שאר רכיבי איזון העומסים בהגדרה הזו הם גלובליים.
- מוודאים שהגדרתם את משתני הסביבה לפי ההוראות שבמאמר הגדרת משתני סביבה.
- מקבלים את קובץ השירות מהמכונה שיצרתם קודם:
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"בדוגמת הפלט הבאה, הערך
serviceAttachmentמוצג באותיות מודגשות:{ "instances": [ { "name": "us-west1", "location": "us-west1", "host": "10.82.192.2", "port": "443", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "peeringCidrRange": "SLASH_22", "runtimeVersion": "1-7-0-20220228-190814", "ipRange": "10.82.192.0/22,10.82.196.0/28", "consumerAcceptList": [ "875609189304" ], "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7" } ] }
יוצרים Private Service Connect NEG שמפנה לקובץ המצורף לשירות שקיבלתם מגוף התגובה של המכונה בשלב הקודם.
gcloud compute network-endpoint-groups create $NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=$TARGET_SERVICE \ --region=$RUNTIME_LOCATION \ --network=NETWORK_NAME \ --subnet=SUBNET_NAME \ --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- NETWORK_NAME: (אופציונלי) שם הרשת שבה נוצר ה-NEG. אם לא מציינים את הפרמטר הזה, נעשה שימוש ברשת של פרויקט
default. - SUBNET_NAME: שם רשת המשנה שמשמשת לקישוריות פרטית אל היצרן. גודל רשת המשנה יכול להיות קטן: קבוצת נקודות הקצה ברשת (NEG) של Private Service Connect צריכה רק כתובת IP אחת מרשת המשנה. ב-Apigee, נדרשת רק קבוצת נקודות קצה ברשת (NEG) אחת של Private Service Connect לכל אזור. אפשר לשתף את רשת המשנה ולהשתמש בה במכונות וירטואליות או בישויות אחרות. אם לא מציינים רשת משנה, נקודות הקצה ברשת יכולות להיות שייכות לכל רשת משנה באזור שבו נוצרת קבוצת נקודות הקצה ברשת.
- PROJECT_ID פרויקט בענן שכבר משויך לארגון Apigee, או פרויקט בענן שכלול ב-
consumerAcceptlistכשנוצר מופע זמן הריצה של Apigee.
- NETWORK_NAME: (אופציונלי) שם הרשת שבה נוצר ה-NEG. אם לא מציינים את הפרמטר הזה, נעשה שימוש ברשת של פרויקט
- שומרים כתובת IPv4 חיצונית גלובלית למאזן העומסים.
gcloud compute addresses create ADDRESS_NAME \ --ip-version=IPV4 --global --project=$PROJECT_ID
מחליפים את ADDRESS_NAME בשם של משאב כתובת ה-IP.
מריצים את הפקודה הבאה כדי לראות את כתובת ה-IP השמורה:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --global --project=$PROJECT_ID
- יוצרים שירות קצה עורפי עבור ה-NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTPS \ --global --project=$PROJECT_ID
- מוסיפים את שירות הקצה העורפי ל-NEG.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --network-endpoint-group-region=$REGION \ --global --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- BACKEND_SERVICE_NAME: השם של השירות לקצה העורפי.
- NEG_NAME: השם של קבוצת נקודות הקצה ברשת.
- REGION: האזור של קבוצת נקודות הקצה ברשת.
יוצרים מפת URL למאזן העומסים.
מפת URL חייבת להפנות לשירות לקצה העורפי שמוגדר כברירת מחדל. מגדירים את שירות לקצה העורפי שיצרתם כברירת מחדל.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --global --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- URL_MAP_NAME: שם למפת URL.
- DEFAULT_BACKEND_SERVICE_NAME: השם של שירות לקצה העורפי של ברירת המחדל של מאזן העומסים. ברירת המחדל משמשת כשאין כלל מארח שתואם לשם המארח המבוקש.
יוצרים את ה-proxy של HTTPS ליעד.
כדי להשתמש ב-proxy יעד מסוג HTTPS, צריך משאב של אישור SSL. אפשר ליצור משאב של אישור SSL באמצעות אישור SSL בניהול Google או אישור SSL בניהול עצמי. מומלץ להשתמש באישורים שמנוהלים על ידי Google, כי Google Cloud מקבל, מנהל ומחדש את האישורים האלה באופן אוטומטי.
כדי ליצור אישור שמנוהל על ידי Google, צריך שיהיה לכם דומיין.
משתמשים בפקודה הזו כדי ליצור משאב של אישור SSL בניהול Google:
gcloud compute ssl-certificates create CERTIFICATE \ --domains DOMAIN --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- CERTIFICATE: שם לאישור.
- DOMAIN: שם הדומיין של מאזן העומסים.
משתמשים בפקודה הזו כדי ליצור משאב של אישור SSL בניהול עצמי. כדי ליצור אישור SSL בניהול עצמי, צריך קובץ מפתח פרטי מקומי וקובץ אישור מקומי. אם אתם צריכים ליצור את הקבצים האלה, תוכלו לעיין בשלב 1 של שימוש באישורי SSL בניהול עצמי.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- CERTIFICATE: שם לאישור.
- LB_CERT: הנתיב לקובץ האישור בפורמט PEM של האישור בניהול עצמי.
- LB_PRIVATE_KEY: הנתיב לקובץ המפתח הפרטי בפורמט PEM של האישור בניהול עצמי.
משתמשים במשאב של אישור SSL כדי ליצור proxy יעד של HTTPS.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME \ --ssl-certificates=CERTIFICATE --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- PROXY_NAME: שם לשרת ה-proxy ל-HTTPS.
- URL_MAP_NAME: השם של מפת URL.
- CERTIFICATE: השם של משאב האישור.
- יוצרים את כלל ההעברה.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 \ --global --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- FWD_RULE: שם לכלל ההעברה.
- ADDRESS_NAME: משאב כתובת ה-IP שהזמנתם לשימוש בכלל ההעברה.
- PROXY_NAME: השם של שרת ה-proxy ל-HTTPS של היעד.
מחליפים את BACKEND_SERVICE_NAME בשם של שירות לקצה העורפי.
הקצאת הרשאות ל-Apigee הושלמה. עוברים אל פריסת שרת proxy לדוגמה.
מאזן עומסים חיצוני אזורי
הגדרת מאזן עומסים חיצוני אזורי מסוג HTTP(S). מידע נוסף זמין במאמר סקירה כללית של מאזן עומסים חיצוני מסוג HTTP(S).
- חשוב לוודא שהגדרתם את המשתנים בקטע הגדרת משתני סביבה.
- יוצרים תת-רשת של שרת proxy בלבד:
gcloud compute networks subnets create SUBNET_NAME \ --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE \ --region=$RUNTIME_LOCATION --network=NETWORK_NAME \ --range=100.0.0.0/24 --project=$PROJECT_ID
- מחליפים את SUBNET_NAME בשם של רשת המשנה.
- (אופציונלי) מחליפים את NETWORK_NAME בשם הרשת שבה נוצרת רשת המשנה. אם לא מציינים את הפרמטר הזה, נעשה שימוש ברשת ברירת המחדל של הפרויקט.
- מקבלים את קובץ השירות מהמכונה שיצרתם קודם:
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"בדוגמת הפלט הבאה, הערך
serviceAttachmentמוצג באותיות מודגשות:{ "instances": [ { "name": "us-west1", "location": "us-west1", "host": "10.82.192.2", "port": "443", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "peeringCidrRange": "SLASH_22", "runtimeVersion": "1-7-0-20220228-190814", "ipRange": "10.82.192.0/22,10.82.196.0/28", "consumerAcceptList": [ "875609189304" ], "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7" } ] }
- יוצרים קבוצת נקודות קצה ברשת.
gcloud compute network-endpoint-groups create NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=TARGET_SERVICE \ --region=$RUNTIME_LOCATION --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- NEG_NAME: השם של קבוצת נקודות הקצה ברשת.
- TARGET_SERVICE: השם של קובץ השירות שאליו רוצים להתחבר.
לדוגמה:
projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
- יוצרים שירות קצה עורפי עבור ה-NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTPS \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
- מוסיפים את שירות הקצה העורפי ל-NEG.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- BACKEND_SERVICE_NAME: השם של השירות לקצה העורפי.
- NEG_NAME: השם של קבוצת נקודות הקצה ברשת.
יוצרים מפת URL למאזן העומסים.
מפת URL חייבת להפנות לשירות לקצה העורפי שמוגדר כברירת מחדל. מגדירים את שירות לקצה העורפי שיצרתם כברירת מחדל.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- URL_MAP_NAME: שם למפת URL.
- DEFAULT_BACKEND_SERVICE_NAME: השם של שירות לקצה העורפי של ברירת המחדל של מאזן העומסים. ברירת המחדל משמשת כשאין כלל מארח שתואם לשם המארח המבוקש.
יוצרים את ה-proxy של HTTPS ליעד.
כדי להשתמש ב-proxy יעד מסוג HTTPS, צריך משאב של אישור SSL.
משתמשים בפקודה הזו כדי ליצור משאב של אישור SSL בניהול עצמי. כדי ליצור אישור SSL בניהול עצמי, צריך קובץ מפתח פרטי מקומי וקובץ אישור מקומי. אם אתם צריכים ליצור את הקבצים האלה, תוכלו לעיין בשלב 1 של שימוש באישורי SSL בניהול עצמי.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- CERTIFICATE: שם לאישור.
- LB_CERT: הנתיב לקובץ האישור בפורמט PEM של האישור בניהול עצמי.
- LB_PRIVATE_KEY: הנתיב לקובץ המפתח הפרטי בפורמט PEM של האישור בניהול עצמי.
- מוסיפים את הדומיין לקבוצת הסביבות של Apigee שנוצרה בשבילכם. השם
של קבוצת הסביבות הוא
eval-group:curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group" \ -H "$AUTH" \ -X PATCH \ -H "Content-Type:application/json" \ -d '{ "hostnames":["'"DOMAIN"'"] }' - בודקים את הסטטוס של הפעולה של קבוצת הסביבות:
curl -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group/attachments" -
משתמשים במשאב של אישור SSL כדי ליצור proxy יעד של HTTPS.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME --region=$RUNTIME_LOCATION \ --ssl-certificates=CERTIFICATE --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- PROXY_NAME: שם לשרת ה-proxy ל-HTTPS.
- URL_MAP_NAME: השם של מפת URL.
- CERTIFICATE: השם של משאב האישור.
- שומרים כתובת חיצונית אזורית למאזן העומסים. הערה: צריך להגדיר את רמת הרשת ל-
STANDARD.gcloud compute addresses create ADDRESS_NAME \ --region=$RUNTIME_LOCATION --network-tier=STANDARD \ --project=$PROJECT_ID
מחליפים את ADDRESS_NAME בשם של משאב כתובת ה-IP.
מריצים את הפקודה הבאה כדי לראות את כתובת ה-IP השמורה:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
- יוצרים את כלל ההעברה.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=STANDARD \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 --region=$RUNTIME_LOCATION \ --target-https-proxy-region=$RUNTIME_LOCATION --project=$PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- FWD_RULE: שם לכלל ההעברה.
- ADDRESS_NAME: משאב כתובת ה-IP שהזמנתם לשימוש בכלל ההעברה.
- PROXY_NAME: השם של שרת ה-proxy ל-HTTPS של היעד.
מחליפים את BACKEND_SERVICE_NAME בשם של שירות לקצה העורפי.
הקצאת הרשאות ל-Apigee הושלמה. עוברים אל קריאה ל-proxy ל-API לדוגמה.
שלב 5: קוראים ל-proxy ל-API לדוגמה
במהלך הקצאת ההרשאות נוצר בשבילכם proxy ל-API בשם hello-world
ונפרס. בשלב הזה, תבדקו את ארגון ההערכה החדש על ידי קריאה לשרת ה-proxy.
קריאה ל-proxy ל-API עם ניתוב פנימי
אם בחרתם באפשרות ניתוב פנימי עם נקודת קצה של שירות בשלב 5, פועלים לפי השלבים במאמר קריאה ל-proxy ל-API עם גישה פנימית בלבד.
קריאה ל-proxy ל-API עם ניתוב חיצוני
אם בחרתם באפשרות ניתוב חיצוני בשלב 5, צריך לפעול לפי השלבים שבקטע הזה.
- מגדירים רשומת DNS לדומיין. יש שתי דרכים לבצע את המשימה הזו:
- אצל הרשם, יוצרים רשומת A שמפנה לדומיין. לדוגמה, אם הדומיין שלכם הוא
sales.example.comוכתובת ה-IP היא 10.23.0.2, צריך להפנות את הרשומה שלsales.example.comלכתובת10.23.0.2.מריצים את הפקודה הבאה כדי לראות את כתובת ה-IP השמורה:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
- אפשר להשתמש ב-Cloud DNS של Google כדי למפות כתובת URL לכתובת IP.
- אצל הרשם, יוצרים רשומת A שמפנה לדומיין. לדוגמה, אם הדומיין שלכם הוא
- מוודאים ששרת ה-proxy
hello-worldנפרס:curl -i -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/eval/apis/hello-world/revisions/1/deployments"
- שליחת קריאה ל-proxy ל-API:
שולחים בקשה ל-proxy ל-API מכל מכונה שמחוברת לרשת על ידי הרצת הפקודה הבאה:
curl -i -H "Host: DOMAIN" \ https://DOMAIN/hello-world
כאשר DOMAIN הוא הדומיין שהזנתם באישור והוספתם לקבוצת הסביבות, כפי שמתואר בשלב 5: הגדרת ניתוב. אם צריך, אפשר להשתמש ב-API הזה כדי לקבל את הערך
DOMAINמקבוצת הסביבות:curl -i -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups"
אם הפעולה מצליחה, פרוקסי ה-API לדוגמה מחזיר את התגובה:
Hello, Guest!
טיפים לפתרון בעיות:
אם מופיעה שגיאת לחיצת יד, צריך לבדוק את הסטטוס של אישור ה-SSL. מידע על פתרון בעיות שקשורות לאישורים בניהול עצמי ולאישורים בניהול Google זמין במאמר פתרון בעיות שקשורות לאישורי SSL.
חשוב לוודא שלדומיין הרשום יש רשומת A שמפנה לכתובת ה-IPv4 החיצונית הגלובלית שנוצרה בשלב 5. מריצים את הפקודה הבאה כדי לראות את כתובת ה-IP השמורה:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
אם לא הצלחתם לפתור את הבעיה בהגדרת הדומיין, נסו להפעיל את ה-proxy באמצעות הפקודה הבאה:
curl -H Host:DOMAIN --resolve \ DOMAIN:443:EXTERNAL_IP_ADDRESS \ https://DOMAIN:443/hello-world -k
המאמר הבא: מידע נוסף על יצירה ופריסה של proxy ל-API זמין במאמר סקירה כללית על יצירת proxy ראשון ל-API.