Migre as suas bases de dados através de um ficheiro físico do Percona XtraBackup

Pode migrar as suas bases de dados MySQL para o Cloud SQL através de ficheiros de cópia de segurança da base de dados física criados com o utilitário Percona XtraBackup para MySQL. A migração com ficheiros de cópia de segurança físicos oferece velocidades de restauro de dados mais rápidas do que as migrações que usam ficheiros de cópia de segurança lógicos. Isto torna-os uma excelente escolha para mover grandes bases de dados que contêm vários terabytes de dados.

Este fluxo de migração envolve as seguintes tarefas:

  1. Fazer uma cópia de segurança da instância do MySQL de origem e preparar os ficheiros de cópia de segurança física com a utilidade Percona XtraBackup for MySQL.

  2. Carregar os ficheiros de cópia de segurança para um contentor do Cloud Storage.

  3. Criar e executar a tarefa de migração no Database Migration Service.

    Consoante o seu cenário, pode criar a instância de destino por si próprio ou pedir ao serviço de migração de bases de dados que a crie para si como parte do fluxo de criação da tarefa de migração. Para mais informações, consulte o passo Configure e execute a tarefa de migração.

  4. Promover a tarefa de migração depois de os dados serem totalmente migrados.

Migrações offline

Este guia descreve cenários de migração para ambientes onde pode garantir a conetividade de rede entre as instâncias da base de dados de origem e de destino.

É possível fazer uma migração de teste em que o Database Migration Service não se liga à instância de origem. Em alternativa, o serviço de migração de base de dados apenas lê os ficheiros de cópia de segurança que carrega para o contentor do Cloud Storage e replica o respetivo conteúdo para o destino do Cloud SQL para MySQL. Um fluxo de migração que não use a conetividade de rede não é recomendado para migrações de produção, uma vez que o Database Migration Service não pode realizar totalmente a validação de dados.

Se quiser tentar executar uma tarefa de migração offline, ajuste os procedimentos da seguinte forma:

Limitações

Esta secção apresenta as limitações das migrações que usam ficheiros físicos do Percona XtraBackup:

  • A migração para o MySQL 5.6 ou 8.4 com um ficheiro de cópia de segurança físico não é suportada. Consulte as limitações conhecidas.

  • Considerações entre versões:

    • Só pode migrar na mesma versão principal da base de dados, por exemplo, do MySQL 8.0.30 para o MySQL 8.0.35 ou do MySQL 5.7.0 para o MySQL 5.7.1.
    • Não pode migrar do MySQL 5.7 para o MySQL 8.0.

    • A migração não é suportada para versões principais ou secundárias anteriores da base de dados. Por exemplo, não pode migrar do MySQL 8.0 para o 5.7 nem do MySQL 8.0.36 para o 8.0.16.

  • Considerações sobre arquiteturas diferentes: o Cloud SQL suporta a arquitetura ARM. Só pode migrar bases de dados entre máquinas do mesmo tipo de arquitetura. Por exemplo, se a sua base de dados estiver alojada numa máquina ARM64, tem de migrar para uma máquina ARM64.

  • O tamanho do disco da base de dados de destino tem de ser igual ou superior ao tamanho da base de dados de origem. Para mais informações, consulte os tipos de máquinas MySQL para a sua edição do Cloud SQL.

  • Tem de usar o Percona XtraBackup para fazer uma cópia de segurança dos seus dados para o contentor do Cloud Storage. Outras utilidades de cópia de segurança não são suportadas.

  • A migração de bases de dados a partir de um ficheiro físico do Percona XtraBackup só é suportada para bases de dados MySQL de VMs nas instalações ou autogeridas. A migração de bases de dados do Amazon Aurora ou do MySQL no Amazon RDS não é suportada.

  • Só pode migrar a partir de uma cópia de segurança completa. Outros tipos de cópias de segurança, como cópias de segurança incrementais ou parciais, não são suportados.

  • A migração da base de dados não inclui utilizadores nem privilégios da base de dados.

  • Tem de definir o formato de registo binário como ROW. Se configurar o registo binário para qualquer outro formato, como STATEMENT ou MIXED, a replicação pode falhar.

  • Qualquer base de dados com uma tabela superior a 5 TB não é suportada.

  • O Cloud Storage limita o tamanho de um ficheiro que pode carregar para um contentor a 5 TB. Se o ficheiro físico do Percona XtraBackup exceder 5 TB, tem de dividir o ficheiro de cópia de segurança em ficheiros mais pequenos.

  • Certifique-se de que carrega os ficheiros de cópia de segurança para uma pasta do Cloud Storage dedicada que não contenha outros ficheiros.

  • Tem de configurar o parâmetro innodb_data_file_path apenas com um ficheiro de dados que use o nome de ficheiro de dados predefinido ibdata1. Se a sua base de dados estiver configurada com dois ficheiros de dados ou tiver um ficheiro de dados com um nome diferente, não pode migrar a base de dados através de um ficheiro físico do Percona XtraBackup. Por exemplo, uma base de dados configurada com innodb_data_file_path=ibdata01:50M:autoextend não é suportada para a migração.

  • O parâmetro innodb_page_size na instância de origem tem de ser configurado com o valor predefinido 16384.

  • Não pode migrar plug-ins da sua base de dados externa.

Custos

Para migrações homogéneas para o Cloud SQL, o serviço de migração de bases de dados é oferecido sem custo financeiro adicional. No entanto, os preços do Cloud SQL e do Cloud Storage aplicam-se a encargos de rede, bem como a entidades do Cloud SQL e do Cloud Storage criadas para fins de migração.

Neste documento, usa os seguintes componentes faturáveis do Google Cloud:

  • Cloud Storage
  • Cloud SQL

Para gerar uma estimativa de custos com base na sua utilização projetada, use a calculadora de preços.

Os novos Google Cloud utilizadores podem ser elegíveis para uma avaliação gratuita.

Antes de começar

  1. Considere em que região quer criar a base de dados de destino. O serviço de migração de bases de dados é um produto totalmente regional, o que significa que todas as entidades relacionadas com a sua migração (perfis de ligação de origem e destino, tarefas de migração, bases de dados de destino, contentores de armazenamento) têm de ser guardadas numa única região.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Database Migration Service, Compute Engine, and Cloud SQL Admin APIs.

    Enable the APIs

Funções necessárias

Para receber as autorizações de que precisa para fazer migrações homogéneas do MySQL através de ficheiros de cópias de segurança físicas, peça ao seu administrador para lhe conceder as seguintes funções da IAM no seu projeto:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Estas funções predefinidas contêm as autorizações necessárias para realizar migrações homogéneas do MySQL através de ficheiros de cópias de segurança físicas. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

As seguintes autorizações são necessárias para fazer migrações homogéneas do MySQL através de ficheiros de cópia de segurança física:

  • Conta de utilizador que realiza a migração:
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • compute.machineTypes.list
    • compute.machineTypes.get
    • compute.projects.get
    • storage.buckets.create
    • storage.buckets.list

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Passo 1. Tenha em atenção os requisitos de conetividade de rede

Existem diferentes métodos de rede que pode usar para configurar a conetividade entre a origem e as instâncias de destino do Cloud SQL. Consoante o método que usar, podem existir passos adicionais que tem de realizar durante o processo de migração.

