É possível usar o peering de redes VPC para permitir que o Datastream se comunique com recursos na sua rede de nuvem privada virtual (VPC) de forma particular.
O peering de redes VPC é uma conexão entre sua rede VPC e a rede privada do Datastream, permitindo que o Datastream se comunique com recursos internos usando endereços IP internos. O uso da conectividade particular estabelece uma conexão dedicada na rede do Datastream, ou seja, nenhum outro cliente pode compartilhá-la.
A conexão de peering de redes VPC entre sua rede VPC e a rede VPC do Datastream permite que o Datastream se conecte a:
- Recursos como máquinas virtuais (VMs) e balanceadores de carga internos na sua rede VPC.
- Recursos em outras redes conectadas à sua rede VPC usando túneis do Cloud VPN, anexos de VLAN de interconexão dedicada, anexos de VLAN de interconexão por parceiro, e Cloud Routers do NCC.
A conexão de peering de redes VPC entre sua rede VPC e a rede VPC do Datastream não permite que o Datastream se conecte a:
- Endpoints do Private Service Connect localizados na sua rede VPC.
- Recursos localizados em outra rede VPC, com peering na sua rede VPC, mas não com peering na rede VPC do Datastream. Isso ocorre porque o peering de redes VPC não fornece roteamento transitivo.
Para estabelecer a conectividade entre o Datastream e um recurso que só pode ser acessado pela sua rede VPC, use uma VM de tradução de endereço de rede (NAT) na sua rede VPC. Um caso de uso comum para uma VM NAT é quando o Datastream precisa se conectar a uma instância do Cloud SQL.
Esta página descreve um exemplo de configuração de VM NAT que permite que o Datastream se conecte de forma particular a uma instância do Cloud SQL.

