管理私人連線設定

本頁面說明如何使用 Datastream API 建立、擷取私人連線設定資訊,以及刪除私人連線設定。

私人連線設定包含 Datastream 用於透過私人網路 ( Google Cloud內部或透過 VPN 或 Interconnect 連線的外部來源) 與資料來源通訊的資訊。這類通訊會透過 Private Service Connect 介面或虛擬私有雲 (VPC) 對等互連連線進行。

使用虛擬私有雲對等互連功能建立私人連線設定

建立私人連線設定前,請確認您已完成下列事項:

  • 具備可與 Datastream 私人網路對等互連的虛擬私有雲網路。如要進一步瞭解如何建立虛擬私有雲網路,請參閱「使用虛擬私有雲端網路對等互連」。
  • 虛擬私有雲網路必須具有可用的 IP 範圍 (CIDR 區塊至少為 /29)。Datastream 會使用這個 IP 範圍,與您提供的 VPC 建立 VPC 對等互連,因此範圍不會與該 VPC 中的子網路重疊。因此,Datastream 可以與來源通訊。

建立私人連線設定時,會使用兩個參數:

  • vpcName: 指定虛擬私有雲網路的名稱和路徑。
  • subnet: 提供虛擬私有雲網路中的可用 IP 範圍。

以下程式碼顯示建立私人連線設定的要求,並指定連線方法為使用虛擬私有雲對等互連 (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 介面建立私人連線設定

建立私人連線設定前,請確認您已完成下列事項:

  • 具備可連線至 Datastream 私人網路的虛擬私有雲網路。如要進一步瞭解如何建立虛擬私有雲網路,請參閱「建立及管理虛擬私有雲網路」。

  • 在虛擬私有雲專案中建立網路連結

  • 確認 Google Cloud 和 on-premises 防火牆允許將源自網路連結 IP 位址範圍的流量,傳送至您要串流處理資料的來源資料庫。

以下程式碼顯示使用 Private Service Connect 介面建立私人連線設定的要求。您必須先執行指令,使用 validateOnly 標記 (Google Cloud CLI 為 --validate-only) 建立私人連線設定:

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

在回應中,您會取得要核准的製作人專案名稱。您必須將其新增至網路連結允許專案清單。新增完成後,請執行指令再次建立私人連線設定,這次請不要使用 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 說明文件

後續步驟