בדף הזה מוסבר איך להפעיל API מדומיין מותאם אישית שבבעלותכם, לדוגמה, example.com.
במקום להשתמש בשם דומיין משלכם, אתם יכולים להשתמש בשם דומיין שמנוהל על ידי Google. מידע נוסף זמין במאמר בנושא שימוש בדומיין שמנוהל על ידי Google.
לפני שמתחילים
- אם אין לכם שם דומיין לשימוש ב-API, אתם צריכים לקבל שם דומיין מרשם שמות דומיין.
- אימות הבעלות על הדומיין.
- נותנים שם למארח ה-API עם שם הדומיין.
- אם אתם משתמשים ב-SSL בדומיין שלכם, אתם צריכים לקבל ולהעלות את אישור ה-SSL.
- פריסת ה-API ו-Extensible Service Proxy (ESP).
הגדרת פרויקט ה-API לשימוש בשם הדומיין
פועלים לפי ההוראות בכרטיסייה המתאימה.
App Engine
כדי להגדיר את פרויקט ה-API כך שישתמש בדומיין המאומת, פועלים לפי ההוראות שמפורטות במאמר הוספת דומיין מותאם אישית לאפליקציה.
Compute Engine
הדרך המומלצת להפעלת API ממכונות של Compute Engine היא באמצעות מאזן עומסים בקבוצת מכונות. צריך לשמור כתובת IP חיצונית לשם הדומיין ולהשתמש בכתובת ה-IP החיצונית הזו למאזן העומסים.
כדי להפעיל את ה-API משם דומיין:
- שומרים לפחות כתובת IP חיצונית סטטית אחת בפרויקט:
- הקצאת שם לכתובת ה-IP השמורה
- בקטע Type (סוג), לוחצים על Global (גלובלי).
- בקטע מצורף אל, לוחצים על ללא. בשלב מאוחר יותר, מצמידים את כתובת ה-IP למאזן עומסים.
- נכנסים לחשבון אצל ספק הדומיין ועורכים את הגדרות הדומיין. צריך ליצור רשומת A שמכילה את שם ה-API, למשל
myapi.example.com, עם כתובת ה-IP החיצונית בשדה הנתונים שלה. - יוצרים קבוצת מופעים שכוללת את המופעים שמריצים את ה-API ואת Extensible Service Proxy (ESP:
- נותנים לקבוצה שם שרוצים ומוסיפים תיאור.
- ברשימה אזור, לוחצים על האזור שבו נעשה שימוש במופע של ה-API.
- ברשימה Instance definition, לוחצים על Select existing instances.
- בשדה VM Instances (מכונות וירטואליות), מוסיפים את המכונה הווירטואלית שמריצה את ה-API.
- לוחצים על יצירה.
- יוצרים ומגדירים מאזן עומסים מסוג HTTP(S):
- לוחצים על Define a Backend Service (הגדרת שירות קצה עורפי) > Create or select a backend service (יצירה או בחירה של שירות קצה עורפי).
- נותנים שם ותיאור להגדרת שירות ה-Backend.
- בשדה Protocol, בוחרים את הפרוטוקול שרוצים לתמוך בו באמצעות מאזן העומסים, HTTP או HTTPS.
- ברשימה Instance group, לוחצים על קבוצת המכונות.
- בשדה Port Numbers (מספרי יציאה), מזינים
8080. - לוחצים על בדיקת תקינות כדי להגדיר בדיקות תקינות:
- מזינים שם להגדרה של בדיקת תקינות.
- מקצים את היציאה
8080. - כדי לאשר את ערכי ברירת המחדל שנותרו, לוחצים על שמירה.
- בינתיים, מאשרים את הגדרות ברירת המחדל בשאר ההגדרות. אפשר לבצע שינויים בהמשך לפי הצורך, למשל להוסיף יציאות.
- לא צריך להגדיר כלום בכללים של מארח ונתיב. אפשר להעביר הכול ל-API של הקצה העורפי באמצעות המסננים של ברירת המחדל כל מה שלא תואם. כלומר, כל התנועה שמופנית אל איזון העומסים מנותבת אל ה-API ביציאה
8080(יציאת ברירת המחדל), כפי שהוגדר בשלבים הקודמים. - לוחצים על Frontend configuration.
- בשדה Protocol, בוחרים את הפרוטוקול שרוצים לתמוך בו באמצעות מאזן העומסים, HTTP או HTTPS.
- ברשימה IP, לוחצים על כתובת ה-IP החיצונית שיצרתם קודם.
- כדי להשתמש בפרוטוקול HTTPS, צריך להשתמש ב-SSL. ברשימה Certificate, לוחצים על האישור הרצוי.
- אופציונלי: אם רוצים לתמוך בפרוטוקול אחר, לוחצים על Add frontend IP and port, מציינים את הפרוטוקול, את אותה כתובת IP חיצונית ויציאה אחרת.
- כדי ליצור את מאזן העומסים עם ההגדרות המלאות, לוחצים על Create (יצירה). אם הלחצן יצירה לא מופעל, צריך לבדוק את הרכיבים שהגדרתם: סימן וי צריך להופיע לצד כל אחד מרכיבי ההגדרה. אם לא מופיע סימן וי, סימן שההגדרה לא הושלמה.
- אחרי שהשינויים ב-DNS מתפשטים, הבקשות נשלחות ל-API באמצעות איזון העומסים.
GKE
כדי להפעיל API בדומיין ב-Google Kubernetes Engine (GKE), צריך לחשוף את ESP כשירות באמצעות כתובת ה-IP החיצונית שמוחזרת להגדרות ה-DNS של הדומיין. הערה: מערכת GKE מבצעת איזון עומסים באופן אוטומטי.
כדי לחשוף את ה-API כשירות:
- אם עדיין אין לכם שירות כזה, מגדירים שירות Kubernetes עבור קצה העורפי של ה-API. יוצרים קובץ הגדרת שירות,
service.yaml, עם תוכן שדומה לזה:apiVersion: v1 kind: Service metadata: name: echo spec: ports: - port: 80 targetPort: 8081 protocol: TCP selector: app: echo-app type: LoadBalancer - משנים את התווית
selectorכך שתתאים לתוויות של ה-Backend (app: echo-appבדוגמה הזו) - מוודאים שהמספר
targetPortתואם ליציאה שבה נעשה שימוש ב-ESP שהוגדר בשרתי הקצה של ה-API. ESP משתמש ביציאה8081כברירת מחדל. - פורסים את שירות Kubernetes:
kubectl apply -f service.yaml - כדי לראות את כתובת ה-IP החיצונית שהוקצתה לשירות החשוף:
הפלט מציג כתובתkubectl get servicesEXTERNAL-IPשדומה לכתובת הבאה:
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-node 10.X.XXX.202 10X.XXX.XX.123 8080/TCP 1m - משנים את כתובת ה-IP החיצונית שנוצרה מזמנית לסטטית.
- בוחרים את כתובת ה-IP החיצונית מהרשימה.
- ברשימה סוג, לוחצים על סטטי.
- נכנסים לחשבון אצל ספק הדומיין ועורכים את הגדרות הדומיין. צריך ליצור רשומת A שמכילה את שם ה-API, לדוגמה,
myapi.example.com, עם כתובת ה-IP החיצונית בשדה הנתונים שלה.