ניהול הגדרות של קישוריות פרטית

בדף הזה מוסבר איך להשתמש ב-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

בתשובה, מקבלים את השם של פרויקט הספק שצריך לאשר. צריך להוסיף אותו לרשימת הפרויקטים המורשים לצירוף לרשת:

  1. משתמשים בשיטה describe כדי לקבל את producer-accept-list הנוכחי עבור קובץ הרשת. מידע נוסף זמין במאמרי העזרה של Google Cloud SDK בנושא Compute Engine.
  2. מוסיפים את פרויקט המפיק לרשימה הזו באמצעות השיטה 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.

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