הגדרת DNS בדומיין cloud.goog

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

  • מגדירים את .endpoints.PROJECT_ID.cloud.goog כשם הדומיין (כאשר PROJECT_ID הוא מזהה הפרויקט שלכם ב- Google Cloud).
  • או לרשום שם דומיין משלכם, כמו example.com, שכולל:
    • הגדרת שרתי שמות של DNS (או שימוש ב- Cloud DNS).
    • מתבצע עדכון של הכתובות במרשם.
    • יצירה ותחזוקה של רשומות DNS.

    אם כבר יש לכם תשתית DNS, או שאתם רוצים לרשום שם דומיין משלכם, תוכלו לקרוא מידע נוסף במאמר הצגת API משם הדומיין שלכם.

בדף הזה מוסבר איך להגדיר ממשקי Cloud Endpoints API כך שישתמשו ב-.endpoints.PROJECT_ID.cloud.goog כשם הדומיין. שלבי ההגדרה בדף הזה רלוונטיים לממשקי API שמשתמשים ב-gRPC שפועל ב-Compute Engine, ב-Google Kubernetes Engine או ב-Kubernetes.

הדומיין .cloud.goog מנוהל על ידי Google ומשותף בין לקוחות Google Cloud. מכיוון שלכל פרויקט יש מזהה פרויקט ייחודי גלובלית, שם דומיין בפורמט .endpoints.PROJECT_ID.cloud.goog הוא ייחודי ואפשר להשתמש בו כשם הדומיין של ה-API. Google Cloud הגדרת שם הדומיין .endpoints.PROJECT_ID.cloud.goog היא אופציונלית. אם אתם מעדיפים, אתם יכולים לרשום שם דומיין משלכם.

דרישות מוקדמות

כנקודת התחלה, בדף הזה מניחים שכבר יצרתם את Cloud Endpoints API ופרסתם אותו ב-Compute Engine, ב-Google Kubernetes Engine או ב-Kubernetes. אם אתם צריכים API לצורך בדיקה, אתם יכולים להשתמש באחד מהמדריכים שמסבירים איך להגדיר ולפרוס API לדוגמה.

הגדרת DNS

בקטע הבא מוסבר איך להגדיר DNS עבור Endpoints APIs שמשתמשים ב-.endpoints.PROJECT_ID.cloud.goog כשם שירות Endpoints. לנוחותכם, בתהליך הזה קובץ ההגדרות של שירות gRPC נקרא service.yaml.

כדי להגדיר DNS:

  1. פותחים את service.yaml ומוסיפים את השדה endpoints לקובץ, כמו שמוצג בקטע הקוד הבא:
    type: google.api.Service
    name: API_NAME.endpoints.PROJECT_ID.cloud.goog
    endpoints:
    - name: API_NAME.endpoints.PROJECT_ID.cloud.goog
      target: "IP_ADDRESS"
      

    בדרך כלל, השדה name והשדה endpoints.name זהים.

  2. מחליפים את API_NAME בשם ה-API (לדוגמה, bookstore או my-cool-api).
  3. מחליפים את IP_ADDRESS בכתובת IPv4. כתובת ה-IP היא מחרוזת ולכן היא צריכה להיות מוקפת במירכאות.

    לדוגמה, אם פורסים את שירות ה-API של Endpoints למופע של מכונה וירטואלית ב-Compute Engine, אפשר להשתמש בכתובת ה-IP החיצונית של המכונה הווירטואלית הזו. לחלופין, אם מריצים את הקוד בקבוצה של מופעים של מכונות וירטואליות (או תרמילי GKE) מאחורי מאזן עומסים, אפשר להשתמש בכתובת ה-IP של מאזן העומסים.

  4. מריצים את הפקודה הבאה כדי לפרוס את קובץ התצורה המעודכן של gRPC ב-Service Management:
    gcloud endpoints services deploy service.yaml service.pb
    

לדוגמה, אם מציינים את הערכים הבאים בקובץ service.yaml:

type: google.api.Service
name: my-cool-api.endpoints.my-project-id.cloud.goog
endpoints:
- name: my-cool-api.endpoints.my-project-id.cloud.goog
  target: "192.0.2.1"

כשמפעילים את הפקודה gcloud כדי לפרוס את הקובץ service.yaml, Service Management יוצר רשומת DNS מסוג A‏, my-cool-api.endpoints.my-project-id.cloud.goog, שמפנה לכתובת ה-IP של היעד, 192.0.2.1. יכול להיות שתצטרכו להמתין כמה דקות עד שהגדרת ה-DNS החדשה תתעדכן.

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