Pré-requisitos de peering de VPC
Antes de criar uma configuração de conectividade particular, siga estas etapas para que o Datastream possa criar a conexão de peering de VPC com seu projeto:
- Tenha uma rede VPC que possa fazer peering para a rede privada do Datastream e que atenda aos requisitos descritos na página Peering de redes VPC. Para mais informações sobre como criar essa rede, consulte Como usar o peering de redes VPC.
- Identifique um intervalo de IP disponível (com um bloco CIDR de /29) na rede VPC. Esse não pode ser um intervalo de IP que já exista como uma sub-rede, um intervalo de IP pré-alocado de acesso a serviços particulares ou qualquer rota (que não seja a rota padrão 0.0.0.0) que inclua o intervalo de IP. O intervalo de IP também não pode se sobrepor aos intervalos de IP internos reservados pelo Datastream (
10.1.0.0/16e10.2.2.0/24). O Datastream usa esse intervalo de IP para criar uma sub-rede e se comunicar com o banco de dados de origem. A tabela a seguir descreve intervalos de IP válidos.
| Intervalo | Descrição |
|---|---|
10.0.0.0/8172.16.0.0/12192.168.0.0/16
|
Endereços IP particulares RFC 1918 |
100.64.0.0/10 |
Espaço de endereço compartilhado RFC 6598 |
192.0.0.0/24 |
Atribuições do protocolo IETF RFC 6890 |
192.0.2.0/24 (TEST-NET-1)198.51.100.0/24 (TEST-NET-2)203.0.113.0/24 (TEST-NET-3) |
Documentação RFC 5737 |
192.88.99.0/24 |
Relé IPv6 para IPv4 (descontinuado) RFC 7526 |
198.18.0.0/15 |
Teste de benchmark RFC 2544 |
Verifique se os recursos na sua rede VPC que se comunicam com o Datastream (como VMs NAT, balanceadores de carga internos ou bancos de dados de origem e destino) não usam endereços IP nos intervalos
10.1.0.0/16ou10.2.2.0/24. Esses intervalos são reservados para a infraestrutura interna do Datastream, e o uso deles para seus recursos pode causar conflitos de roteamento e falhas de conectividade imprevisíveis.Verifique se o firewall local permite o tráfego do intervalo de IP selecionado. Google Cloud Se não for o caso, crie uma regra de firewall de entrada que permita o tráfego na porta do banco de dados de origem e verifique se o intervalo de endereços IPv4 na regra de firewall é o mesmo intervalo de endereços IP alocado ao criar o recurso de conectividade particular:
gcloud compute firewall-rules create FIREWALL-RULE-NAME \ --direction=INGRESS \ --priority=PRIORITY \ --network=PRIVATE_CONNECTIVITY_VPC \ --project=VPC_PROJECT \ --action=ALLOW \ --rules=FIREWALL_RULES \ --source-ranges=IP-RANGE
Substitua:
- FIREWALL-RULE-NAME: o nome da regra de firewall a ser criada.
- PRIORITY: a prioridade da regra, expressa como um número inteiro entre 0 e 65535, inclusive. O valor precisa ser menor que o valor definido para a regra de bloqueio de tráfego, se ela existir. Valores de prioridade mais baixos implicam maior precedência.
- PRIVATE_CONNECTIVITY_VPC: a rede VPC que pode fazer peering para a rede privada do Datastream e que atende aos requisitos descritos na página Peering de redes VPC. Essa é a VPC especificada ao criar a configuração de conectividade particular.
- VPC_PROJECT: o projeto da rede VPC.
- FIREWALL_RULES: a lista de protocolos e portas a que a
regra de firewall se aplica, por exemplo,
tcp:80. A regra precisa permitir o tráfego TCP para o endereço IP e a porta do banco de dados de origem ou do proxy. Como a conectividade particular pode oferecer suporte a vários bancos de dados, a regra precisa considerar o uso real da sua configuração. IP-RANGE: o intervalo de endereços IP que o Datastream usa para se comunicar com o banco de dados de origem. Esse é o mesmo intervalo indicado no campo Alocar um intervalo de IP ao criar a configuração de conectividade particular .
Talvez também seja necessário criar uma regra de firewall de saída idêntica para permitir o tráfego de volta ao Datastream.
São atribuídas a um papel que contém a permissão
compute.networks.list. Essa permissão fornece as permissões do IAM necessárias para listar redes VPC no projeto. Para saber quais papéis contêm essa permissão, consulte a referência de permissões do IAM.
Pré-requisitos de VPC compartilhada
Se você estiver usando VPC compartilhada, realize as seguintes ações além das etapas descritas na seção Pré-requisitos de VPC:
No projeto de serviço:
- Ative a API Datastream.
Encontre o endereço de e-mail usado para a conta de serviço do Datastream service account. As contas de serviço do Datastream são criadas quando você realiza uma das seguintes ações:
- Você cria um recurso do Datastream, como um perfil de conexão ou um stream.
- Você cria uma configuração de conectividade particular, seleciona sua VPC compartilhada e clica em Criar conta de serviço do Datastream. A conta de serviço é criada no projeto host.
Para encontrar o endereço de e-mail usado para a conta de serviço do Datastream, encontre o Número do projeto na Google Cloud página inicial do console. O endereço de e-mail da conta de serviço é
service-[project_number]@gcp-sa-datastream.iam.gserviceaccount.com.
No projeto host:
Conceda a permissão de papel do Identity and Access Management (IAM)
compute.networkAdminà conta de serviço do Datastream. Esse papel só é necessário ao criar o peering de VPC. Depois que o peering é estabelecido, você não precisa mais do papel.Se a organização não permitir a concessão da permissão, crie um papel personalizado com as seguintes permissões mínimas para criar e excluir recursos de conexão particular:
Para mais informações sobre papéis personalizados, consulte Criar e gerenciar papéis personalizados.
Configurar uma VM NAT
Identifique o endereço IP da instância do Cloud SQL a que o Datastream precisa se conectar.
Identifique sua rede VPC. Essa é a rede VPC conectada à rede VPC do Datastream usando o peering de redes VPC.
Se ainda não tiver feito isso, crie uma configuração de conectividade particular no Datastream. Isso cria a conexão de peering de redes VPC que conecta sua rede VPC e a rede VPC do Datastream. Anote o intervalo de endereços IP usado pela configuração de conectividade particular do Datastream.
Escolha um tipo de máquina para usar na VM NAT criada na próxima etapa. Google Cloud impõe um limite máximo de largura de banda de saída por instância, para pacotes roteados por próximos saltos em uma rede VPC, de acordo com o tipo de máquina da instância de VM. Para mais informações, consulte Saída para destinos roteáveis em uma rede VPC e Largura de banda máxima de saída por instância.
Crie a VM NAT na sua rede VPC. Ao criar a VM, é necessário ativar o encaminhamento de IP. Para mais informações, consulte Ativar encaminhamento de IP para instâncias.
Se a rede VPC for uma rede VPC compartilhada, você poderá criar a VM NAT no projeto host ou em qualquer projeto de serviço, desde que a interface de rede da VM NAT esteja na rede VPC compartilhada.
- Para minimizar o tempo de retorno da rede, crie a VM NAT na mesma região do Datastream.
- Este exemplo pressupõe que a VM NAT tenha uma única interface de rede.
- Execute o script em uma distribuição do Linux, por exemplo, Debian 12.
- Use o seguinte script de inicialização. O script de inicialização é executado pela raiz sempre que a VM é iniciada. Esse script inclui comentários explicando o que cada linha do script faz. No script, substitua CLOUD_SQL_INSTANCE_IP pelo endereço IP da instância do Cloud SQL e DATABASE_PORT pela porta de destino usada pelo software do banco de dados.
#! /bin/bash export DB_ADDR=CLOUD_SQL_INSTANCE_IP export DB_PORT=DATABASE_PORT # Enable the VM to receive packets whose destinations do # not match any running process local to the VM echo 1 > /proc/sys/net/ipv4/ip_forward # Ask the Metadata server for the IP address of the VM nic0 # network interface: md_url_prefix="http://169.254.169.254/computeMetadata/v1/instance" vm_nic_ip="$(curl -H "Metadata-Flavor: Google" ${md_url_prefix}/network-interfaces/0/ip)" # Clear any existing iptables NAT table entries (all chains): iptables -t nat -F # Create a NAT table entry in the prerouting chain, matching # any packets with destination database port, changing the destination # IP address of the packet to the SQL instance IP address: iptables -t nat -A PREROUTING \ -p tcp --dport $DB_PORT \ -j DNAT \ --to-destination $DB_ADDR # Create a NAT table entry in the postrouting chain, matching # any packets with destination database port, changing the source IP # address of the packet to the NAT VM's primary internal IPv4 address: iptables -t nat -A POSTROUTING \ -p tcp --dport $DB_PORT \ -j SNAT \ --to-source $vm_nic_ip # Save iptables configuration: iptables-save
Crie uma regra de firewall de permissão de entrada (ou regra em uma política de firewall de rede global, política de firewall de rede regional ou política de firewall hierárquica) com estas características:
- Direção: entrada
- Ação: permitir
- Parâmetro de destino: pelo menos a VM NAT
- Parâmetro de origem: o intervalo de endereços IP usado pela configuração de conectividade particular do Datastream
- Protocolo: TCP
- Porta: precisa incluir pelo menos o DATABASE_PORT
A regra de firewall de permissão implícita de saída permite que a VM NAT envie pacotes para qualquer destino. Se a rede VPC usar regras de firewall de negação de saída, talvez seja necessário criar uma regra de firewall de permissão de saída para permitir que a VM NAT envie pacotes para a instância do Cloud SQL. Se uma regra de permissão de saída for necessária, use estes parâmetros:
- Direção: saída
- Ação: permitir
- Parâmetro de destino: pelo menos a VM NAT
- Parâmetro de destino: o endereço IP da instância do Cloud SQL
- Protocolo: TCP
- Porta: precisa incluir pelo menos o DATABASE_PORT
Verifique se você configurou a instância do Cloud SQL para aceitar conexões do endereço IPv4 interno principal usado pela interface de rede da VM NAT. Para instruções, consulte Autorizar com redes autorizadas na documentação do Cloud SQL.
Crie um perfil de conexão em Datastream. Nos detalhes da conexão do perfil, especifique o endereço IPv4 interno principal da VM NAT criada. Insira a porta do banco de dados de origem no campo de porta do perfil de conexão.
Configurar um par de VMs NAT e um balanceador de carga de rede de passagem interna
Para aumentar a confiabilidade de uma solução de VM NAT, considere a arquitetura a seguir, que usa um par de VMs NAT e um balanceador de carga de rede de passagem interna:
Crie duas VMs NAT em zonas diferentes da mesma região. Siga as instruções Configurar uma VM NAT para criar cada VM e coloque cada VM no próprio grupo de instâncias não gerenciadas zonais.
Como alternativa, você pode criar um grupo de instâncias gerenciadas regional. No modelo de grupo gerenciado de instâncias, inclua um script de inicialização como o exemplo de script de inicialização nas instruções Configurar uma VM NAT.
Crie um balanceador de carga de rede de passagem interna cujo serviço de back-end use o grupo ou grupos de instâncias da etapa anterior como back-ends. Para um exemplo de balanceador de carga de rede de passagem interna, consulte Configurar um balanceador de carga de rede de passagem interna com grupos de instâncias de VM back-ends.
Ao configurar a verificação de integridade do balanceador de carga, você pode usar uma verificação de integridade TCP que usa uma porta TCP de destino correspondente ao DATABASE_PORT. Os pacotes de verificação de integridade são roteados para o CLOUD_SQL_INSTANCE_IP de acordo com a configuração da VM NAT. Como alternativa, você pode executar um processo local na VM NAT que responde a uma verificação de integridade TCP ou HTTP em uma porta personalizada.
Crie regras de firewall e configure redes autorizadas do Cloud SQL conforme descrito nas instruções Configurar uma VM NAT. Verifique se as redes autorizadas do Cloud SQL incluem o endereço IPv4 interno principal de ambas as VMs NAT.
Ao criar um perfil de conexão do Datastream, especifique o endereço IP da regra de encaminhamento do balanceador de carga de rede de passagem interna nos detalhes da conexão do perfil.
A seguir
- Saiba como criar uma configuração de conectividade particular.
- Saiba como visualizar a configuração de conectividade particular.
- Saiba como excluir uma configuração de conectividade particular.