Mover uma instância

Nesta página, descrevemos como mover uma instância no Spanner.

É possível mover a instância do Spanner de qualquer configuração de instância para qualquer outra configuração de instância, inclusive entre configurações regionais e multirregionais. Mover a instância não causa inatividade, e o Spanner continua a fornecer as garantias de transação habituais, incluindo consistência forte, durante a mudança.

Por que mover sua instância do Spanner?

Os benefícios de mover sua instância incluem:

  • Aumente a disponibilidade: consiga 99,999% de disponibilidade sem inatividade depois de realizar uma mudança regional para multirregional.
  • Reduzir latência: reduza a latência e aumente a cobertura geográfica com mais réplicas somente leitura em uma movimentação regional para multirregional ou multirregional para multirregião.
  • Reduzir custos: reduza os custos por hora migrando de uma configuração multirregional para uma configuração regional.
  • Banco de dados de colocalização: coloque o banco de dados do Spanner com o aplicativo cliente movendo a instância para um local mais otimizado.

Preços

Ao mover uma instância, as configurações das instâncias de origem e destino estão sujeitas a cobranças e armazenamento por hora. Quando a migração for concluída, você vai receber a cobrança pelo armazenamento da instância na configuração de destino.

Se você estiver movendo sua instância para uma nova configuração de instância regional ou multirregional, talvez esteja sujeito a cobranças de transferência de dados de saída. Para mais informações, consulte Preços do Spanner.

Limitações

  • Para mover a instância, ela precisa ter no mínimo um nó (1.000 unidades de processamento).
  • Não é possível mover sua instância entre projetos e contas do Google Cloud.
  • Não é possível mover uma instância de teste gratuito do Spanner. É possível mover a instância após o upgrade para uma instância paga.
  • Se você tiver solicitações ativas usando um endpoint de serviço regional em qualquer um dos recursos da instância, a movimentação da instância vai afetar todas as solicitações que estão usando o endpoint regional, porque a aplicação regional bloqueia o acesso a instâncias entre regiões. As solicitações que usam um endpoint global não são afetadas.
  • Os backups do Spanner são específicos de uma configuração de instância e não são incluídos ao mover uma instância. Consulte Backups na configuração da instância de origem para mais informações.
  • As seguintes APIs são desativadas durante uma movimentação de instância:
    • InstanceAdmin.DeleteInstance
    • InstanceAdmin.UpdateInstance
    • DatabaseAdmin.CreateDatabase
    • DatabaseAdmin.UpdateDatabaseDdl: desativado se default_leader for especificado na solicitação.
    • DatabaseAdmin.RestoreDatabase
    • DatabaseAdmin.CreateBackup
    • DatabaseAdmin.CopyBackup
  • Não é possível mover instâncias que contenham bancos de dados ativados para CMEK.
  • Se um banco de dados tiver um líder padrão modificado, a seleção será preservada se nomear uma região de leitura/gravação na configuração da instância de destino e essa configuração for multirregional. Se a configuração de destino for regional ou não incluir a região de leitura/gravação nomeada, a seleção líder padrão será limpa.
  • Mover uma instância altera o atributo de configuração dela. Se você gerenciar os recursos do Spanner por meio da automação, prepare e resolva quaisquer inconsistências que possam surgir.
    • Por exemplo, se você usar o Terraform para gerenciar instâncias e bancos de dados do Spanner e ativar terraform apply --auto-approve para manter os recursos sincronizados, todas as instâncias e recursos filhos serão excluídos quando movermos a instância. Atualize a configuração para evitar exclusão e perda de dados. Consulte Opções de aplicação do Terraform para mais informações sobre o comando apply.
  • Enquanto a instância está sendo movida, as métricas e os gráficos de monitoramento do Spanner podem mostrar dados nas configurações da instância de origem e destino ou podem refletir o desempenho em apenas uma configuração de instância.
  • Se você configurou a ferramenta de autoescalador de código aberto, não será necessário desativá-la. Ocorre uma falha porque InstanceAdmin.UpdateInstance (usada para alterações de nó e unidade de processamento) está desativada.
  • Não é possível mover uma instância se o recurso escalonador automático gerenciado do Spanner estiver ativado nela. Para mover a instância, você precisa desativar o escalonador automático gerenciado, mover a instância e, em seguida, reativar o escalonador automático gerenciado.

Considerações sobre performance

Quando uma instância está sendo movida, ela passa por maiores latências de leitura/gravação e uma taxa de cancelamento de transação mais alta. O uso da CPU durante a migração pode chegar a 100% porque a movimentação da instância é realizada usando CPU extra provisionada pelo usuário. No entanto, mover uma instância não causa inatividade. O tempo necessário para mover uma instância depende de vários fatores, incluindo o tamanho dos bancos de dados, o número de nós e o tipo de movimentação (por exemplo, regional para multirregional).

