בדף הזה מוסבר איך להשתמש ב-Datastream API כדי ליצור הגדרות של קישוריות פרטית, לאחזר מידע עליהן ולמחוק אותן.
הגדרות של קישוריות פרטית מכילות מידע ש-Datastream משתמש בו כדי לתקשר עם מקור נתונים ברשת פרטית (באופן פנימי ב- Google Cloud, או עם מקורות חיצוניים שמחוברים דרך VPN או Interconnect). התקשורת הזו מתבצעת דרך ממשק Private Service Connect או דרך חיבור של קישור בין רשתות VPC שכנות (peering).
יצירת הגדרת קישוריות פרטית באמצעות קישור בין רשתות VPC שכנות (peering)
לפני שיוצרים הגדרת קישוריות פרטית, חשוב לוודא ש:
- צריכה להיות לכם רשת VPC כדי ליצור קישור לרשת הפרטית של Datastream. מידע נוסף על יצירת רשת VPC זמין במאמר שימוש ב-VPC Network Peering.
- יש לכם טווח כתובות IP זמין (עם בלוק CIDR של /29 לפחות) ברשת ה-VPC. Datastream משתמש בטווח כתובות ה-IP הזה כדי ליצור קישור בין רשתות שכנות (peering) של VPC עם ה-VPC שצוין, ולכן הטווח לא יכול לחפוף לתת-רשתות בתוך ה-VPC הזה. כתוצאה מכך, Datastream יכול לתקשר עם המקור.
יש שני פרמטרים שקשורים ליצירת הגדרת קישוריות פרטית:
vpcName:מציינים את השם והנתיב של רשת ה-VPC.subnet:מציינים טווח כתובות IP שזמין ברשת ה-VPC.
בדוגמת הקוד הבאה מוצגת בקשה ליצירת הגדרת קישוריות פרטית, ומוגדרת שיטת הקישוריות כשימוש ב-VPC peering (vpcPeeringConfig).
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections?privateConnectionId=PRIVATE_CONNECTIVITY_CONFIGURATION_ID { "displayName": "DISPLAY_NAME", "vpcPeeringConfig": { "vpcName": "VPC_NAME", "subnet": "SUBNET" } }
לדוגמה:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections?privateConnectionId=myPrivateConnection
{
"displayName": "my-private-connection",
"vpcPeeringConfig": {
"vpcName": "projects/my-project/global/networks/my-vpc",
"subnet": "10.11.12.13/29"
}
}
אחרי שיוצרים את הגדרת הקישוריות הפרטית, אפשר להציג מידע עליה באמצעות קריאה לשיטה privateConnections/get. הפלט יופיע, וידמה לזה:
{
"name": "projects/projectId/location/us-central1/privateConnections/myPrivateConnection",
"createTime": "2019-12-22T16:17:37.159786963Z",
"updateTime": "2019-12-22T16:17:37.159786963Z",
"displayName": "my-private-connection",
"state": "CREATED",
"vpcPeeringConfig": {
"vpcName": "projects/my-project/global/networks/my-vpc",
"subnet": "10.11.12.13/29"
}
}
gcloud
gcloud datastream private-connections create PRIVATE_CONNECTION_NAME --location=LOCATION--display-name=DISPLAY_NAME --vpc=VPC_NAME --subnet=SUBNET
לדוגמה:
gcloud datastream private-connections create my-privateConnection --location=us-central1--display-name=my-private-connection --vpc=my-vpc --subnet=10.11.12.13/29
יצירת הגדרת קישוריות פרטית באמצעות ממשק Private Service Connect
לפני שיוצרים הגדרת קישוריות פרטית, חשוב לוודא ש:
צריכה להיות רשת VPC להתחברות לרשת הפרטית של Datastream. מידע נוסף על יצירת רשת VPC זמין במאמר יצירה וניהול של רשתות VPC.
יוצרים רכיב Network Attachment בפרויקט ה-VPC.
מוודאים ש- Google Cloud וחומת האש המקומית מאפשרים תעבורה מטווח כתובות ה-IP של קובץ הרשת אל מסד הנתונים של המקור שממנו רוצים להזרים נתונים.
בדוגמה הבאה מוצגת בקשה ליצירת הגדרת קישוריות פרטית באמצעות ממשקי Private Service Connect. קודם צריך להריץ פקודה כדי ליצור הגדרת קישוריות פרטית עם הדגל validateOnly (--validate-only ב-Google Cloud CLI):
REST
POST "https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections?privateConnectionId=PRIVATE_CONNECTIVITY_CONFIGURATION_ID&validateOnly=true"
gcloud
gcloud datastream private-connections create PRIVATE_CONNECTION_NAME --location=LOCATION--display-name=DISPLAY_NAME --network-attachment=NETWORK_ATTACHMENT_NAME --validate-only
בתשובה, מקבלים את השם של פרויקט הספק שצריך לאשר. צריך להוסיף אותו לרשימת הפרויקטים המורשים לצירוף לרשת:
- משתמשים בשיטה
describeכדי לקבל אתproducer-accept-listהנוכחי עבור קובץ הרשת. מידע נוסף זמין במאמרי העזרה של Google Cloud SDK בנושא Compute Engine. - מוסיפים את פרויקט המפיק לרשימה הזו באמצעות השיטה
update. מידע נוסף זמין במאמרי העזרה של Google Cloud SDK בנושא Compute Engine.
אחרי שמוסיפים את פרויקט היצרן לרשימת הפרויקטים המותרים, מריצים שוב את הפקודה ליצירת הגדרת הקישוריות הפרטית, הפעם בלי הדגל validateOnly:
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections?privateConnectionId=PRIVATE_CONNECTIVITY_CONFIGURATION_ID { "displayName": "DISPLAY_NAME", "pscInterfaceConfig": { "networkAttachment": "NETWORK_ATTACHMENT_NAME" } }
לדוגמה:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections?privateConnectionId=myPrivateConnection
{
"displayName": "my-private-connection",
"pscInterfaceConfig": {
"networkAttachment": "projects/my-project/regions/us-central1/networkAttachments/my-na"
}
}
gcloud
gcloud datastream private-connections create PRIVATE_CONNECTION_NAME --location=LOCATION--display-name=DISPLAY_NAME --network-attachment=NETWORK_ATTACHMENT_NAME
לדוגמה:
gcloud datastream private-connections create my-private-connection --location=us-central1--display-name=my-private-connection --network-attachment=my-network-attachment
קבלת מידע על הגדרת קישוריות פרטית
בדוגמה הבאה מוצגת בקשה לאחזור מידע על הגדרת קישוריות פרטית שנוצרה.
REST
GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections/PRIVATE_CONNECTIVITY_CONFIGURATION_ID
לדוגמה:
GET https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections/myPrivateConnection
gcloud
מידע נוסף על שימוש ב-gcloud כדי לאחזר מידע על הגדרות הקישוריות הפרטית זמין במסמכי התיעוד של Google Cloud SDK.
הצגת רשימה של הגדרות קישוריות פרטיות
הקוד הבא מציג בקשה לאחזור מידע על כל ההגדרות של קישוריות פרטית.
REST
GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections
gcloud
מידע נוסף על שימוש ב-gcloud כדי לאחזר מידע על כל הגדרות הקישוריות הפרטיות זמין במסמכי Google Cloud SDK.
מחיקת הגדרה של קישוריות פרטית
בדוגמה הבאה מוצגת בקשה למחיקת הגדרת קישוריות פרטית. אחרי שמוחקים את ההגדרה, פרופילי חיבור שמשתמשים בהגדרה הזו לא יפעלו. בנוסף, לא תהיה אפשרות להפעיל סטרימינג באמצעות פרופילי החיבור האלה.
כדי לפתור את הבעיה, צריך להקצות לכל פרופיל חיבור הגדרה שונה של קישוריות פרטית. מידע נוסף זמין במאמר בנושא עדכון פרופיל חיבור.
REST
DELETE https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections/[private-connectivity-configuration-id] {"force": true}
לדוגמה:
DELETE https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections/myPrivateConnection {"force": true}
gcloud
מידע נוסף על שימוש ב-gcloud כדי למחוק את הגדרת הקישוריות הפרטית זמין במסמכי Google Cloud SDK.
המאמרים הבאים
- מידע נוסף על קישוריות פרטית
- אפשרויות נוספות לקישוריות לרשת שאפשר להשתמש בהן עם Datastream
- איך משתמשים ב-Datastream API כדי לנהל פרופילים של חיבורים
- איך משתמשים ב-Datastream API לניהול הזרמים
- מידע נוסף על השימוש ב-Datastream API זמין במאמרי העזרה.