Faça a gestão das configurações de conetividade privada

Nesta página, vai aprender a usar a API Datastream para criar, obter informações sobre e eliminar configurações de conetividade privada.

As configurações de conetividade privada contêm informações que o Datastream usa para comunicar com uma origem de dados através de uma rede privada (internamente no Google Cloudou com origens externas ligadas através de VPN ou interconexão). Esta comunicação ocorre através de uma interface do Private Service Connect ou de uma ligação de intercâmbio da nuvem virtual privada (VPC).

Crie uma configuração de conetividade privada através do peering de VPC

Antes de criar uma configuração de conetividade privada, certifique-se de que:

  • Ter uma rede VPC para estabelecer peering com a rede privada do Datastream. Para mais informações sobre como criar uma rede da VPC, consulte o artigo Usar o intercâmbio da rede da VPC.
  • Ter um intervalo de IP disponível (com um bloco CIDR de /29, no mínimo) na rede VPC. O fluxo de dados usa este intervalo de IPs para criar uma interligação de VPC com a VPC fornecida, pelo que o intervalo não pode sobrepor-se a sub-redes nessa VPC. Consequentemente, o fluxo de dados pode comunicar com a origem.

Existem dois parâmetros associados à criação de uma configuração de conetividade privada:

  • vpcName: Especifique o nome e o caminho da rede de VPC.
  • subnet: Indique um intervalo de IPs disponível na rede de VPC.

O código seguinte mostra um pedido para criar uma configuração de conetividade privada e especifica o método de conetividade como a utilização do 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"
  }
}

Por 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"
  }
}

Depois de criar a configuração de conetividade privada, pode ver informações sobre a mesma chamando o método privateConnections/get. O resultado é apresentado de forma semelhante ao seguinte:

{
  "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

Por 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

Crie uma configuração de conetividade privada através de uma interface do Private Service Connect

Antes de criar uma configuração de conetividade privada, certifique-se de que:

  • Ter uma rede VPC para estabelecer ligação à rede privada do Datastream. Para mais informações sobre como criar uma rede VPC, consulte o artigo Crie e faça a gestão de redes VPC.

  • Crie uma associação da rede no seu projeto de VPC.

  • Verifique se Google Cloud e a firewall no local permitem o tráfego do intervalo de endereços IP de ligação à rede para a base de dados de origem a partir da qual quer transmitir dados.

O código seguinte mostra um pedido para criar uma configuração de conetividade privada usando interfaces do Private Service Connect. Primeiro, tem de executar um comando para criar uma configuração de conetividade privada 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 --network-attachment=NETWORK_ATTACHMENT_NAME --validate-only

Na resposta, recebe o nome do projeto produtor a aprovar. Tem de a adicionar à lista de projetos permitidos de anexos de rede:

  1. Use o método describe para obter o producer-accept-list atual para o anexo de rede. Para mais informações, consulte a documentação do SDK do Google Cloud do Compute Engine.
  2. Adicione o projeto produtor a esta lista através do método update. Para mais informações, consulte a documentação do Google Cloud SDK do Compute Engine.

Depois de adicionar o projeto produtor à lista de projetos permitidos, execute o comando para criar novamente a configuração de conetividade privada, 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"
  }
}

Por 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

Por exemplo:

gcloud datastream private-connections create my-private-connection --location=us-central1 --display-name=my-private-connection --network-attachment=my-network-attachment

Receba informações sobre uma configuração de conetividade privada

O código seguinte mostra um pedido para obter informações sobre uma configuração de conetividade privada que foi criada.

REST

GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections/PRIVATE_CONNECTIVITY_CONFIGURATION_ID

Por exemplo:

GET https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections/myPrivateConnection
     

gcloud

Para mais informações sobre a utilização de gcloud para obter informações sobre a configuração de conetividade privada, consulte a documentação do Google Cloud SDK.

Apresente as configurações de conetividade privada

O código seguinte mostra um pedido para obter informações sobre todas as suas configurações de conetividade privada.

REST

GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections

gcloud

Para mais informações sobre a utilização de gcloud para obter informações sobre todas as suas configurações de conetividade privada, consulte a documentação do Google Cloud SDK.

Elimine uma configuração de conetividade privada

O código seguinte mostra um pedido para eliminar uma configuração de conetividade privada. Depois de a configuração ser eliminada, os perfis de ligação que a usam deixam de funcionar. Além disso, todas as streams que usam estes perfis de associação não vão estar operacionais.

Para resolver este problema, atribua uma configuração de conetividade privada diferente a cada perfil de ligação. Para mais informações, consulte o artigo Atualize um perfil de associação.

REST

DELETE https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections/[private-connectivity-configuration-id] {"force": true} 

Por exemplo:

DELETE https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections/myPrivateConnection {"force": true} 

gcloud

Para mais informações sobre a utilização de gcloud para eliminar a configuração de conetividade privada, consulte a documentação do Google Cloud SDK.

O que se segue?