Table API を使用して Azure Cosmos DB グローバル分散を設定するSet up Azure Cosmos DB global distribution using the Table API

この記事に含まれるタスクは次のとおりです。This article covers the following tasks:

  • Azure Portal を使用してグローバル分散を構成するConfigure global distribution using the Azure portal
  • Table API を使用してグローバル分散を構成するConfigure global distribution using the Table API

Azure Portal を使用したグローバル データベース リージョンの追加Add global database regions using the Azure portal

Azure Cosmos DB は世界中のすべての Azure リージョンで利用できます。Azure Cosmos DB is available in all Azure regions worldwide. データベース アカウントの既定の一貫性レベルを選択すると、選択した既定の一貫性レベルとグローバル配信の必要性に応じて、1 つまたは複数のリージョンを関連付けることができます。After selecting the default consistency level for your database account, you can associate one or more regions (depending on your choice of default consistency level and global distribution needs).

  1. Azure Portal で、左側のバーの [Azure Cosmos DB] をクリックします。In the Azure portal, in the left bar, click Azure Cosmos DB.

  2. [Azure Cosmos DB] ページで、変更するデータベース アカウントを選びます。In the Azure Cosmos DB page, select the database account to modify.

  3. アカウントのページで、メニューから [データをグローバルにレプリケートする] をクリックします。In the account page, click Replicate data globally from the menu.

  4. [データをグローバルにレプリケートする] ページで、マップ内のリージョンをクリックして、追加または削除するリージョンを選択し、 [保存] をクリックします。In the Replicate data globally page, select the regions to add or remove by clicking regions in the map, and then click Save. リージョンを追加するには費用が必要になります。詳細については、価格に関するページまたは「Azure Cosmos DB を使用したデータのグローバル分散」の記事を参照してください。There is a cost to adding regions, see the pricing page or the Distribute data globally with Azure Cosmos DB article for more information.

    地図でリージョンをクリックして、リージョンを追加又は削除する

2 番目のリージョンを追加すると、ポータルの [データをグローバルにレプリケートする] ページで [手動フェールオーバー] オプションが有効になります。Once you add a second region, the Manual Failover option is enabled on the Replicate data globally page in the portal. このオプションは、フェールオーバー プロセスをテストしたり、プライマリ書き込みリージョンを変更したりするために使用できます。You can use this option to test the failover process or change the primary write region. 3 番目のリージョンを追加すると、同じページの [フェールオーバーの優先度] オプションが有効になります。これで、読み取りのフェールオーバーの順序を変更できるようになります。Once you add a third region, the Failover Priorities option is enabled on the same page so that you can change the failover order for reads.

グローバル データベース リージョンの選択Selecting global database regions

複数のリージョンを構成する場合、2 つの一般的なシナリオがあります。There are two common scenarios for configuring two or more regions:

  1. エンドユーザーが世界中のどこにいても関係なく、データへの待ち時間の短いアクセスを実現するDelivering low-latency access to data to end users no matter where they are located around the globe
  2. リージョンのビジネス継続性とディザスター リカバリー (BCDR) の回復性を追加するAdding regional resiliency for business continuity and disaster recovery (BCDR)

エンド ユーザーの短い待ち時間の実現のため、アプリケーションのユーザーが存在する場所に対応するリージョンに、アプリケーションと Azure Cosmos DB の両方をデプロイすることをお勧めします。For delivering low-latency to end users, it is recommended that you deploy both the application and Azure Cosmos DB in the regions that correspond to where the application's users are located.

BCDR のため、リージョン ペアに基づいてリージョンを追加することをお勧めします。リージョン ペアについては、「ビジネス継続性とディザスター リカバリー (BCDR):Azure のペアになっているリージョン」をご覧ください。For BCDR, it is recommended to add regions based on the region pairs described in the Business continuity and disaster recovery (BCDR): Azure Paired Regions article.

Table API を使用して優先リージョンに接続するConnecting to a preferred region using the Table API

グローバル配布を活用するために、クライアント アプリケーションでは、ドキュメントの操作の実行に使用するリージョンの順序付き優先リストを指定できます。In order to take advantage of global distribution, client applications can specify the ordered preference list of regions to be used to perform document operations. これは、TableConnectionPolicy.PreferredLocations プロパティを設定することによって行うことができます。This can be done by setting the TableConnectionPolicy.PreferredLocations property. Azure Cosmos DB Table API SDK は、アカウント構成、現在のリージョンの可用性、および指定されている設定一覧に基づいて、通信に最適なエンドポイントを選定します。The Azure Cosmos DB Table API SDK picks the best endpoint to communicate with based on the account configuration, current regional availability and the supplied preference list.

PreferredLocations には、読み取りの優先場所 (マルチホーム) のコンマ区切りリストを指定してください。The PreferredLocations should contain a comma-separated list of preferred (multi-homing) locations for reads. 各クライアント インスタンスは、低待機時間で読み取りを行えるように、優先順位を付けてこれらのリージョンのサブセットを指定できます。Each client instance can specify a subset of these regions in the preferred order for low latency reads. リージョンは表示名 (West US など) を使用して指定する必要があります。The regions must be named using their display names, for example, West US.

読み取りはすべて、PreferredLocations リストで使用可能な最初のリージョンに送信されます。All reads are sent to the first available region in the PreferredLocations list. 要求が失敗すると、クライアントはリストにある次のリージョンを試します。これが繰り返されます。If the request fails, the client will fail down the list to the next region, and so on.

SDK は、PreferredLocations で指定されたリージョンからの読み取りを試みます。The SDK attempts to read from the regions specified in PreferredLocations. このため、3 つのリージョンでデータベース アカウントが利用できるものの、クライアントが PreferredLocations の非書き込みリージョンを 2 つだけ指定している場合などには、書き込みリージョンの外で読み取りが処理されません。これはフェールオーバーの場合にもあてはまります。So, for example, if the Database Account is available in three regions, but the client only specifies two of the non-write regions for PreferredLocations, then no reads will be served out of the write region, even in the case of failover.

SDK は自動的に、すべての書き込みを現在の書き込みリージョンに送信します。The SDK automatically sends all writes to the current write region.

PreferredLocations プロパティが設定されていない場合、すべての要求が現在の書き込みリージョンから処理されます。If the PreferredLocations property is not set, all requests will be served from the current write region.

このチュートリアルはこれで終わりです。That's it, that completes this tutorial. Azure Cosmos DB の一貫性レベルに関する記事を読んで、グローバルにレプリケートされたアカウントの整合性を管理する方法について確認できます。You can learn how to manage the consistency of your globally replicated account by reading Consistency levels in Azure Cosmos DB. また、Azure Cosmos DB におけるグローバル データベース レプリケーションの動作の詳細については、Azure Cosmos DB を使用したデータのグローバル分散に関する記事を参照してください。And for more information about how global database replication works in Azure Cosmos DB, see Distribute data globally with Azure Cosmos DB.

次の手順Next steps

このチュートリアルでは、次の手順を行いました。In this tutorial, you've done the following:

  • Azure Portal を使用してグローバル分散を構成するConfigure global distribution using the Azure portal
  • Azure Cosmos DB Table API を使用してグローバル分散を構成するConfigure global distribution using the Azure Cosmos DB Table APIs