Estabelecer conectividade particular usando proxies

Nesta página, você vai aprender a usar proxies para estabelecer conectividade particular entre o Database Migration Service e sua origem de dados. A fonte de dados pode ser o Cloud SQL ou uma fonte hospedada em outra rede de nuvem privada virtual (VPC) ou fora da rede do Google Cloud .

Conectividade particular se refere a uma conexão particular e dedicada entre a rede VPC e a rede particular do Database Migration Service, ou seja, nenhum outro cliente pode compartilhar a conexão. A conexão particular permite que o Database Migration Service se comunique com os recursos usando endereços IP internos.

É possível usar a conectividade privada para conectar o Database Migration Service a qualquer origem. No entanto, somente as redes VPC com peering direto podem se comunicar.

O peering transitivo não é aceito. Se a origem estiver hospedada em outra VPC ou fora da rede do Google Cloud , e a rede VPC em que o Database Migration Service não tem peering não tiver conectividade direta com a VPC ou com a rede que hospeda a origem, você vai precisar de um proxy reverso.

Configurar um proxy reverso

Se a rede VPC do Database Migration Service tiver peering com sua rede VPC e a origem puder ser acessada por outra rede VPC, não será possível usar apenas o peering de rede VPC para se comunicar com a origem. Para fazer a ponte entre o Database Migration Service e a origem, você também precisa de um proxy reverso.

O diagrama a seguir ilustra o uso de um proxy reverso para estabelecer uma conexão privada entre o Database Migration Service e uma fonte hospedada fora da rede Google Cloud . Neste diagrama, a VPC Network 1 é sua rede VPC, e a VPC Network 2 é a outra rede VPC em que sua origem pode ser acessada.

Diagrama de fluxo de usuários do Database Migration Service

Para estabelecer uma conexão particular entre o Database Migration Service e o Cloud SQL usando um proxy reverso, siga estas etapas:

  1. Identifique a rede VPC pela qual você quer que o Database Migration Service se conecte à origem.

  2. Nessa rede VPC, crie uma VM usando a imagem básica do Debian ou do Ubuntu. Esta VM hospeda o proxy reverso.

  3. Verifique se a sub-rede está na mesma região que o Database Migration Service e se o proxy reverso encaminha o tráfego para a origem (e não para ela).

  4. Confirme se a VM pode se comunicar com a origem executando ping ou um comando telnet da VM para o endereço IP interno e a porta da origem.

  5. Para estabelecer uma conexão SSH com o proxy reverso e criar um arquivo, use o seguinte script:

    #! /bin/bash
    
    export DB_ADDR=SOURCE_PRIVATE_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 your source 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
  6. Execute o script.

  7. Crie uma configuração de conectividade particular no Database Migration Service para estabelecer o peering de VPC entre sua VPC e a VPC do Database Migration Service.

  8. Crie um perfil de conexão no Database Migration Service. Para ver detalhes da conexão, insira o endereço IP interno e a porta da VM que hospeda o proxy.

A seguir