管理私人連線設定

本頁面說明如何使用 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 和地端部署防火牆允許將源自網路連結 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

系統會在回應中提供要核准的製作人專案名稱。您需要將專案新增至網路連結允許的專案清單:

  1. 使用 describe 方法取得網路附加元件的目前 producer-accept-list。詳情請參閱 Compute Engine Google Cloud SDK 說明文件
  2. 使用 update 方法將生產端專案新增至這個清單。詳情請參閱 Compute Engine Google Cloud SDK 說明文件

將生產端專案新增至允許的專案清單後,請再次執行指令來建立私人連線設定,這次請勿使用 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 說明文件

後續步驟