בדף הזה מוסבר איך להשתמש בנקודות קצה אזוריות של API (נקודות קצה אזוריות) ב-Google Cloud, שזמינות באזור me-central2 (ערב הסעודית).
נקודות קצה אזוריות מספקות יכולות של מיקום נתונים בהעברה על ידי ניתוב תנועה והצגתה באותו אזורGoogle Cloud שבו נמצא הלקוח. כשלקוח קורא לשירות באמצעות נקודת קצה אזורית, סשן ה-TLS של הלקוח מסתיים באזור שמצוין בשם נקודת הקצה. לכן, צריך להשתמש בנקודות קצה אזוריות רק לעומסי עבודה שאין להם תלות מחוץ לאזור או לסמכות שיפוט יחידים.
אפשר להתחבר דרך האינטרנט לנקודות קצה אזוריות ציבוריות. עבור תעבורת נתונים נכנסת מהאינטרנט, נקודות הקצה האלה משתמשות בניווט בשיטת הכי טוב שאפשר כדי לשמור על תעבורת נתונים במעבר מקומית לאזור (או לתחום השיפוט), כי הן לא משתמשות ב-Google Front End (GFE) הגלובלי. במקום זאת, הן מפענחות כתובות IP שמוכרזות רק בנקודות הפירינג הקרובות ביותר לאזור שנבחר.
לדוגמה, מהנדס נתונים שעובד בערב הסעודית יכול להגדיר את הלקוח שלו לשימוש ב-BigQuery באזור me-central2 (דמאם) באמצעות נקודת הקצה האזורית של השירות bigquery.me-central2.rep.googleapis.com.
התנועה מנותבת באמצעות המסלול הרגיל, וסשן ה-TLS מהלקוח שלהם יסתיים ב-me-central2.
בתרחיש הזה, כתובת ה-VIP הציבורית שמתאימה לנקודת הקצה של השירות האזורי תגיע מקידומת IP ש-Google פרסמה בנקודות הפירינג של האזור. לכן, אם המשתמש מחובר לספק אינטרנט מקומי בערב הסעודית, אפשר לנתב את התנועה בתחום השיפוט שלו.
הפורמט של נקודת קצה אזורית
נקודות קצה אזוריות מבוססות על הפורמט הבא:
SERVICE_NAME.REGION.rep.googleapis.com
הערכים של ה-placeholders מוגדרים כך:
- SERVICE_NAME: שם של נקודת קצה נתמכת של שירות, למשל
bigquery. - REGION: אזור נתמך Google Cloud , כמו
me-central2.
הדוגמה הבאה היא נקודת קצה אזורית מלאה ל-BigQuery:
bigquery.me-central2.rep.googleapis.com
אזורים ושירותים נתמכים
נקודות קצה אזוריות נתמכות באזורים הבאים:
| שם האזור | מיקום |
|---|---|
me-central2 |
דמאם, ערב הסעודית |
השירותים הבאים תומכים בנקודות קצה אזוריות:
| שם השירות | נקודת קצה אזורית |
|---|---|
| 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 class של חבילת 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
משתמשים בשיטה newBuilder של הסיווג 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 במחלקה ClientBuilder של הלקוח בחבילה Google.Cloud של הספרייה שבה אתם משתמשים:
string region = "me-central2"; var client = new DatasetServiceClientBuilder { Endpoint = $"pubsub.{region}.rep.googleapis.com" }.Build();
הגבלת השימוש בנקודת קצה ל-API גלובלית
כדי לאכוף את השימוש בנקודות קצה אזוריות, אפשר להשתמש באילוץ constraints/gcp.restrictEndpointUsage של מדיניות הארגון כדי לחסום בקשות לנקודת קצה ל-API גלובלית. מידע נוסף מופיע במאמר בנושא הגבלת השימוש בנקודות קצה.