Sobre a replicação a partir de um servidor externo

Esta página descreve uma configuração que replica dados de um servidor de banco de dados de origem para réplicas do MySQL. Essa configuração às vezes é chamada de configuração de servidor externo.

O servidor de banco de dados de origem pode ser qualquer servidor MySQL, incluindo servidores em execução em outros serviços do Google Cloud (como o Cloud SQL ou o Compute Engine) ou em outros provedores de nuvem (como o Amazon RDS), se atenderem aos requisitos. Para instruções passo a passo sobre como definir essa configuração, consulte Como replicar a partir de um servidor externo.

Casos de uso da configuração do servidor externo

A configuração do servidor externo ajuda você a atingir estas metas:

  1. Migrar os dados do servidor MySQL autogerenciado para o Google Cloud com o mínimo de tempo de inatividade.

  2. reter a colocação e o controle do seu servidor enquanto descarrega a administração das réplicas para o Cloud SQL

    Esse caso de uso é às vezes chamado de nuvem híbrida. A replicação entre seu servidor autogerenciado e a réplica do Cloud SQL continua de forma indefinida.

Configuração da replicação externa

A configuração da replicação externa inclui estas instâncias:

  • o servidor MySQL que você gerencia, também chamado de servidor de banco de dados de origem
  • a réplica do Cloud SQL

    É possível haver várias réplicas de um único servidor de banco de dados de origem.

  • a instância de representação de origem

    A instância de representação de origem é uma instância do Cloud SQL que representa o servidor de banco de dados de origem para a réplica do Cloud SQL. Ela é visível no Console do Google Cloud e aparece da mesma forma que uma instância normal do Cloud SQL, mas não contém dados, não requer configuração ou manutenção e não afeta o faturamento.

O diagrama a seguir mostra essas instâncias:

Diagrama das três instâncias que compõem uma configuração de replicação externa

Configuração SSL/TLS

A replicação de um servidor externo exige que todas as alterações nos dados sejam enviadas entre o servidor de banco de dados de origem e as réplicas do Cloud SQL.

Se a conexão for feita por uma rede pública (usando listas de permissões de IP), o Google recomenda o uso de criptografia SSL/TLS para a conexão entre os bancos de dados de origem e de destino.

O Cloud SQL oferece as seguintes opções de configuração de SSL/TLS:

  • Nenhuma: a instância de destino do Cloud SQL se conecta ao banco de dados de origem sem criptografia.
  • Autenticação somente de servidor

  • Autenticação cliente-servidor

Autenticação somente de servidor

Quando a réplica se conecta à instância principal, a réplica autentica a instância principal, garantindo que a réplica esteja se conectando ao host correto e impedindo ataques "man-in-the-middle". A instância principal não autentica a réplica.

Para usar a autenticação somente de servidor, no momento da criação da réplica, forneça o certificado x509 codificado no formato PEM da autoridade de certificação (CA, na sigla em inglês) que assinou o certificado do servidor externo. A CA precisa conter um único certificado e ser autoassinada. Em outras palavras, a autoridade de certificação que assinou o certificado do servidor precisa ser uma autoridade de certificação raiz.

Autenticação cliente-servidor

Quando a réplica se conecta à instância principal, a réplica autentica essa outra instância, e a principal autentica a réplica.

A autenticação cliente-servidor proporciona a segurança mais forte. No entanto, se você não quiser fornecer o certificado de cliente e a chave privada ao criar a réplica, ainda poderá usar a autenticação somente de servidor.

Para usar a autenticação servidor-cliente, é necessário informar os seguintes itens ao criar a réplica:

  • O certificado x509 codificado por PEM da CA que assinou o certificado do servidor de banco de dados de origem (caCertificate).
  • O certificado x509 codificado por PEM que será usado pela réplica para autenticação no servidor de banco de dados de origem (clientCertificate)
  • A chave privada não criptografada PKCS#1 ou PKCS#8 codificada por PEM associada ao clientCertificate (clientKey).

Várias réplicas do mesmo servidor de banco de dados

Você pode criar várias réplicas a partir do mesmo servidor de banco de dados de origem. Talvez seja interessante fornecer mais largura de banda ou criar réplicas em diferentes regiões.

Caso você esteja criando várias réplicas na mesma região, todas poderão usar a mesma instância de representação de origem ou instâncias diferentes. Se você usar o Console do Google Cloud para criar várias réplicas, elas terão instâncias de representação de origem diferentes.

Se você estiver criando várias réplicas em regiões diferentes, elas deverão ter instâncias de representação de origem diferentes.

Não é possível criar mais de uma réplica na mesma operação. Assim que você terminar de criar a configuração de réplica da primeira réplica, poderá começar a criar a configuração de réplica das outras réplicas. Não é necessário aguardar até que a primeira réplica esteja completamente funcional antes de começar a criar outras réplicas.

Réplicas em cascata de um servidor externo

As réplicas de leitura em cascata permitem criar uma réplica de leitura sob outra réplica de leitura na mesma região ou em uma região diferente. É possível adicionar até quatro níveis de réplicas em cascata, incluindo a instância principal. Quando você promove a réplica no topo de uma hierarquia de réplicas em cascata, ela se torna uma instância principal e as réplicas em cascata continuam a ser replicadas.

Com os servidores externos, é possível criar réplicas de leitura em uma réplica do servidor externo após migrar os dados, mas antes de promover a réplica do servidor externo para principal. Isso permite testar as topologias de réplica de leitura antes que a réplica do servidor externo seja promovida.