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:
- Use o método
describe
para obter oproducer-accept-list
atual para o anexo de rede. Para mais informações, consulte a documentação do SDK do Google Cloud do Compute Engine. - 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?
- Saiba mais acerca da conetividade privada.
- Saiba mais acerca de outras opções de conetividade de rede que pode usar com o fluxo de dados.
- Saiba como usar a API Datastream para gerir perfis de associação.
- Saiba como usar a API Datastream para gerir streams.
- Para mais informações sobre a utilização da API Datastream, consulte a documentação de referência.