Para usar o Database Migration Service e migrar dados do banco de dados de origem para o de destino, é necessário estabelecer conectividade entre os bancos de dados.
Conectividade de origem
O Database Migration Service é compatível com a lista de permissões de IP, com um túnel SSH de encaminhamento e com métodos de conectividade de rede de peering de VPC.
Use as informações da tabela a seguir para decidir qual método funciona melhor para sua carga de trabalho específica.
Método de rede | Descrição | Prós | Contras |
---|---|---|---|
Lista de permissões de IP | Funciona configurando o servidor de banco de dados de origem para permitir conexões de entrada dos endereços IP públicos do Database Migration Service. |
|
|
Túnel SSH com encaminhamento |
Estabelecer uma conexão criptografada em redes públicas entre o Database Migration Service e a origem por meio de um túnel SSH encaminhado. Saiba mais sobre túneis SSH. |
|
|
Peering de VPC | Funciona criando uma configuração de conectividade privada. O Database Migration Service usa essa configuração para se comunicar com a origem de dados em uma rede particular. Essa comunicação acontece por meio de uma conexão de peering de nuvem privada virtual (VPC). |
|
|
Conectividade do destino
Use o Serviço de conexão privada para estabelecer conectividade privada com o banco de dados de destino do AlloyDB para PostgreSQL.
configurar a conectividade usando listas de permissões de IP
Para que o Database Migration Service transfira dados de um banco de dados de origem para um destino, ele precisa se conectar a esse banco de dados.
Uma maneira de configurar essa conectividade é por meio de listas de permissões de IP. A conectividade de IP público é mais adequada quando o banco de dados de origem é externo ao Google Cloud e tem um endereço IPv4 e uma porta TCP com acesso externo.
Se o banco de dados de origem for externo ao Google Cloud, adicione os endereços IP públicos do Database Migration Service como uma regra de firewall de entrada na rede de origem. Em termos genéricos (suas configurações de rede específicas podem ser diferentes), faça o seguinte:
Abra as regras de firewall de rede da máquina de banco de dados de origem.
Crie uma regra de entrada.
Defina o endereço IP do banco de dados de origem como endereços IP do Database Migration Service.
Defina o protocolo como
TCP
.Defina a porta associada ao protocolo
TCP
como1521
.Salve a regra de firewall e saia.
Usar um túnel SSH
Etapa 1: escolher o host em que o túnel será encerrado
A primeira etapa para configurar o acesso ao túnel SSH para seu banco de dados é escolher o host que será usado para encerrar o túnel. O túnel pode ser encerrado no host do banco de dados ou em um host separado (o servidor do túnel).
Usar o servidor de banco de dados
O encerramento do túnel no banco de dados tem a vantagem da simplicidade. Como há um host a menos envolvido, não há máquinas adicionais e os custos associados. A desvantagem é que seu servidor de banco de dados pode estar em uma rede protegida que não tem acesso direto da Internet.
Usar um servidor de túnel
O encerramento do túnel em um servidor separado tem a vantagem de manter o servidor de banco de dados inacessível na Internet. Se o servidor do túnel for comprometido, será removido apenas uma etapa do servidor de banco de dados. Recomendamos remover todo o software e os usuários não essenciais do servidor do túnel e monitorá-lo de perto com ferramentas como um sistema de detecção de intrusões (IDS).
O servidor do túnel pode ser qualquer host Unix/Linux que:
- Pode ser acessado pela Internet via SSH.
- Pode acessar o banco de dados.
Etapa 2: criar uma lista de permissões de IP
A segunda etapa da configuração do acesso do túnel SSH ao seu banco de dados é permitir que o tráfego de rede atinja o servidor de túnel ou o host de banco de dados via SSH, que geralmente está na porta TCP 22.
Permita o tráfego de rede de cada um dos endereços IP da região em que os recursos do Database Migration Service são criados.
Etapa 3: usar o túnel SSH
Forneça os detalhes do túnel na configuração do perfil de conexão. Para mais informações, consulte Como criar um perfil de conexão.
Para autenticar a sessão do túnel SSH, o Database Migration Service exige a senha da conta de túnel ou uma chave privada exclusiva. Para usar uma chave privada exclusiva, use as ferramentas de linha de comando OpenSSL para gerar um par de chaves, que consistem em uma chave privada e uma chave pública.
A chave privada é armazenada com segurança pelo Database Migration Service como parte da configuração do perfil de conexão. Você precisa adicionar a chave pública manualmente ao arquivo ~/.ssh/authorized_hosts
do Bastion Host.
Configurar a conectividade privada ao banco de dados de origem
A conectividade particular é uma conexão entre sua rede VPC e a rede privada do Database Migration Service, permitindo que o Database Migration Service se comunique com recursos internos usando endereços IP internos. O uso da conectividade particular estabelece uma conexão dedicada na rede do Database Migration Service, ou seja, nenhum outro cliente pode compartilhar o uso dessa rede.
Se o banco de dados de origem for externo ao Google Cloud, a conectividade particular permite que o Database Migration Service se comunique com o banco de dados por VPN ou Interconnect.
Depois que uma configuração de conectividade particular é criada, uma única configuração pode atender a todas as migrações em um projeto em uma única região.
Em geral, o estabelecimento da conectividade privada requer o seguinte:
- Uma nuvem privada virtual (VPC, na sigla em inglês) atual
- Um intervalo de IP disponível com um bloco CIDR mínimo de /29.
Se o projeto usar uma VPC compartilhada, também será necessário ativar as APIs Database Migration Service e Google Compute Engine, além de conceder permissões à conta de serviço do Database Migration Service no projeto host.
Saiba como criar uma configuração de conectividade privada para o banco de dados de origem.
Configurar a conectividade particular ao banco de dados de destino
O Database Migration Service usa o Private Service Connect para se conectar de forma particular à instância de destino do AlloyDB para PostgreSQL. É possível expor a porta TCP do banco de dados para conexões seguras de entrada, mantendo o controle sobre quem pode acessar o banco de dados, configurando um anexo de serviço no projeto.
Saiba como criar uma configuração de conectividade particular para o banco de dados de destino.