בדף הזה מוסבר איך להשתמש בנקודות קצה אזוריות ל-API (נקודות קצה אזוריות) ב-Google Cloud, שזמינות לאזור me-central2 (KSA).
נקודות קצה אזוריות מספקות יכולות של מיקום אחסון נתונים בהעברה, על ידי ניתוב התנועה והצגתה באותו אזור ב-Google Cloud שבו נמצא הלקוח. כשלקוח קורא לשירות באמצעות נקודת קצה אזורית, סשן ה-TLS של הלקוח מסתיים באזור שצוין בשם של נקודת הקצה. לכן, צריך להשתמש בנקודות קצה אזוריות רק לעומסי עבודה שאין להם תלויות מחוץ לאזור או לסמכות שיפוט אחת.
אתם יכולים להתחבר דרך האינטרנט לנקודות קצה אזוריות ציבוריות. לתעבורת נתונים נכנסת (ingress) מהאינטרנט, נקודות הקצה האלה משתמשות בניתוב לפי מאמץ מרבי כדי לשמור על תעבורת הנתונים במעבר מקומית לאזור (או לתחום השיפוט), כי הן לא משתמשות ב-Google Front End (GFE) הגלובלי. במקום זאת, הן מפוענחות לכתובות IP שמוכרזות רק בנקודות ה-peering הקרובות ביותר לאזור שנבחר.
לדוגמה, מהנדס מערכות מידע שעובד בערב הסעודית יכול להגדיר את הלקוח שלו לשימוש ב-BigQuery באזור me-central2 (דמאם) באמצעות נקודת הקצה האזורית של השירות bigquery.me-central2.rep.googleapis.com.
התנועה מנותבת באמצעות Standard Tier, וסשן ה-TLS מהלקוח יסתיים ב-me-central2.
בתרחיש הזה, ה-VIP הציבורי שתואם לנקודת הקצה של השירות האזורי יגיע מקידומת IP ש-Google הכריזה עליה בנקודות ה-peering של האזור. לכן, אם המשתמש מחובר לספק אינטרנט מקומי בערב הסעודית, אפשר לנתב את התנועה בתוך תחום השיפוט שלו.
הפורמט של נקודת קצה אזורית
נקודות קצה אזוריות מופיעות בפורמט הבא:
SERVICE_NAME.REGION.rep.googleapis.com
הערכים הזמניים לשמירת מקום (placeholders) מוגדרים כך:
- SERVICE_NAME: שם של נקודת קצה של שירות נתמך, כמו
bigquery. - REGION: אזור נתמך של Google Cloud , למשל
me-central2.
הדוגמה הבאה היא נקודת קצה אזורית מלאה של BigQuery:
bigquery.me-central2.rep.googleapis.com
אזורים ושירותים נתמכים
יש תמיכה בנקודות קצה אזוריות באזורים הבאים:
| שם האזור | מיקום |
|---|---|
me-central2 |
דמאם, ערב הסעודית (KSA) |
השירותים הבאים תומכים בנקודות קצה אזוריות:
| שם השירות | נקודת קצה אזורית |
|---|---|
| App Hub |
apphub.me-central2.rep.googleapis.com
|
| Artifact Registry |
artifactregistry.me-central2.rep.googleapis.com
|
| BigQuery |
bigquery.me-central2.rep.googleapis.com
|
| Bigtable |
bigtable.me-central2.rep.googleapis.com
|
| Cloud Key Management Service (Cloud KMS) |
cloudkms.me-central2.rep.googleapis.com
|
| Cloud Logging |
logging.me-central2.rep.googleapis.com
|
| Spanner |
spanner.me-central2.rep.googleapis.com
|
| Cloud Storage |
storage.me-central2.rep.googleapis.com
|
| Dataflow |
dataflow.me-central2.rep.googleapis.com
|
| Managed Service for Apache Spark |
dataproc.me-central2.rep.googleapis.com
|
| Pub/Sub |
pubsub.me-central2.rep.googleapis.com
|
הגדרת לקוח לגישה לנקודות קצה אזוריות מהאינטרנט הציבורי
כדי להשתמש בנקודות קצה אזוריות מהאינטרנט הציבורי, קודם צריך להגדיר את הלקוח (למשל Google Cloud CLI או ספריית לקוח של Google Cloud SDK) כך שיתחבר לנקודת קצה אזורית ספציפית.
הגדרת ה-CLI של gcloud
כברירת מחדל, ה-CLI של gcloud משתמש בנקודות קצה גלובליות של שירותים, כמו bigquery.googleapis.com. כדי להשתמש בנקודת קצה אזורית של שירות, צריך להגדיר את ה-CLI של gcloud כך שישתמש בהן. לשם כך, מבצעים את השלבים הבאים.
אם שירות נתמך עדיין לא הופעל, מפעילים אותו באמצעות הפקודה הבאה:
gcloud services enable SERVICE_NAME
מחליפים את SERVICE_NAME בשם של שירות נתמך שבו רוצים להשתמש. לדוגמה:
gcloud services enable cloudkms
כדי להשתמש בנקודת קצה של שירות אזורי, צריך להגדיר את ה-CLI של gcloud באמצעות הפקודה
gcloud config set api_endpoint_overrides:gcloud config set api_endpoint_overrides/SERVICE_NAME REGIONAL_API_URL
מחליפים את הערכים הבאים בערכים משלכם:
- SERVICE_NAME: השם של השירות הנתמך שבו רוצים להשתמש.
לדוגמה:
cloudkms REGIONAL_API_URL: כתובת ה-URL של נקודת הקצה הספציפית. לדוגמה:
https://SERVICE_NAME.REGION_NAME.rep.googleapis.com/SERVICE_NAME/API_VERSION
מחליפים את הערכים הבאים בערכים משלכם:
- REGION_NAME: השם של האזור הנדרש ב- Google Cloud . לדוגמה:
me-central2 - API_VERSION: גרסת ה-API של השירות שבו רוצים להשתמש.
לדוגמה:
v1. הערה: יכול להיות שחלק מהשירותים לא ידרשו את הפרמטר הזה.
ערך REGIONAL_API_URL לדוגמה:
https://cloudkms.me-central2.rep.googleapis.com/cloudkms/v1
- REGION_NAME: השם של האזור הנדרש ב- Google Cloud . לדוגמה:
הנה דוגמה לפקודת
gcloud config set api_endpoint_overridesב-Cloud KMS:gcloud config set api_endpoint_overrides/cloudkms https://cloudkms.me-central2.rep.googleapis.com/cloudkms/v1
- SERVICE_NAME: השם של השירות הנתמך שבו רוצים להשתמש.
לדוגמה:
עכשיו, אחרי שהגדרתם את ה-CLI של gcloud להשתמש בנקודת קצה אזורית של שירות, פקודות עתידיות ישתמשו בה כברירת מחדל במקום בנקודת הקצה הגלובלית של השירות.
הגדרת ספריות הלקוח של Google Cloud SDK
כברירת מחדל, ספריות הלקוח של Google Cloud SDK משתמשות בנקודות קצה גלובליות של שירותים, כמו pubsub.googleapis.com. כדי להשתמש בנקודת קצה אזורית של שירות, צריך להגדיר את ספריות הלקוח של Google Cloud SDK כך שישתמשו בהן.
Python
מגדירים את הפרמטר api_endpoint במחלקה ClientOptions של החבילה google-api-core:
from google.api_core.client_options import ClientOptions options = ClientOptions(api_endpoint = "pubsub.me-central2.rep.googleapis.com") client = pubsub_v1.PublisherClient(client_options=options) // Alternatively client = pubsub_v1.PublisherClient(client_options={"api_endpoint": "pubsub.me-central2.rep.googleapis.com")
Java
משתמשים ב-method newBuilder של ה-class ImageAnnotatorSettings בחבילה com.google.cloud.vision:
ImageAnnotatorSettings settings = ImageAnnotatorSettings.newBuilder() .setEndpoint("pubsub.me-central2.rep.googleapis.com") .build(); ImageAnnotatorClient client = ImageAnnotatorClient.create(settings);
המשך
משתמשים בפונקציה WithEndpoint בחבילה ClientOptions של החבילה api:
client, err := pubsub.NewClient(ctx, projID, option.WithEndpoint("pubsub.me-central2.rep.googleapis.com"), // Override endpoint
.NET
מגדירים את המאפיין Endpoint ב-class ClientBuilder של הלקוח בחבילה Google.Cloud של הספרייה שבה אתם משתמשים:
string region = "me-central2"; var client = new DatasetServiceClientBuilder { Endpoint = $"pubsub.{region}.rep.googleapis.com" }.Build();
הגבלת השימוש בנקודת קצה גלובלית ל-API
כדי לאכוף את השימוש בנקודות קצה אזוריות, אתם יכולים להשתמש באילוץ מדיניות הארגון constraints/gcp.restrictEndpointUsage כדי לחסום בקשות לנקודת הקצה הגלובלית של ה-API. מידע נוסף זמין במאמר הגבלת השימוש בנקודות קצה (endpoints).