Considere que método de conetividade é adequado para o seu cenário antes de avançar para os passos seguintes, uma vez que a sua escolha pode afetar as definições que tem de usar. Para mais informações, consulte o artigo Configure a conetividade.

Passo 2. Prepare os dados de origem

Siga estes passos para preparar os dados para a migração:

  1. Instale a versão correta do utilitário Percona XtraBackup na instância de origem. Tem de usar uma versão do Percona XtraBackup igual ou posterior à versão da instância de origem. Para mais informações, consulte a comparação entre a versão do servidor e a versão da cópia de segurança na documentação do Percona XtraBackup.
  2. Exporte e prepare o ficheiro de cópia de segurança física da instância de origem através do Percona XtraBackup. Para obter informações completas sobre a utilização do Percona XtraBackup, consulte a documentação da ferramenta. Também pode expandir a secção seguinte para ver um exemplo dos passos recomendados.

    Passos recomendados de exemplo para criar e preparar ficheiros de cópia de segurança física através do Percona XtraBackup

    Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:

    • TARGET_DIR com o caminho onde quer guardar o ficheiro de cópia de segurança de saída.
    • USERNAME com um utilizador que tenha o privilégio BACKUP_ADMIN na instância de origem.
    • PASSWORD com a palavra-passe da conta USERNAME.
    1. Faça uma cópia de segurança física completa da instância de origem. Execute o seguinte comando:
        xtrabackup --backup \
          --target-dir=TARGET_DIR \
          --user=USERNAME \
          --password=PASSWORD
            
    2. Quando o ficheiro de cópia de segurança estiver pronto, use o comando --prepare para garantir a consistência do ficheiro. Execute o seguinte comando:
        xtrabackup --prepare --target-dir=TARGET_DIR
            
  3. Crie o seu contentor para armazenar os ficheiros de cópia de segurança. Certifique-se de que usa a mesma região que aquela onde pretende criar a instância do Cloud SQL para MySQL de destino.

    O serviço de migração de bases de dados é um produto totalmente regional, o que significa que todas as entidades relacionadas com a sua migração (perfis de ligação de origem e destino, tarefas de migração, bases de dados de destino, contentores de armazenamento para ficheiros de cópia de segurança) têm de ser guardadas numa única região.

  4. Carregue os ficheiros de cópia de segurança para o seu contentor do Cloud Storage. Certifique-se de que carrega os ficheiros de cópia de segurança para uma pasta do Cloud Storage dedicada que não contenha outros ficheiros. Consulte o artigo Carregue objetos a partir de um sistema de ficheiros na documentação do Cloud Storage.
  5. Crie o perfil de ligação de origem para a instância da base de dados de origem.

    Consola

    Para criar um perfil de ligação de origem, siga estes passos:

    1. Aceda à página Perfis de ligação na Google Cloud consola.
    2. Clique em Criar perfil.
    3. Na página Crie um perfil de associação, no menu pendente Motor de base de dados, selecione MySQL
    4. No campo Nome do perfil de associação, introduza um nome legível para o seu perfil de associação. Este valor é apresentado na lista de perfis de associação.
    5. Mantenha o ID do perfil de associação gerado automaticamente.
    6. Introduza um nome de anfitrião ou um endereço IP.
      • Se a base de dados de origem estiver alojada no Google Cloud, ou se for usado um túnel SSH inverso para associar a base de dados de destino à base de dados de origem, especifique o endereço IP privado (interno) da base de dados de origem. Este endereço vai estar acessível ao destino do Cloud SQL. Para mais informações, consulte o artigo Configure a conetividade através da interligação de VPCs.

        Para outros métodos de conetividade, como a lista de autorizações de IPs, indique o endereço IP público.

    7. Introduza a Porta usada para aceder ao anfitrião. A porta predefinida do MySQL é 3306.
    8. Introduza um nome de utilizador e uma palavra-passe para a base de dados de destino. A conta de utilizador tem de ter os privilégios necessários para aceder aos seus dados. Para mais informações, consulte o artigo Configure a base de dados de origem.
    9. Na secção Região do perfil de ligação da página, selecione a região onde quer guardar o perfil de ligação.
    10. Opcional: se a ligação for feita através de uma rede pública (com listas de autorizações de IPs), recomendamos que use a encriptação SSL/TLS para a ligação entre as bases de dados de origem e de destino.

      Existem três opções para a configuração SSL/TLS que pode selecionar na secção Proteja a sua ligação da página:

      1. Nenhuma: a instância de destino do Cloud SQL liga-se à base de dados de origem sem encriptação.
      2. Autenticação apenas do servidor: quando a instância de destino do Cloud SQL se liga à base de dados de origem, a instância autentica a origem, garantindo que a instância se está a ligar ao anfitrião correto de forma segura. Isto impede ataques do tipo man-in-the-middle. Para a autenticação apenas do servidor, a origem não autentica a instância.

        Para usar a autenticação apenas do servidor, tem de fornecer o certificado codificado em PEM x509 da autoridade de certificação (AC) que assinou o certificado do servidor externo.

      3. Autenticação de servidor-cliente: quando a instância de destino se liga à origem, a instância autentica a origem e a origem autentica a instância.

        A autenticação cliente-servidor oferece a segurança mais forte. No entanto, se não quiser fornecer o certificado de cliente e a chave privada quando criar a instância de destino do Cloud SQL, pode continuar a usar a autenticação apenas do servidor.

        Para usar a autenticação servidor-cliente, tem de fornecer os seguintes itens quando cria o perfil de associação de destino:

        • O certificado da AC que assinou o certificado do servidor da base de dados de origem (o certificado da AC).
        • O certificado usado pela instância para autenticar no servidor de base de dados de origem (o certificado de cliente).
        • A chave privada associada ao certificado de cliente (a chave de cliente).
    11. Clique em Criar. O seu perfil de ligação foi criado.

    gcloud

    Este exemplo usa o sinalizador --no-async opcional para que todas as operações sejam realizadas de forma síncrona. Isto significa que alguns comandos podem demorar algum tempo a serem concluídos. Pode ignorar a flag --no-async para executar comandos de forma assíncrona. Se o fizer, tem de usar o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

    Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • CONNECTION_PROFILE_ID com um identificador legível por máquina para o seu perfil de ligação.
    • REGION com o identificador da região onde quer guardar o perfil de associação.
    • HOST_IP_ADDRESS com o endereço IP onde o serviço de migração de base de dados pode alcançar a instância da base de dados de origem. Este valor pode variar consoante o método de conetividade que usar para a migração.
    • PORT_NUMBER com o número da porta onde a base de dados de origem aceita ligações recebidas. A porta predefinida do MySQL é 3306.
    • USERNAME com o nome da conta de utilizador da base de dados à qual quer que o serviço de migração de bases de dados se ligue como instância da base de dados de origem.
    • PASSWORD com a palavra-passe da conta de utilizador da base de dados.
    • (Opcional) CONNECTION_PROFILE_NAME com um nome legível para o seu perfil de associação. Este valor é apresentado na Google Cloud consola.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud database-migration connection-profiles \
    create mysql CONNECTION_PROFILE_ID \
      --no-async \
      --region=REGION \
      --host=HOST_IP_ADDRESS \
      --port=PORT_NUMBER \
      --username=USERNAME \
      --password=PASSWORD \
      --display-name=CONNECTION_PROFILE_NAME

    Windows (PowerShell)

    gcloud database-migration connection-profiles `
    create mysql CONNECTION_PROFILE_ID `
      --no-async `
      --region=REGION `
      --host=HOST_IP_ADDRESS `
      --port=PORT_NUMBER `
      --username=USERNAME `
      --password=PASSWORD `
      --display-name=CONNECTION_PROFILE_NAME

    Windows (cmd.exe)

    gcloud database-migration connection-profiles ^
    create mysql CONNECTION_PROFILE_ID ^
      --no-async ^
      --region=REGION ^
      --host=HOST_IP_ADDRESS ^
      --port=PORT_NUMBER ^
      --username=USERNAME ^
      --password=PASSWORD ^
      --display-name=CONNECTION_PROFILE_NAME

    Deve receber uma resposta semelhante à seguinte:

    Waiting for connection profile [CONNECTION_PROFILE_ID]
    to be created with [OPERATION_ID]
    
    Waiting for operation [OPERATION_ID] to complete...done.
    
    Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
    

