É possível usar a API Datastream para criar, recuperar, listar e excluir configurações de conectividade particular. Essas configurações permitem que o Datastream se comunique de maneira privada com fontes de dados no Google Cloud ou fontes externas conectadas por meio do Cloud VPN ou do Cloud Interconnect. É possível estabelecer conectividade particular usando o peering de rede de nuvem privada virtual (VPC) ou uma interface do Private Service Connect.
Para usar uma conexão particular, os streams, os perfis de conexão e a configuração de conectividade particular precisam estar na mesma região. Para evitar a adição manual de regras de firewall entre regiões, execute o banco de dados de origem em uma sub-rede nessa região.
Criar uma configuração de conectividade particular usando o peering de VPC
Antes de criar uma configuração de conectividade privada, verifique se você:
- Ter uma rede VPC para fazer peering na rede privada do Datastream. Para mais informações sobre como criar uma rede VPC, consulte Como usar o peering de rede VPC.
- Ter um intervalo de IP disponível (com um bloco CIDR de /29 no mínimo) na rede VPC. O Datastream usa esse intervalo de IP para criar o peering de VPC com a VPC fornecida. Assim, o intervalo não pode se sobrepor às sub-redes nessa VPC. Como resultado, o Datastream pode se comunicar com a origem.
Há dois parâmetros associados à criação de uma configuração de conectividade privada:
vpcName:Especifique o nome e o caminho da rede VPC.subnet:Aloque um intervalo de IP disponível na rede VPC.
O código a seguir mostra uma solicitação para criar uma configuração de conectividade privada e especifica o método de conectividade como usando o peering de 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" } }
Exemplo:
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"
}
}
Após a criação da configuração de conectividade particular, é possível ver informações sobre ela chamando o método privateConnections/get. A saída será assim:
{
"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
Exemplo:
gcloud datastream private-connections create my-privateConnection --location=us-central1--display-name=my-private-connection --vpc=my-vpc --subnet=10.11.12.13/29
Criar uma configuração de conectividade privada usando uma interface do Private Service Connect
Antes de criar uma configuração de conectividade privada, verifique se você:
Ter uma rede VPC para se conectar à rede privada do Datastream. Para mais informações sobre como criar uma rede VPC, consulte Criar e gerenciar redes VPC.
Crie um anexo de rede no projeto VPC.
Verifique se o Google Cloud e o firewall local permitem o tráfego do intervalo de endereços IP do anexo de rede para o banco de dados de origem do qual você quer transmitir dados.
O código a seguir mostra uma solicitação para criar uma configuração de conectividade particular
usando interfaces do Private Service Connect. Primeiro, execute um
comando para criar uma configuração de conectividade particular com a flag validateOnly (--validate-only para a 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
Na resposta, você recebe o nome do projeto produtor a ser aprovado. É necessário adicioná-lo à lista de projetos permitidos do anexo de rede:
- Use o método
describepara receber oproducer-accept-listatual do anexo de rede. Para mais informações, consulte a documentação do SDK Google Cloud do Compute Engine. - Adicione o projeto produtor a essa lista usando o método
update. Para mais informações, consulte a documentação do SDK Google Cloud do Compute Engine.
Depois de adicionar o projeto do produtor à lista de projetos permitidos, execute o comando
para criar a configuração de conectividade particular novamente, desta vez sem a
flag 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" } }
Exemplo:
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
Exemplo:
gcloud datastream private-connections create my-private-connection --location=us-central1--display-name=my-private-connection --network-attachment=my-network-attachment
Receber informações sobre uma configuração de conectividade privada
O código a seguir mostra uma solicitação para recuperar informações sobre uma configuração de conectividade particular que foi criada.
REST
GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections/PRIVATE_CONNECTIVITY_CONFIGURATION_ID
Exemplo:
GET https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections/myPrivateConnection
gcloud
Para mais informações sobre como usar gcloud para recuperar informações sobre sua configuração de conectividade privada, consulte a documentação do SDK Google Cloud.
Listar configurações de conectividade particulares
O código a seguir mostra uma solicitação para recuperar informações sobre todas as configurações de conectividade particulares.
REST
GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections
gcloud
Para mais informações sobre como usar gcloud para recuperar informações sobre todas as suas configurações de conectividade privada, consulte a documentação do SDK Google Cloud.
Excluir uma configuração de conectividade privada
O código a seguir mostra uma solicitação para excluir uma configuração de conectividade particular. Depois que a configuração for excluída, todos os perfis de conexão que usam a configuração não funcionarão. Além disso, os streams que usam esses perfis de conexão não poderão ser operados.
Para resolver esse problema, atribua uma configuração de conectividade privada diferente a cada perfil de conexão. Veja mais informações em Atualizar um perfil de conexão.
REST
DELETE https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections/[private-connectivity-configuration-id] {"force": true}
Exemplo:
DELETE https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections/myPrivateConnection {"force": true}
gcloud
Para mais informações sobre como usar gcloud para excluir sua configuração de conectividade privada, consulte a documentação do SDK Google Cloud.
A seguir
- Saiba mais sobre conectividade privada.
- Saiba mais sobre outras opções de conectividade de rede que podem ser usadas com o Datastream.
- Saiba como usar a API Datastream para gerenciar perfis de conexão.
- Saiba como usar a API Datastream para gerenciar streams.
- Para mais informações sobre como usar a API Datastream, consulte a documentação de referência.