אחרי שמבצעים פריסה של ה-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:
- פותחים את
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זהים. - מחליפים את
API_NAMEבשם ה-API (לדוגמה,bookstoreאוmy-cool-api). - מחליפים את
IP_ADDRESSבכתובת IPv4. כתובת ה-IP היא מחרוזת ולכן היא צריכה להיות מוקפת במירכאות.לדוגמה, אם פורסים את שירות ה-API של Endpoints למופע של מכונה וירטואלית ב-Compute Engine, אפשר להשתמש בכתובת ה-IP החיצונית של המכונה הווירטואלית הזו. לחלופין, אם מריצים את הקוד בקבוצה של מופעים של מכונות וירטואליות (או תרמילי GKE) מאחורי מאזן עומסים, אפשר להשתמש בכתובת ה-IP של מאזן העומסים.
- מריצים את הפקודה הבאה כדי לפרוס את קובץ התצורה המעודכן של 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 החדשה תתעדכן.