Partilhar via


Realocar uma conta NoSQL do Azure Cosmos DB para outra região

Há vários motivos pelos quais você pode querer mover seus recursos existentes do Azure de uma região para outra. Você pode querer:

  • Aproveite uma nova região do Azure.
  • Implante recursos ou serviços disponíveis apenas em regiões específicas.
  • Atender aos requisitos internos de política e governança.
  • Alinhar-se com fusões e aquisições de empresas
  • Atenda aos requisitos de planejamento de capacidade.

Este artigo descreve como:

  • Realoque uma região onde os dados são replicados no Azure Cosmos DB.
  • Migre metadados e dados da conta (Azure Resource Manager) de uma região para outra.

Pré-requisitos

  • Um registro de aplicativo deve ser criado com permissão delegada para a instância do grupo de recursos de origem e destino e "permissão de API" para "User.ReadBasic.All".

  • A API do Cosmos DB selecionada deve permanecer a mesma da origem para o destino. Este documento usa SQL DB API.

  • Os nomes das contas devem ser limitados a 44 caracteres, todos minúsculos.

  • Quando adiciona ou remove localizações a uma conta do Azure Cosmos, não pode modificar simultaneamente outras propriedades.

  • Identifique todos os recursos dependentes do Cosmos DB.

Inatividade

Considerações sobre pontos de extremidade de serviço

Os pontos de extremidade do serviço de rede virtual para o Azure Cosmos DB restringem o acesso a uma rede virtual especificada. Os pontos de extremidade também podem restringir o acesso a uma lista de intervalos de endereços IPv4 (protocolo Internet versão 4). Qualquer usuário que se conecte aos Hubs de Eventos de fora dessas fontes tem acesso negado. Se os pontos de extremidade de serviço fossem configurados na região de origem para o recurso de Hubs de Eventos, o mesmo precisaria ser feito no de destino.

Para uma recriação bem-sucedida do Azure Cosmos DB para a região de destino, a VNet e a Sub-rede devem ser criadas previamente. Caso a movimentação desses dois recursos esteja sendo realizada com a ferramenta Azure Resource Mover, os pontos de extremidade de serviço não serão configurados automaticamente. Portanto, eles precisam ser configurados manualmente, o que pode ser feito por meio do portal do Azure, da CLI do Azure ou do Azure PowerShell.

Reimplantar sem dados

Para casos em que a instância do Cosmos DB precisa ser realocada sozinha sem a configuração e os dados do cliente, a própria instância pode ser criada usando Microsoft.DocumentDB databaseAccounts

Reimplantar com dados

O Azure Cosmos DB dá suporte à replicação de dados nativamente, portanto, mover dados de uma região para outra é simples. Você pode fazer isso usando o portal do Azure, o Azure PowerShell ou a CLI do Azure. Envolve as seguintes etapas:

  1. Adicione uma nova região à conta.

    Para adicionar uma nova região a uma conta do Azure Cosmos DB, consulte Adicionar/remover regiões a uma conta do Azure Cosmos DB.

  2. Execute um failover manual para a nova região.

    Quando a região que está sendo removida for atualmente a região de gravação da conta, você precisará iniciar um failover para a nova região adicionada na etapa anterior. Esta é uma operação de tempo de inatividade zero. Se estiver a mover uma região de leitura numa conta de várias regiões, pode ignorar este passo.

    Para iniciar um failover, consulte Executar failover manual em uma conta do Azure Cosmos DB.

  3. Remova a região original.

    Para remover uma região de uma conta do Azure Cosmos DB, consulte Adicionar/remover regiões da sua conta do Azure Cosmos DB.

Nota

Se você executar uma operação de failover ou adicionar/remover uma nova região enquanto uma operação de escalonamento assíncrono de taxa de transferência estiver em andamento, a operação de expansão de taxa de transferência será pausada. Ele será retomado automaticamente quando a operação de failover ou adicionar/remover região for concluída.

Reimplantar metadados da conta do Azure Cosmos DB

O Azure Cosmos DB não oferece suporte nativo à migração de metadados de conta de uma região para outra. Para migrar os metadados da conta e os dados do cliente de uma região para outra, você deve criar uma nova conta na região desejada e, em seguida, copiar os dados manualmente.

Importante

Não é necessário migrar os metadados da conta se os dados forem armazenados ou movidos para uma região diferente. A região na qual os metadados da conta residem não tem impacto no desempenho, na segurança ou em quaisquer outros aspetos operacionais da sua conta do Azure Cosmos DB.

Uma migração de tempo de inatividade quase zero para a API para NoSQL requer o uso do feed de alterações ou de uma ferramenta que o use.

As etapas a seguir demonstram como migrar uma conta do Azure Cosmos DB para a API para NoSQL e seus dados de uma região para outra:

  1. Crie uma nova conta do Azure Cosmos DB na região desejada.

    Para criar uma nova conta por meio do portal do Azure, do PowerShell ou da CLI do Azure, consulte Criar uma conta do Azure Cosmos DB.

  2. Crie um novo banco de dados e contêiner.

    Para criar um novo banco de dados e contêiner, consulte Criar um contêiner do Azure Cosmos DB.

  3. Migre dados usando o exemplo de migração ao vivo do Azure Cosmos DB Spark Connector.

    Para migrar dados com tempo de inatividade quase zero, consulte Live Migrate Azure Cosmos DB SQL API Containers data with Spark Connector.

  4. Atualize a cadeia de conexão do aplicativo.

    Com o exemplo de Migração de Dados em Tempo Real ainda em execução, atualize as informações de conexão na nova implantação do seu aplicativo. Você pode recuperar os pontos de extremidade e chaves para seu aplicativo no portal do Azure.

    Controle de acesso no portal do Azure, demonstrando a segurança do banco de dados NoSQL.

  5. Redirecionar solicitações para o novo aplicativo.

    Depois que o novo aplicativo for conectado ao Azure Cosmos DB, você poderá redirecionar as solicitações do cliente para sua nova implantação.

  6. Exclua todos os recursos que você não precisa mais.

    Com as solicitações agora totalmente redirecionadas para a nova instância, você pode excluir a conta antiga do Azure Cosmos DB e interromper o exemplo do Live Data Migrator.

Próximos passos

Para obter mais informações e exemplos sobre como gerenciar a conta do Azure Cosmos DB, bem como bancos de dados e contêineres, leia os seguintes artigos: