このページでは、Datastream API を使用してプライベート接続構成を作成、情報の取得、削除する方法について説明します。
プライベート接続の構成には、Datastream がプライベート ネットワーク( Google Cloud内または VPN もしくは相互接続で接続される外部ソース)を介してデータソースと通信するために使用する情報が含まれています。この通信は、Private Service Connect インターフェースまたは Virtual Private Cloud(VPC)ピアリング接続を介して行われます。
VPC ピアリングを使用してプライベート接続構成を作成する
プライベート接続構成を作成する前に、次のことを確認してください。
- Datastream のプライベート ネットワークにピアリングする VPC ネットワークがある。VPC ネットワークの作成の詳細については、VPC ネットワーク ピアリングの使用をご覧ください。
- 使用可能な IP 範囲(/29 の最小 CIDR ブロック)が VPC ネットワークにあること。Datastream は、この IP 範囲を使用して、指定された VPC との VPC ピアリングを作成します。そのため、この範囲は、その VPC 内のサブネットと重複できません。これにより、Datastream はソースと通信できます。
プライベート接続構成の作成に関連付けられているパラメータは次の 2 つです。
vpcName:
VPC ネットワークの名前とパスを指定します。subnet:
VPC ネットワーク上で使用可能な IP 範囲を指定します。
次のコードは、プライベート接続構成の作成リクエストを示し、接続方法に VPC ピアリング(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 のプライベート ネットワークに接続する VPC ネットワークがある。VPC ネットワークの作成の詳細については、VPC ネットワークの作成と管理をご覧ください。
VPC プロジェクトにネットワーク アタッチメントを作成する。
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
レスポンスで、承認するプロデューサー プロジェクトの名前を取得します。ネットワーク アタッチメントの許可済みプロジェクト リストに追加する必要があります。
describe
メソッドを使用して、ネットワーク アタッチメントの現在のproducer-accept-list
を取得します。詳細については、Compute Engine の Google Cloud SDK のドキュメントをご覧ください。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 のドキュメントをご覧ください。
次のステップ
- プライベート接続の詳細を確認する。
- Datastream で使用できるその他のネットワーク接続オプションについて学習します。
- Datastream API を使用して接続プロファイルを管理する方法を確認する。
- Datastream API を使用してストリームを管理する方法を学習します。
- Datastream API の使用方法については、リファレンス ドキュメントをご覧ください。