将 Azure Cosmos DB 帐户移到另一个区域
适用对象: NoSQL MongoDB Cassandra Gremlin 表
本文介绍了如何执行以下操作:
- 在 Azure Cosmos DB 中移动一个可在其中复制数据的区域。
- 将帐户(Azure 资源管理器)元数据和数据从一个区域迁移到另一个区域。
将数据从一个区域移到另一个区域
Azure Cosmos DB 本身支持数据复制,因此,将数据从一个区域移到另一个区域非常简单。 可以使用 Azure 门户、Azure PowerShell 或 Azure CLI 来完成此操作。 它涉及以下步骤:
将新区域添加到帐户。
若要将新区域添加到 Azure Cosmos DB 帐户,请参阅在 Azure Cosmos DB 帐户中添加/删除区域。
执行到新区域的手动故障转移。
当要删除的区域当前为帐户的写入区域时,你需要故障转移到上一步骤中添加的新区域。 此操作不需要停机。 如果要移动多区域帐户中的读取区域,则可以跳过此步骤。
若要启动故障转移,请参阅在 Azure Cosmos DB 帐户上执行手动故障转移。
删除原始区域。
若要从 Azure Cosmos DB 帐户中删除区域,请参阅在 Azure Cosmos DB 帐户中添加/删除区域。
注意
如果在异步吞吐量缩放操作正在进行时执行故障转移操作或添加/删除新区域,则会暂停吞吐量纵向扩展操作。 故障转移或添加/删除区域操作完成后,它会自动继续。
迁移 Azure Cosmos DB 帐户元数据
Azure Cosmos DB 本身不支持将帐户元数据从一个区域迁移到另一个区域。 若要同时将帐户元数据和客户数据从一个区域迁移到另一个区域,必须在所需的区域中创建新帐户,然后手动复制数据。
重要
如果数据存储或移动到另一区域,则不需要迁移帐户元数据。 帐户元数据所在的区域不会影响 Azure Cosmos DB 帐户的性能、安全性或任何其他操作方面。
要想几乎不停机地进行 API for NoSQL 迁移,需要使用更改源或一个使用它的工具。
以下步骤演示了如何将 API for NoSQL 的 Azure Cosmos DB 帐户及其数据从一个区域迁移到另一个区域:
在所需区域中创建新的 Azure Cosmos DB 帐户。
若要通过 Azure 门户、PowerShell 或 Azure CLI 创建新帐户,请参阅创建 Azure Cosmos DB 帐户。
创建新的数据库和容器。
若要创建新的数据库和容器,请参阅创建 Azure Cosmos DB 容器。
使用 Azure Cosmos DB Spark 连接器实时迁移示例迁移数据。
若要在几乎不停机的情况下迁移数据,请参阅使用 Spark 连接器实时迁移 Azure Cosmos DB SQL API 容器数据。
更新应用程序连接字符串。
当实时数据迁移示例仍在运行时,在应用程序的新部署中更新连接信息。 你可以从 Azure 门户检索应用程序的终结点和密钥。
将请求重定向到新应用程序。
在新应用程序连接到 Azure Cosmos DB 后,可以将客户端请求重定向到新部署。
删除不再需要的任何资源。
现在,请求已完全重定向到新实例,你可以删除旧的 Azure Cosmos DB 帐户并停止实时数据迁移示例。
后续步骤
有关如何管理 Azure Cosmos DB 帐户以及数据库和容器的详细信息和示例,请阅读以下文章: