Gerenciar configurações de conectividade privada

Nesta página, você vai aprender a usar a API Datastream para criar, recuperar informações e excluir configurações de conectividade particular.

As configurações de conectividade particular contêm informações que o Datastream usa para se comunicar com uma fonte de dados em uma rede particular (internamente no Google Cloudou com fontes externas conectadas por VPN ou Interconnect). Essa comunicação acontece por uma interface do Private Service Connect ou uma conexão de peering de nuvem privada virtual (VPC).

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 redes VPC.
  • Aloque um intervalo de IP disponível 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 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, é necessário executar um comando para criar uma configuração de conectividade particular com a flag validateOnly (--validate-only para a CLI do Google Cloud):

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 --networkAttachment=NETWORK_ATTACHMENT_NAME --validate-only

Na resposta, você recebe o nome do projeto do produtor para aprovação. É necessário adicionar o projeto à lista de projetos permitidos do anexo de rede. Depois de adicionar, 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 --networkAttachment=NETWORK_ATTACHMENT_NAME

Exemplo:

gcloud datastream private-connections create my-privateConnection --location=us-central1 --display-name=my-private-connection --networkAttachment=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 extrair informações sobre a configuração de conectividade particular, consulte a documentação do SDK do 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 o gcloud para extrair informações sobre todas as suas configurações de conectividade particular, consulte a documentação do SDK do 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 a configuração de conectividade particular, consulte a documentação do SDK do Google Cloud.

A seguir