Passo 3. Configure e execute a tarefa de migração

Quando migra com o Percona XtraBackup, pode querer criar a instância de destino do Cloud SQL por conta própria ou pedir ao serviço de migração de bases de dados que a crie por si. Para mais informações, consulte a Vista geral da criação de tarefas de migração.

Cada uma destas abordagens requer que siga um conjunto de procedimentos ligeiramente diferente. Use o menu pendente para mostrar os procedimentos relevantes para o seu cenário:

  • Se quiser que o Database Migration Service crie a base de dados de destino, selecione Migrar para uma nova instância de destino.
  • Se quiser migrar para uma base de dados de destino criada fora do Database Migration Service, selecione Migrar para uma instância de destino existente.

  • Quando migra para uma nova instância de destino, o serviço de migração de base de dados cria a instância de destino do Cloud SQL para MySQL por si durante o fluxo de criação da tarefa de migração.

    Passo 3a. Crie a tarefa de migração para uma nova instância de destino

    Para criar uma tarefa de migração para uma nova instância de destino, siga estes passos:

    Consola

    Defina as definições da tarefa de migração

    1. Na Google Cloud consola, aceda à página Tarefas de migração.

      Aceda a Tarefas de migração

    2. Clique em Criar tarefa de migração.

      É aberta a página do assistente de configuração da tarefa de migração. Este assistente contém vários painéis que explicam cada passo de configuração.

      Pode pausar a criação de uma tarefa de migração em qualquer altura clicando em GUARDAR E SAIR. Todos os dados que introduzir até esse ponto são guardados num trabalho de migração de rascunho. Pode concluir a tarefa de migração de rascunho mais tarde.

    3. Na página Começar, introduza as seguintes informações:
      1. Nome da tarefa de migração

        Este é um nome legível para o seu trabalho de migração. Este valor é apresentado na Google Cloud consola.

      2. ID da tarefa de migração

        Este é um identificador legível por máquina para a sua tarefa de migração. Use este valor para trabalhar com tarefas de migração através de comandos da CLI do Google Cloud ou da API do Database Migration Service.

      3. Na lista Motor da base de dados de origem, selecione MySQL.

        O campo Motor da base de dados de destino é preenchido automaticamente e não pode ser alterado.

      4. Selecione a região onde guarda a tarefa de migração.

        O serviço de migração de bases de dados é um produto totalmente regional, o que significa que todas as entidades relacionadas com a sua migração (perfis de ligação de origem e destino, tarefas de migração, bases de dados de destino) têm de ser guardadas numa única região. Selecione a região com base na localização dos serviços que precisam dos seus dados, como instâncias do Compute Engine ou apps do App Engine, e outros serviços. Depois de escolher a região de destino, não pode alterar esta seleção.

    4. Clique em Guardar e continuar.

    Especifique informações sobre o perfil de associação de origem

    1. Na página Definir uma origem, execute os seguintes passos:
      1. No menu pendente Perfil de associação de origem, selecione o perfil de associação da base de dados de origem.
      2. Na secção Personalizar configuração de despejo completo, clique em Editar configuração.
      3. No painel Editar configuração de despejo completo, no menu pendente Método de despejo completo, selecione Baseado em físico.
      4. Em Indique a pasta, clique em Procurar e, de seguida, selecione a pasta onde carregou o ficheiro de despejo completo (passo 3 na secção Prepare os dados de origem).
      5. Clique em Guardar.
    2. Clique em Guardar e continuar.

    Configure e crie a instância do Cloud SQL de destino

    1. Na página Definir um destino, no menu pendente Tipo de instância, selecione Nova instância. Defina todas as definições relevantes:
      1. No campo ID da instância de destino, indique um identificador para a instância do Cloud SQL ou use o identificador gerado automaticamente.

        Não inclua informações confidenciais ou de identificação pessoal no identificador. Não é necessário incluir o ID do projeto no nome da instância. Isto é feito automaticamente quando adequado (por exemplo, nos ficheiros de registo).

      2. No campo Palavra-passe, indique uma palavra-passe alfanumérica para a instância do Cloud SQL de destino. Esta é a palavra-passe da conta de administrador do root na instância.

        Pode introduzir a palavra-passe manualmente ou clicar em Gerar para que o serviço de migração de bases de dados crie uma automaticamente.

      3. No menu pendente Versão da base de dados, escolha a versão da base de dados para a instância de destino.

        Clique em Mostrar versões secundárias para ver todas as versões secundárias. Saiba mais acerca do apoio técnico para migração entre versões.

      4. Selecione a edição do Cloud SQL para MySQL para a instância de destino. Estão disponíveis duas opções: Cloud SQL para MySQL Enterprise Edition e Cloud SQL para MySQL Enterprise Plus Edition.

        As edições do Cloud SQL para MySQL incluem diferentes conjuntos de funcionalidades, tipos de máquinas disponíveis e preços. Certifique-se de que consulta a documentação do Cloud SQL para escolher a edição adequada às suas necessidades. Para mais informações, consulte o artigo Introdução às edições do Cloud SQL para MySQL.

      5. O menu Região mostra a mesma região que selecionou na página Começar.

        Se estiver a configurar a sua instância para alta disponibilidade, selecione Várias zonas (altamente disponível). Pode selecionar a zona principal e a secundária. Aplicam-se as seguintes condições quando a zona secundária é usada durante a criação da instância:

        • Por predefinição, as zonas são Qualquer para a zona principal e Qualquer (diferente da principal) para a zona secundária.
        • Se as zonas principal e secundária forem especificadas, têm de ser zonas diferentes.
      6. Na secção Ligações, escolha se quer adicionar um endereço IP público ou privado para a instância de destino. Pode configurar a sua instância para ter ambos os tipos de endereços IP, mas é necessário, pelo menos, um tipo para a migração. Selecione uma das seguintes opções:
        • Se quiser migrar através da interligação de VPCs ou de um túnel SSH inverso, selecione IP privado.
          • Para ativar a conetividade de IP privado, certifique-se de que cumpre todos os requisitos de rede adicionais.

            Expanda esta secção para ver os requisitos de IP privado completos.

          • Selecione a rede de VPC associada para estabelecer peering. Se planeia estabelecer ligação à origem da migração através da interligação de VPCs, escolha a VPC onde a instância reside.
          • Se nunca tiver sido configurada uma rede de serviços geridos para a VPC selecionada, pode optar por selecionar um intervalo de IPs e clicar em Associar ou usar um intervalo de IPs selecionado automaticamente e clicar em Atribuir e associar.
        • Se quiser migrar através da Internet usando uma lista de autorizações de IPs, selecione IP público.

          Opcionalmente, em IP público, clique no campo Redes autorizadas e autorize uma rede ou um proxy a estabelecer ligação à instância do Cloud SQL. As redes só são autorizadas com os endereços que fornecer. Consulte o artigo Configure o IP público na documentação do Cloud SQL.

        Configura a conetividade da tarefa de migração num passo posterior. Para saber mais sobre os métodos de rede disponíveis, consulte Configurar conetividade.

    2. Selecione o tipo de máquina para a instância do Cloud SQL.

      Para mais informações, consulte a secção Limitações.

    3. Para a edição Enterprise Plus do Cloud SQL para MySQL: selecione a caixa de verificação Ativar cache de dados se quiser usar a funcionalidade de cache de dados na base de dados de destino.

      A cache de dados é uma funcionalidade opcional disponível para instâncias da edição Enterprise Plus do Cloud SQL para MySQL que adiciona uma unidade de estado sólido local de alta velocidade à sua base de dados de destino. Esta funcionalidade pode introduzir custos adicionais no Cloud SQL. Para mais informações sobre a cache de dados, consulte o artigo Vista geral da cache de dados na documentação do Cloud SQL.

    4. Especifique o tipo de armazenamento da instância do Cloud SQL. Pode escolher uma unidade de estado sólido (SSD) ou uma unidade de disco rígido (HDD).
    5. Especifique a capacidade de armazenamento (em GB) para a instância do Cloud SQL.

      Certifique-se de que a instância tem capacidade de armazenamento suficiente para processar os dados da base de dados de origem. Pode aumentar esta capacidade em qualquer altura, mas não a pode diminuir.

    6. (Opcional) Configure as opções de encriptação de dados ou as etiquetas de recursos para a instância de destino.

      Expanda esta secção para ver os passos opcionais.

      Clique em Mostrar configurações opcionais e, de seguida:

      1. Especifique se quer gerir a encriptação dos dados migrados da origem para o destino. Por predefinição, os seus dados são encriptados com uma chave gerida pela Google Cloud. Se quiser gerir a sua encriptação, pode usar uma chave de encriptação gerida pelo cliente (CMEK). Para isso:

        1. Selecione a caixa de verificação Usar uma chave de encriptação gerida pelo cliente (CMEK).
        2. No menu Selecionar uma chave gerida pelo cliente, selecione a sua CMEK.

        Se não vir a chave, clique em Introduzir nome do recurso da chave para indicar o nome do recurso da chave que quer usar. Nome do recurso da chave de exemplo: projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key.

      2. Adicione as flags necessárias a aplicar ao servidor de base de dados. Se possível, certifique-se de que os indicadores da base de dados na instância do Cloud SQL de destino criada são iguais aos da base de dados de origem. Saiba mais sobre as flags de base de dados suportadas para o MySQL.
      3. Adicione quaisquer etiquetas específicas da instância do Cloud SQL.

        As etiquetas ajudam a organizar as suas instâncias. Por exemplo, pode organizar as etiquetas por centro de custo ou ambiente. As etiquetas também estão incluídas na fatura para que possa ver a distribuição dos custos pelas etiquetas.

    7. Clique em Criar destino e continuar. O serviço de migração de base de dados está agora a criar a instância de destino do Cloud SQL. Este processo pode demorar vários minutos.

    Configure a conetividade entre as instâncias da base de dados de origem e de destino

    No menu pendente Método de conetividade, selecione um método de conetividade de rede. Este método define como a instância do Cloud SQL recém-criada se vai ligar à base de dados de origem. Os métodos de conetividade de rede atuais incluem: Lista de autorizações de IPs, túnel SSH inverso e interligação de VPCs.

    Se quiser usar…Depois…
    O método de conetividade de rede da lista de permissões de IPs, Tem de especificar o endereço IP de saída da instância de destino. Se a instância do Cloud SQL que criou for uma instância de alta disponibilidade, inclua os endereços IP de saída para a instância principal e secundária.
    O método de conetividade de rede do túnel SSH inverso Tem de selecionar a instância de VM do Compute Engine que vai alojar o túnel.

    Depois de especificar a instância, a Google fornece um script que executa os passos para configurar o túnel entre as bases de dados de origem e de destino. Tem de executar o script na CLI do Google Cloud.

    Execute os comandos a partir de uma máquina que tenha conetividade com a base de dados de origem e com o Google Cloud.

    O método de conetividade de rede de intercâmbio da VPC Tem de selecionar a rede de VPC onde reside a base de dados de origem. A instância do Cloud SQL vai ser atualizada para se ligar a esta rede.

    Depois de selecionar e configurar a conetividade de rede, clique em Configurar e continuar.

    Crie a tarefa de migração

    Na página Teste e crie uma tarefa de migração, verifique as definições da tarefa de migração. Neste ponto, o teste da tarefa de migração falha, porque a conta de serviço associada à instância de destino do Cloud SQL não tem as autorizações necessárias.

    Realize uma das seguintes ações antes de testar a tarefa para validar a configuração da tarefa:

    • Se quiser testar a tarefa de migração através da Google Cloud consola depois de atribuir as autorizações à conta de serviço da instância de destino, clique em Guardar e sair. Esta ação guarda a tarefa de migração como rascunho. Pode voltar a este ecrã mais tarde, testar a tarefa de migração e executá-la.
    • Se quiser testar a tarefa de migração através da CLI do Google Cloud depois de atribuir as autorizações à conta de serviço da instância de destino,clique em Criar. Com a Google Cloud CLI, pode testar uma tarefa de migração criada, mas ainda não iniciada.

    gcloud

    1. Crie o perfil de ligação de destino.
      Quando migra para uma nova instância de destino com a CLI do Google Cloud, cria a instância de destino e o perfil de ligação numa única ação.
      Execute o seguinte comando (clique no link para expandir):

      gcloud database-migration connection-profiles create cloudsql

      Este exemplo usa o sinalizador --no-async opcional para que todas as operações sejam realizadas de forma síncrona. Isto significa que alguns comandos podem demorar algum tempo a serem concluídos. Pode ignorar a flag --no-async para executar comandos de forma assíncrona. Se o fizer, tem de usar o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

      Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

      • CONNECTION_PROFILE_ID com um identificador legível por máquina para o seu perfil de ligação.
      • DATABASE_VERSION com a versão do MySQL que quer usar na instância de destino. As versões da base de dados são especificadas como strings que incluem a versão principal e a versão secundária. Por exemplo: MYSQL_8_0, MYSQL_8_0_32, MYSQL_8_0_36.

        Para todas as versões possíveis do MySQL, consulte a referência da flag --database-version.

      • (Opcional) EDITION Por predefinição, as novas instâncias que criar com a Google Cloud CLI usam a edição Enterprise Plus do Cloud SQL para MySQL. Se planeia usar a edição Enterprise Plus do Cloud SQL para MySQL, certifique-se de que a sua região é suportada para essa edição. Consulte o artigo Suporte de regiões da edição Enterprise Plus do Cloud SQL para MySQL.

        Pode alterar a sua edição através da --editionflag com um dos seguintes valores:

        • enterprise-plus para a edição Enterprise Plus do Cloud SQL para MySQL
        • enterprise para a edição Enterprise do Cloud SQL para MySQL
      • TIER com o nome do tipo de máquina do Cloud SQL que quer usar. Os tipos de máquinas são especificados como strings que seguem a convenção do Cloud SQL, por exemplo: db-n1-standard-1, db-perf-optimized-N-2. Para ver uma lista completa dos tipos de máquinas disponíveis e os respetivos identificadores para utilização com a CLI Google Cloud, consulte Tipos de máquinas na documentação do Cloud SQL para MySQL.

        As instâncias criadas com a Google Cloud CLI usam por predefinição a edição Enterprise Plus do Cloud SQL para MySQL, que tem diferentes tipos de máquinas disponíveis. Se quiser usar um tipo de máquina que só está disponível na edição Enterprise do Cloud SQL para MySQL, use a flag --edition=enterprise opcional para especificar a edição.

      • REGION com o identificador da região onde quer guardar o perfil de associação.

        Por predefinição, as novas instâncias que criar com a Google Cloud CLI usam a edição Enterprise Plus do Cloud SQL para MySQL. Se planeia usar a edição Enterprise Plus do Cloud SQL para MySQL, certifique-se de que a sua região é suportada para essa edição. Consulte o artigo Suporte de regiões da edição Enterprise Plus do Cloud SQL para MySQL. Pode alterar a edição através da flag --edition opcional.

      • (Opcional) CONNECTION_PROFILE_NAME com um nome legível para o seu perfil de associação. Este valor é apresentado na Google Cloud consola.
      • Configuração de rede

        Por predefinição, as novas instâncias que criar com a CLI do Google Cloud têm um endereço IP público atribuído e estão configuradas para usar a conetividade IP pública. Pode usar outros métodos de conetividade. Para mais informações, consulte o artigo Configure a conetividade.

        Não precisa de usar flags adicionais se quiser usar a conetividade de IP público. Se quiser usar a conetividade de IP privado com o peering de rede VPC ou um túnel SSH inverso, certifique-se de que cumpre os seguintes requisitos de rede adicionais para ativar a conetividade de IP privado e inclua flags adicionais no seu comando.

        Expanda esta secção para ver os requisitos de IP privado completos.

        Inclua as seguintes flags adicionais se quiser usar a conetividade IP privada (com o intercâmbio da rede da VPC ou com um túnel SSH inverso numa VM do Compute Engine):

        • --no-enable-ip-v4: (Opcional) Para não atribuir um endereço IP público à instância de destino. Pode ter um endereço IP público e privado atribuído à instância de destino, mas pode não querer um endereço IP público se usar a conetividade IP privada.
        • --private-network: Para atribuir um endereço IP privado à instância de destino, especifique o nome da nuvem privada virtual onde quer ter um endereço IP privado atribuído.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration connection-profiles \
      create mysql CONNECTION_PROFILE_ID \
        --no-async \
        --region=REGION \
        --database-version=DATABASE_VERSION \
        --tier=TIER \
        --display-name=CONNECTION_PROFILE_NAME

      Windows (PowerShell)

      gcloud database-migration connection-profiles `
      create mysql CONNECTION_PROFILE_ID `
        --no-async `
        --region=REGION `
        --database-version=DATABASE_VERSION `
        --tier=TIER `
        --display-name=CONNECTION_PROFILE_NAME

      Windows (cmd.exe)

      gcloud database-migration connection-profiles ^
      create mysql CONNECTION_PROFILE_ID ^
        --no-async ^
        --region=REGION ^
        --database-version=DATABASE_VERSION ^
        --tier=TIER ^
        --display-name=CONNECTION_PROFILE_NAME

      Deve receber uma resposta semelhante à seguinte:

      Waiting for connection profile [CONNECTION_PROFILE_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
      
    2. Conclua a configuração da rede.

      Consoante a conetividade de rede que quer usar, podem existir passos adicionais que tem de seguir antes de criar a tarefa de migração.

    3. Crie a tarefa de migração.
      Execute o seguinte comando (clique no link para expandir):

      gcloud database-migration migration-jobs create

      Este exemplo usa o sinalizador --no-async opcional para que todas as operações sejam realizadas de forma síncrona. Isto significa que alguns comandos podem demorar algum tempo a serem concluídos. Pode ignorar a flag --no-async para executar comandos de forma assíncrona. Se o fizer, tem de usar o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

      Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

      • MIGRATION_JOB_ID com um identificador legível por máquina para a sua tarefa de migração. Use este valor para trabalhar com tarefas de migração através de comandos da CLI do Google Cloud ou da API do Database Migration Service.
      • REGION com o identificador da região onde quer guardar a tarefa de migração.
      • MIGRATION_JOB_NAME com um nome legível para a tarefa de migração. Este valor é apresentado no serviço de migração de bases de dados na Google Cloud consola.
      • SOURCE_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de ligação de origem.
      • DESTINATION_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de associação de destino.
      • MIGRATION_JOB_TYPE com o tipo da sua tarefa de migração. São permitidos dois valores: ONE_TIME ou CONTINUOUS. Para mais informações, consulte Tipos de migração.
      • PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES com o caminho para os ficheiros de cópia de segurança físicos armazenados numa pasta num contentor do Cloud Storage. Use o seguinte formato: gs://<bucket_name>/<path_to_backup_file_folder>.
      • Configuração de rede

        Se usar a conetividade de IP privado com o peering de redes VPC ou um túnel SSH inverso, adicione as seguintes flags ao comando:

        Conetividade de IP privado com o intercâmbio da rede da VPC
        Use a flag --peer-vpc para especificar o nome da rede com a qual quer estabelecer uma relação de parceria.
        Túnel SSH inverso numa VM do Compute Engine
        Use as seguintes flags para fornecer detalhes de rede para o Compute Engine: --vm-ip, --vm-port, --vpc. Também pode usar a flag opcional --vm para especificar o nome da VM.

        Para ver mais exemplos de utilização, consulte Exemplos da CLI Google Cloud.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration migration-jobs \
      create MIGRATION_JOB_ID \
        --no-async \
        --region=REGION \
        --display-name=MIGRATION_JOB_NAME \
        --source=SOURCE_CONNECTION_PROFILE_ID \
        --destination=DESTINATION_CONNECTION_PROFILE_ID \
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      create MIGRATION_JOB_ID `
        --no-async `
        --region=REGION `
        --display-name=MIGRATION_JOB_NAME `
        --source=SOURCE_CONNECTION_PROFILE_ID `
        --destination=DESTINATION_CONNECTION_PROFILE_ID `
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      create MIGRATION_JOB_ID ^
        --no-async ^
        --region=REGION ^
        --display-name=MIGRATION_JOB_NAME ^
        --source=SOURCE_CONNECTION_PROFILE_ID ^
        --destination=DESTINATION_CONNECTION_PROFILE_ID ^
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Deve receber uma resposta semelhante à seguinte:

      Waiting for migration job [MIGRATION_JOB_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created migration job MIGRATION_JOB_ID [OPERATION_ID]
      

    Passo 3b. Conceda as autorizações necessárias à conta de serviço da instância do Cloud SQL

    Quando cria a tarefa de migração para uma nova instância, o serviço de migração de base de dados também cria a instância do Cloud SQL de destino. Antes de poder executar a migração, tem de atribuir autorizações do Cloud Storage à conta de serviço da instância.

    Para conceder as autorizações do Cloud Storage à conta de serviço associada à instância de destino, siga estes passos:

    1. Encontre o endereço de email da conta de serviço da sua instância do Cloud SQL na página de detalhes da instância do Cloud SQL. Esta morada usa o seguinte formato: <project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com. Consulte a secção Ver informações da instância na documentação do Cloud SQL.
    2. Adicione a função de IAM Storage Object Viewer (roles/storage.objectViewer) à conta de serviço. Para ver informações sobre como gerir o acesso com a gestão de identidade e de acesso, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações na documentação da IAM.

    Passo 3c. (Opcional) Teste a tarefa de migração

    Antes de executar a tarefa de migração, pode realizar uma operação de teste para verificar se o Database Migration Service consegue alcançar todas as entidades de origem e destino necessárias. Com a CLI gcloud, pode testar tarefas de migração criadas, mas ainda não iniciadas.

    Consola

    Na Google Cloud consola, só pode testar tarefas de migração de rascunho que criar no assistente de criação de tarefas de migração. Se não guardou a tarefa como rascunho, mas criou-a totalmente no assistente, só pode realizar o teste através da Google Cloud CLI.

    Para testar uma tarefa de migração de rascunho, siga estes passos:

    1. Na Google Cloud consola, aceda à página Tarefas de migração.

      Aceda a Tarefas de migração

    2. No separador Rascunhos, clique no nome a apresentar da tarefa de migração que quer terminar de criar.

      É aberto o assistente de criação de tarefas de migração.

    3. Na página Teste e crie uma tarefa de migração, clique em Tarefa de teste. O serviço de migração de base de dados verifica agora se a instância de destino tem todas as autorizações necessárias e se consegue estabelecer ligação à base de dados de origem.
    4. Quando o teste terminar, clique em Criar.

      A tarefa de migração é agora criada e está pronta para ser iniciada.

    gcloud

    Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • MIGRATION_JOB_ID com o identificador da tarefa de migração.

      Se não souber o identificador, pode usar o comando gcloud database-migration migration-jobs list para listar todas as tarefas de migração numa determinada região e ver os respetivos identificadores.

    • REGION com o identificador da região onde o seu perfil de associação está guardado.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud database-migration migration-jobs \
    verify MIGRATION_JOB_ID \
      --region=REGION

    Windows (PowerShell)

    gcloud database-migration migration-jobs `
    verify MIGRATION_JOB_ID `
      --region=REGION

    Windows (cmd.exe)

    gcloud database-migration migration-jobs ^
    verify MIGRATION_JOB_ID ^
      --region=REGION

    Resultado

    A ação é realizada de forma assíncrona. Como tal, este comando devolve uma entidade de operação que representa uma operação de longa duração:

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: verify
    name: OPERATION_ID
    

    Para ver se a operação foi bem-sucedida, pode consultar o objeto de operação devolvido ou verificar o estado da tarefa de migração:

    Passo 3d. Inicie a tarefa de migração

    Quando a tarefa de migração estiver totalmente criada (ou seja, não estiver guardada num estado de rascunho), pode iniciá-la em qualquer altura para começar a migrar dados.

    Para iniciar uma tarefa de migração, siga estes passos:

    Consola

    1. Na Google Cloud consola, aceda à página Tarefas de migração.

      Aceda a Tarefas de migração

    2. No separador Tarefas, clique no nome a apresentar da tarefa de migração que quer iniciar.

      É apresentada a página de detalhes da tarefa de migração.

    3. Clique em Iniciar.
    4. Na caixa de diálogo, clique em Iniciar.

    gcloud

    Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • MIGRATION_JOB_ID com o identificador da tarefa de migração.

      Se não souber o identificador, pode usar o comando gcloud database-migration migration-jobs list para listar todas as tarefas de migração numa determinada região e ver os respetivos identificadores.

    • REGION com o identificador da região onde o seu perfil de associação está guardado.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud database-migration migration-jobs \
    start MIGRATION_JOB_ID \
      --region=REGION

    Windows (PowerShell)

    gcloud database-migration migration-jobs `
    start MIGRATION_JOB_ID `
      --region=REGION

    Windows (cmd.exe)

    gcloud database-migration migration-jobs ^
    start MIGRATION_JOB_ID ^
      --region=REGION

    Resultado

    A ação é realizada de forma assíncrona. Como tal, este comando devolve uma entidade de operação que representa uma operação de longa duração:

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: start
    name: OPERATION_ID
    

    Para ver se a operação foi bem-sucedida, pode consultar o objeto de operação devolvido ou verificar o estado da tarefa de migração:


  • Para migrar para uma instância de destino existente, primeiro tem de criar e configurar a instância de destino.

    Passo 3a. Prepare a instância de destino

    Para configurar a instância do Cloud SQL de destino, siga estes passos:

    1. Crie a instância de destino do Cloud SQL para MySQL. Certifique-se de que usa recursos de computação e memória suficientes para cobrir as suas necessidades de migração. Consulte o artigo Crie uma instância na documentação do Cloud SQL.

      Consoante o método de conetividade que quer usar para a migração, pode ter de adicionar um endereço IP público ou privado à instância de destino. Para mais informações sobre os métodos de conetividade, consulte Configurar a conetividade.

    2. Conceda as autorizações do Cloud Storage à conta de serviço associada à instância de destino. Esta conta é criada depois de criar a instância de destino.
      1. Encontre o endereço de email da conta de serviço da sua instância do Cloud SQL na página de detalhes da instância do Cloud SQL. Esta morada usa o seguinte formato: <project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com. Consulte Ver informações da instância na documentação do Cloud SQL.
      2. Adicione a função de IAM Storage Object Viewer (roles/storage.objectViewer) à conta de serviço. Para ver informações sobre como gerir o acesso com a gestão de identidade e de acesso, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações na documentação da IAM.
    3. Crie um perfil de ligação de destino para a sua instância do Cloud SQL.

      Consola

      Não precisa de criar o perfil de associação de destino. Quando cria uma tarefa de migração na Google Cloud consola, usa o identificador da instância de destino e o serviço de migração de bases de dados gere o perfil de ligação por si.

      Aceda à secção Crie e execute a tarefa de migração.

      gcloud

      Este exemplo usa o sinalizador --no-async opcional para que todas as operações sejam realizadas de forma síncrona. Isto significa que alguns comandos podem demorar algum tempo a serem concluídos. Pode ignorar a flag --no-async para executar comandos de forma assíncrona. Se o fizer, tem de usar o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

      Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

      • CONNECTION_PROFILE_ID com um identificador legível por máquina para o seu perfil de ligação.
      • REGION com o identificador da região onde quer guardar o perfil de associação.
      • DESTINATION_INSTANCE_ID com o identificador da instância da sua instância de destino.
      • (Opcional) CONNECTION_PROFILE_NAME com um nome legível para o seu perfil de associação. Este valor é apresentado na Google Cloud consola.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration connection-profiles \
      create mysql CONNECTION_PROFILE_ID \
        --no-async \
        --cloudsql-instance=DESTINATION_INSTANCE_ID \
        --region=REGION \
        --display-name=CONNECTION_PROFILE_NAME

      Windows (PowerShell)

      gcloud database-migration connection-profiles `
      create mysql CONNECTION_PROFILE_ID `
        --no-async `
        --cloudsql-instance=DESTINATION_INSTANCE_ID `
        --region=REGION `
        --display-name=CONNECTION_PROFILE_NAME

      Windows (cmd.exe)

      gcloud database-migration connection-profiles ^
      create mysql CONNECTION_PROFILE_ID ^
        --no-async ^
        --cloudsql-instance=DESTINATION_INSTANCE_ID ^
        --region=REGION ^
        --display-name=CONNECTION_PROFILE_NAME

      Deve receber uma resposta semelhante à seguinte:

      Waiting for connection profile [CONNECTION_PROFILE_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
      

    Passo 3b. Crie e execute a tarefa de migração

    Consola

    Defina as definições da tarefa de migração

    1. Na Google Cloud consola, aceda à página Tarefas de migração.

      Aceda a Tarefas de migração

    2. Clique em Criar tarefa de migração.

      É aberta a página do assistente de configuração da tarefa de migração. Este assistente contém vários painéis que explicam cada passo de configuração.

      Pode pausar a criação de uma tarefa de migração em qualquer altura clicando em GUARDAR E SAIR. Todos os dados que introduzir até esse ponto são guardados num trabalho de migração de rascunho. Pode concluir a tarefa de migração de rascunho mais tarde.

    3. Na página Começar, introduza as seguintes informações:
      1. Nome da tarefa de migração

        Este é um nome legível para o seu trabalho de migração. Este valor é apresentado na Google Cloud consola.

      2. ID da tarefa de migração

        Este é um identificador legível por máquina para a sua tarefa de migração. Use este valor para trabalhar com tarefas de migração através de comandos da CLI do Google Cloud ou da API do Database Migration Service.

      3. Na lista Motor da base de dados de origem, selecione MySQL.

        O campo Motor da base de dados de destino é preenchido automaticamente e não pode ser alterado.

      4. Selecione a região onde guarda a tarefa de migração.

        O serviço de migração de bases de dados é um produto totalmente regional, o que significa que todas as entidades relacionadas com a sua migração (perfis de ligação de origem e destino, tarefas de migração, bases de dados de destino) têm de ser guardadas numa única região. Selecione a região com base na localização dos serviços que precisam dos seus dados, como instâncias do Compute Engine ou apps do App Engine, e outros serviços. Depois de escolher a região de destino, não pode alterar esta seleção.

    4. Clique em Guardar e continuar.

    Especifique informações sobre o perfil de associação de origem

    1. Na página Definir uma origem, execute os seguintes passos:
      1. No menu pendente Perfil de associação de origem, selecione o perfil de associação da base de dados de origem.
      2. Na secção Personalizar configuração de despejo completo, clique em Editar configuração.
      3. No painel Editar configuração de despejo completo, no menu pendente Método de despejo completo, selecione Baseado em físico.
      4. Em Indique a sua pasta, clique em Procurar e, em seguida, selecione a pasta onde carregou o ficheiro de despejo completo (passo 4 na secção Prepare os dados de origem).
      5. Clique em Guardar.
    2. Clique em Guardar e continuar.

    Selecione a instância do Cloud SQL de destino

    1. No menu Tipo de instância de destino, selecione Instância existente.
    2. Na secção Selecionar instância de destino, selecione a instância de destino.
    3. Reveja as informações na secção Detalhes da instância e clique em Selecionar e continuar.
    4. Para migrar para uma base de dados de destino existente, o serviço de migração de base de dados rebaixa a instância de destino e converte-a numa réplica. Para indicar que a despromoção pode ser realizada em segurança, na janela de confirmação, introduza o identificador da instância de destino.
    5. Clique em Confirmar e continuar.

    Configure a conetividade entre as instâncias da base de dados de origem e de destino

    No menu pendente Método de conetividade, selecione um método de conetividade de rede. Este método define como a instância do Cloud SQL recém-criada se vai ligar à base de dados de origem. Os métodos de conetividade de rede atuais incluem: Lista de autorizações de IPs, túnel SSH inverso e interligação de VPCs.

    Se quiser usar…Depois…
    O método de conetividade de rede da lista de permissões de IPs, Tem de especificar o endereço IP de saída da instância de destino. Se a instância do Cloud SQL que criou for uma instância de alta disponibilidade, inclua os endereços IP de saída para a instância principal e secundária.
    O método de conetividade de rede do túnel SSH inverso Tem de selecionar a instância de VM do Compute Engine que vai alojar o túnel.

    Depois de especificar a instância, a Google fornece um script que executa os passos para configurar o túnel entre as bases de dados de origem e de destino. Tem de executar o script na CLI do Google Cloud.

    Execute os comandos a partir de uma máquina que tenha conetividade com a base de dados de origem e com o Google Cloud.

    O método de conetividade de rede de intercâmbio da VPC Tem de selecionar a rede de VPC onde reside a base de dados de origem. A instância do Cloud SQL vai ser atualizada para se ligar a esta rede.

    Depois de selecionar e configurar a conetividade de rede, clique em Configurar e continuar.

    Teste, crie e execute a tarefa de migração

    Neste passo final, reveja o resumo das definições da tarefa de migração, a origem, o destino e o método de conetividade e, em seguida, teste a validade da configuração da tarefa de migração. Se encontrar problemas, pode modificar as definições da tarefa de migração. Nem todas as definições são editáveis.

    1. Na página Teste e crie uma tarefa de migração, clique em Tarefa de teste.

      Se o teste falhar, pode resolver o problema na parte adequada do fluxo e voltar a testar. Para obter informações sobre a resolução de problemas de um teste de tarefa de migração com falhas, consulte o artigo Diagnostique problemas do MySQL.

    2. Quando o teste da tarefa de migração terminar, clique em Criar e iniciar tarefa.

      A migração está agora em curso. Quando inicia a tarefa de migração, o serviço de migração de dados inicia a descarga completa, bloqueando brevemente a base de dados de origem.

    gcloud

    Para configurar e executar a migração, siga estes passos:

    1. Crie a tarefa de migração.
      Execute o seguinte comando (clique no link para expandir):

      gcloud database-migration migration-jobs create

      Este exemplo usa o sinalizador --no-async opcional para que todas as operações sejam realizadas de forma síncrona. Isto significa que alguns comandos podem demorar algum tempo a serem concluídos. Pode ignorar a flag --no-async para executar comandos de forma assíncrona. Se o fizer, tem de usar o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

      Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

      • MIGRATION_JOB_ID com um identificador legível por máquina para a sua tarefa de migração. Use este valor para trabalhar com tarefas de migração através de comandos da CLI do Google Cloud ou da API do Database Migration Service.
      • REGION com o identificador da região onde quer guardar a tarefa de migração.
      • MIGRATION_JOB_NAME com um nome legível para a tarefa de migração. Este valor é apresentado no serviço de migração de bases de dados na Google Cloud consola.
      • SOURCE_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de ligação de origem.
      • DESTINATION_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de associação de destino.
      • MIGRATION_JOB_TYPE com o tipo da sua tarefa de migração. São permitidos dois valores: ONE_TIME ou CONTINUOUS. Para mais informações, consulte Tipos de migração.
      • PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES com o caminho para os ficheiros de cópia de segurança físicos armazenados numa pasta num contentor do Cloud Storage. Use o seguinte formato: gs://<bucket_name>/<path_to_backup_file_folder>.
      • Configuração de rede

        Se usar a conetividade de IP privado com o peering de redes VPC ou um túnel SSH inverso, adicione as seguintes flags ao comando:

        Conetividade de IP privado com o intercâmbio da rede da VPC
        Use a flag --peer-vpc para especificar o nome da rede com a qual quer estabelecer uma relação de parceria.
        Túnel SSH inverso numa VM do Compute Engine
        Use as seguintes flags para fornecer detalhes de rede para o Compute Engine: --vm-ip, --vm-port, --vpc. Também pode usar a flag opcional --vm para especificar o nome da VM.

        Para ver mais exemplos de utilização, consulte Exemplos da CLI Google Cloud.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration migration-jobs \
      create MIGRATION_JOB_ID \
        --no-async \
        --region=REGION \
        --display-name=MIGRATION_JOB_NAME \
        --source=SOURCE_CONNECTION_PROFILE_ID \
        --destination=DESTINATION_CONNECTION_PROFILE_ID \
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      create MIGRATION_JOB_ID `
        --no-async `
        --region=REGION `
        --display-name=MIGRATION_JOB_NAME `
        --source=SOURCE_CONNECTION_PROFILE_ID `
        --destination=DESTINATION_CONNECTION_PROFILE_ID `
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      create MIGRATION_JOB_ID ^
        --no-async ^
        --region=REGION ^
        --display-name=MIGRATION_JOB_NAME ^
        --source=SOURCE_CONNECTION_PROFILE_ID ^
        --destination=DESTINATION_CONNECTION_PROFILE_ID ^
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Deve receber uma resposta semelhante à seguinte:

      Waiting for migration job [MIGRATION_JOB_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created migration job MIGRATION_JOB_ID [OPERATION_ID]
      
    2. Rebaixe a sua instância de destino do Cloud SQL.
      Execute o seguinte comando (clique no link para expandir):

      gcloud database-migration migration-jobs demote-destination

      Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

      • MIGRATION_JOB_ID com o identificador da tarefa de migração.

        Se não souber o identificador, pode usar o comando gcloud database-migration migration-jobs list para listar todas as tarefas de migração numa determinada região e ver os respetivos identificadores.

      • REGION com o identificador da região onde o seu perfil de associação está guardado.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration migration-jobs \
      demote-destination MIGRATION_JOB_ID \
        --region=REGION

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      demote-destination MIGRATION_JOB_ID `
        --region=REGION

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      demote-destination MIGRATION_JOB_ID ^
        --region=REGION

      Resultado

      A ação é realizada de forma assíncrona. Como tal, este comando devolve uma entidade de operação que representa uma operação de longa duração:

      done: false
      metadata:
        '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
        apiVersion: v1
        createTime: '2024-02-20T12:20:24.493106418Z'
        requestedCancellation: false
        target: MIGRATION_JOB_ID
        verb: demote-destination
      name: OPERATION_ID
      

      Para ver se a operação foi bem-sucedida, pode consultar o objeto de operação devolvido ou verificar o estado da tarefa de migração:

    3. (Opcional) Execute um teste de tarefa de migração
      Pode executar uma verificação para confirmar se o serviço de migração de bases de dados consegue alcançar todas as entidades de origem e destino necessárias. Execute o seguinte comando (clique no link para expandir):

      gcloud database-migration migration-jobs verify

      Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

      • MIGRATION_JOB_ID com o identificador da tarefa de migração.

        Se não souber o identificador, pode usar o comando gcloud database-migration migration-jobs list para listar todas as tarefas de migração numa determinada região e ver os respetivos identificadores.

      • REGION com o identificador da região onde o seu perfil de associação está guardado.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration migration-jobs \
      verify MIGRATION_JOB_ID \
        --region=REGION

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      verify MIGRATION_JOB_ID `
        --region=REGION

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      verify MIGRATION_JOB_ID ^
        --region=REGION

      Resultado

      A ação é realizada de forma assíncrona. Como tal, este comando devolve uma entidade de operação que representa uma operação de longa duração:

      done: false
      metadata:
        '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
        apiVersion: v1
        createTime: '2024-02-20T12:20:24.493106418Z'
        requestedCancellation: false
        target: MIGRATION_JOB_ID
        verb: verify
      name: OPERATION_ID
      

      Para ver se a operação foi bem-sucedida, pode consultar o objeto de operação devolvido ou verificar o estado da tarefa de migração:

    4. Inicie a tarefa de migração.
      Execute o seguinte comando (clique no link para expandir):

      gcloud database-migration migration-jobs start

      Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

      • MIGRATION_JOB_ID com o identificador da tarefa de migração.

        Se não souber o identificador, pode usar o comando gcloud database-migration migration-jobs list para listar todas as tarefas de migração numa determinada região e ver os respetivos identificadores.

      • REGION com o identificador da região onde o seu perfil de associação está guardado.

      Execute o seguinte comando:

      Linux, macOS ou Cloud Shell

      gcloud database-migration migration-jobs \
      start MIGRATION_JOB_ID \
        --region=REGION

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      start MIGRATION_JOB_ID `
        --region=REGION

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      start MIGRATION_JOB_ID ^
        --region=REGION

      Resultado

      A ação é realizada de forma assíncrona. Como tal, este comando devolve uma entidade de operação que representa uma operação de longa duração:

      done: false
      metadata:
        '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
        apiVersion: v1
        createTime: '2024-02-20T12:20:24.493106418Z'
        requestedCancellation: false
        target: MIGRATION_JOB_ID
        verb: start
      name: OPERATION_ID
      

      Para ver se a operação foi bem-sucedida, pode consultar o objeto de operação devolvido ou verificar o estado da tarefa de migração:

      Quando inicia a tarefa de migração, a instância do Cloud SQL de destino é colocada num modo só de leitura, em que é totalmente gerida pelo Database Migration Service. Pode promovê-la a uma instância autónoma quando os dados estiverem totalmente migrados.

      Nota: pode monitorizar o progresso da migração, bem como o estado da instância de destino, com as funcionalidades de observabilidade do Database Migration Service. Consulte [Métricas da tarefa de migração](/database-migration/docs/mysql/migration-job-metrics).

Passo 4. (Opcional) Pare a migração

Pode parar e eliminar a tarefa de migração em qualquer altura se quiser cancelar o processo de migração de dados. Pode gerir a tarefa de migração na Google Cloud consola ou com a CLI do Google Cloud.

Passo 5. Finalize a migração

Quando a tarefa de migração for concluída com êxito, finalize a tarefa de migração executando um dos seguintes passos:

  • Para migrações únicas: o estado da tarefa de migração muda para Concluído. Não são necessárias mais ações. Pode limpar os recursos do perfil de ligação e da tarefa de migração.

  • Para migrações contínuas: promova a tarefa de migração para mudar a sua aplicação para a nova instância da base de dados.