הצגת API משם הדומיין

בדף הזה מוסבר איך להפעיל API מדומיין מותאם אישית שבבעלותכם, לדוגמה, example.com.

במקום להשתמש בשם דומיין משלכם, אתם יכולים להשתמש בשם דומיין שמנוהל על ידי Google. מידע נוסף זמין במאמר בנושא שימוש בדומיין שמנוהל על ידי Google.

לפני שמתחילים

הגדרת פרויקט ה-API לשימוש בשם הדומיין

פועלים לפי ההוראות בכרטיסייה המתאימה.

App Engine

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

Compute Engine

הדרך המומלצת להפעלת API ממכונות של Compute Engine היא באמצעות מאזן עומסים בקבוצת מכונות. צריך לשמור כתובת IP חיצונית לשם הדומיין ולהשתמש בכתובת ה-IP החיצונית הזו למאזן העומסים.

כדי להפעיל את ה-API משם דומיין:

  1. שומרים לפחות כתובת IP חיצונית סטטית אחת בפרויקט:

    עבור לדף כתובות IP חיצוניות

    1. הקצאת שם לכתובת ה-IP השמורה
    2. בקטע Type (סוג), לוחצים על Global (גלובלי).
    3. בקטע מצורף אל, לוחצים על ללא. בשלב מאוחר יותר, מצמידים את כתובת ה-IP למאזן עומסים.
  2. נכנסים לחשבון אצל ספק הדומיין ועורכים את הגדרות הדומיין. צריך ליצור רשומת A שמכילה את שם ה-API, למשל myapi.example.com, עם כתובת ה-IP החיצונית בשדה הנתונים שלה.
  3. יוצרים קבוצת מופעים שכוללת את המופעים שמריצים את ה-API ואת Extensible Service Proxy ‏ (ESP:

    כניסה לדף Create a New Instance group

    1. נותנים לקבוצה שם שרוצים ומוסיפים תיאור.
    2. ברשימה אזור, לוחצים על האזור שבו נעשה שימוש במופע של ה-API.
    3. ברשימה Instance definition, לוחצים על Select existing instances.
    4. בשדה VM Instances (מכונות וירטואליות), מוסיפים את המכונה הווירטואלית שמריצה את ה-API.
    5. לוחצים על יצירה.
  4. יוצרים ומגדירים מאזן עומסים מסוג HTTP(S):

    מעבר לדף Create a New HTTP(S) load balancer

    1. לוחצים על Define a Backend Service (הגדרת שירות קצה עורפי) > Create or select a backend service (יצירה או בחירה של שירות קצה עורפי).
      הגדרת הקצה העורפי
    2. נותנים שם ותיאור להגדרת שירות ה-Backend.
    3. בשדה Protocol, בוחרים את הפרוטוקול שרוצים לתמוך בו באמצעות מאזן העומסים, HTTP או HTTPS.
    4. ברשימה Instance group, לוחצים על קבוצת המכונות.
    5. בשדה Port Numbers (מספרי יציאה), מזינים 8080.
    6. לוחצים על בדיקת תקינות כדי להגדיר בדיקות תקינות:
      • מזינים שם להגדרה של בדיקת תקינות.
      • מקצים את היציאה 8080.
      • כדי לאשר את ערכי ברירת המחדל שנותרו, לוחצים על שמירה.
    7. בינתיים, מאשרים את הגדרות ברירת המחדל בשאר ההגדרות. אפשר לבצע שינויים בהמשך לפי הצורך, למשל להוסיף יציאות.
    8. לא צריך להגדיר כלום בכללים של מארח ונתיב. אפשר להעביר הכול ל-API של הקצה העורפי באמצעות המסננים של ברירת המחדל כל מה שלא תואם. כלומר, כל התנועה שמופנית אל איזון העומסים מנותבת אל ה-API ביציאה 8080 (יציאת ברירת המחדל), כפי שהוגדר בשלבים הקודמים.
    9. לוחצים על Frontend configuration.
      הגדרות הקצה הקדמי
      • בשדה Protocol, בוחרים את הפרוטוקול שרוצים לתמוך בו באמצעות מאזן העומסים, HTTP או HTTPS.
      • ברשימה IP, לוחצים על כתובת ה-IP החיצונית שיצרתם קודם.
      • כדי להשתמש בפרוטוקול HTTPS, צריך להשתמש ב-SSL. ברשימה Certificate, לוחצים על האישור הרצוי.
      • אופציונלי: אם רוצים לתמוך בפרוטוקול אחר, לוחצים על Add frontend IP and port, מציינים את הפרוטוקול, את אותה כתובת IP חיצונית ויציאה אחרת.
    10. כדי ליצור את מאזן העומסים עם ההגדרות המלאות, לוחצים על Create (יצירה). אם הלחצן יצירה לא מופעל, צריך לבדוק את הרכיבים שהגדרתם: סימן וי צריך להופיע לצד כל אחד מרכיבי ההגדרה. אם לא מופיע סימן וי, סימן שההגדרה לא הושלמה.
    11. אחרי שהשינויים ב-DNS מתפשטים, הבקשות נשלחות ל-API באמצעות איזון העומסים.

GKE

כדי להפעיל API בדומיין ב-Google Kubernetes Engine‏ (GKE), צריך לחשוף את ESP כשירות באמצעות כתובת ה-IP החיצונית שמוחזרת להגדרות ה-DNS של הדומיין. הערה: מערכת GKE מבצעת איזון עומסים באופן אוטומטי.

כדי לחשוף את ה-API כשירות:

  1. אם עדיין אין לכם שירות כזה, מגדירים שירות 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 כברירת מחדל.
  2. פורסים את שירות Kubernetes:
                kubectl apply -f service.yaml
                
  3. כדי לראות את כתובת ה-IP החיצונית שהוקצתה לשירות החשוף:
                kubectl get services
                
    הפלט מציג כתובת EXTERNAL-IP שדומה לכתובת הבאה:
                NAME         CLUSTER-IP     EXTERNAL-IP      PORT(S)    AGE
                hello-node   10.X.XXX.202   10X.XXX.XX.123   8080/TCP   1m
          
  4. משנים את כתובת ה-IP החיצונית שנוצרה מזמנית לסטטית.

    עבור לדף כתובות IP חיצוניות

    1. בוחרים את כתובת ה-IP החיצונית מהרשימה.
    2. ברשימה סוג, לוחצים על סטטי.
  5. נכנסים לחשבון אצל ספק הדומיין ועורכים את הגדרות הדומיין. צריך ליצור רשומת A שמכילה את שם ה-API, לדוגמה, myapi.example.com, עם כתובת ה-IP החיצונית בשדה הנתונים שלה.

המאמרים הבאים