Depois de mover uma instância, o desempenho dela varia de acordo com os detalhes da sua configuração. Por exemplo, configurações multirregionais geralmente têm maior latência de gravação e menor latência de leitura do que as configurações regionais.

Como mover uma instância

É possível mover uma configuração de instância usando o console do Google Cloud. Primeiro, você precisa preencher um formulário de solicitação de migração de instância. Em seguida, a equipe do Spanner acompanha a data de início da movimentação da instância. Observe que mover uma instância não altera o nome, o ID ou o ID do projeto da instância.

Pré-requisitos

Antes de fazer uma solicitação para mover a configuração da instância, leia as seções Limitações e Considerações de desempenho. Depois, siga estas etapas:

  1. Verifique se você tem a permissão do IAM spanner.instances.update na instância de origem.
  2. Adicione um rótulo de recurso à instância a ser movida. A chave para esse rótulo é "move-to", e o valor é o nome da configuração da instância de destino (por exemplo, "us-east4"). Para mais informações, consulte Rotular uma instância.
  3. Se aplicável, solicite a migração das instâncias que não são de produção (por exemplo, teste e preparo) antes de mover as instâncias de produção. Isso ajuda a avaliar e entender o impacto do desempenho nas cargas de trabalho durante a movimentação de uma instância.
  4. Quando você move uma instância do Spanner, o processo de transferência exclui as tags de instância criadas no Data Catalog. Para preservar suas tags, é necessário exportá-las antes da movimentação e importá-las depois da movimentação. Para mais informações, consulte Exportar e importar tags.

Para conferir as práticas recomendadas, siga também estas diretrizes:

  • Teste as cargas de trabalho de desempenho em instâncias de não produção na configuração da instância de destino antes de mover a instância de produção.
  • Use o Key Visualizer para verificar se não há pontos de acesso nos seus bancos de dados.
  • Verifique se você tem cota de nós suficiente na configuração da instância de destino para suportar o pico de uso esperado da instância. Para mais informações, consulte Cotas e limites do Spanner.
  • Verifique se o pico de utilização da CPU da instância está dentro dos limites máximos recomendados para o tipo de configuração de instância para o qual você quer mover a configuração da instância de origem.

    Além disso, se você estiver usando o escalonamento automático, será preciso provisionar nós suficientes para o pico de uso da CPU de acordo com as recomendações máximas observadas e, em seguida, desativar o escalonamento automático antes de mover a instância.

  • Não faça alterações na instância durante a migração. Isso inclui a alteração da contagem de nós da instância, a alteração de esquemas de banco de dados, a criação ou a eliminação de bancos de dados ou a criação ou exclusão de backups.

Mover uma instância

Console

  1. Acesse a página Instâncias do Spanner no Console do Google Cloud.

    Acessar a página "Instâncias"

  2. Clique no nome da instância que você quer mexer.

    O console do Google Cloud exibe a página Visão geral da instância.

  3. Clique em Editar instância.

  4. Para programar a migração para uma nova configuração de instância, clique em Entrar em contato com o Google e preencha o formulário Solicitação de migração de instância do Spanner.

    Depois que o formulário é enviado, o Google entra em contato com você para informar a data de início da movimentação da instância.

Backups na configuração da instância de origem

Quando você move uma configuração de instância do Spanner, os backups na instância de origem não são movidos para a nova configuração de destino automaticamente. É importante que você copie os backups e considere o plano de recuperação de dados antes de mover a configuração da instância.

Se houver backups necessários na instância de origem, primeiro copie os backups para outra instância com a mesma configuração da instância de origem a ser movida. Depois de copiar os backups para outra instância, exclua todos os backups atuais na instância de origem antes de mover a configuração da instância para uma nova configuração. O Google não moverá sua instância se houver backups na configuração da instância de origem no horário programado da movimentação da instância. Recomendamos que você copie os backups o mais próximo possível da data da mudança (notificada pelo Google).

Para saber mais sobre como copiar backups e os custos associados, consulte Copiar um backup.

O que fazer depois de enviar seu pedido de transferência

Depois que é feita uma solicitação de mudança de instância, o Google entra em contato para informar a data de início da mudança da configuração da instância. Em geral, esperamos responder a todas as solicitações de mudança em até dois dias úteis.

Depois de receber uma confirmação da data da mudança, informe a todas as partes relevantes sobre a data da mudança e prepare-se para copiar os backups que você quer manter.

A seguir