Azure Cosmos DB の複数リージョンのコストを最適化する

適用対象: SQL API Cassandra API Gremlin API Table API MongoDB 用 Azure Cosmos DB API

お客様の Azure Cosmos アカウントのリージョンは、いつでも追加したり削除したりすることができます。 Azure Cosmos の各種のデータベースとコンテナーに対してお客様が構成したスループットは、お客様のアカウントに関連付けられている各リージョンで予約されます。 プロビジョニングされる 1 時間あたりのスループット (つまり、お客様の Azure Cosmos アカウントのすべてのデータベースとコンテナーに対して構成された RU/秒の合計) が T で、お客様のデータベース アカウントに関連付けられている Azure リージョンの数が N である場合、お客様の Cosmos アカウントにプロビジョニングされる 1 時間あたりの合計スループットは、T x N RU/s に相当します。

プロビジョニング スループットのコストは、単一の書き込みリージョンの場合は 100 RU/秒で $0.008/時に、また複数の書き込みリージョンの場合は 100 RU/秒で $0.016/時になります。 詳細については、Azure Cosmos DB の価格に関するページを参照してください。

複数の書き込みリージョンにおけるコスト

マルチリージョン書き込みシステムでは、書き込み操作に利用できる正味 RU が N 倍になります (N は書き込みリージョンの数)。 単一リージョンの書き込みとは異なり、すべてのリージョンが書き込み可能であり、競合の解決をサポートします。 コスト計画の観点から、M RU/秒に相当する書き込みを全世界で実行するためには、コンテナー レベルまたはデータベース レベルで M RUs をプロビジョニングする必要があります。 その後、望ましい数のリージョンを追加し、書き込みに使用することで、M RU に相当する書き込みを全世界で実行できます。

1 つのリージョンの書き込み用に構成されたコンテナーが米国西部にあり、今月は 10,000 RU/s のスループットでプロビジョニングされ、0.5 TB のデータが格納されているとします。 ストレージとスループットが同じである米国東部リージョンを追加し、アプリから両方のリージョンのコンテナーに書き込む必要があると仮定します。 新しい月々の請求総額 (1 か月 730 時間と想定) は次のとおりです。

項目 使用量 (月単位) 料金 毎月のコスト
米国西部のコンテナーのスループット料金 (1 つの書き込みリージョン) 10,000 RU/s * 730 時間 100 RU/秒で 1 時間あたり $0.008 $584
2 つのリージョン (米国西部と米国東部) のコンテナーのスループット料金 (複数の書き込みリージョン) 2 * 10,000 RU/s * 730 時間 100 RU/秒で 1 時間あたり $0.016 $2,336
米国西部のコンテナーのストレージ料金 0.5 TB (つまり 512 GB) $0.25/GB $128
2 つのリージョン (米国西部と米国東部) のコンテナーのストレージ料金 2 * 0.5 TB (つまり 1,024 GB) $0.25/GB $256

リージョン単位でスループット利用率を向上させる

利用率が低すぎる読み取りリージョンが 1 つ以上あるなど、利用に無駄がある場合は、読み取りリージョンの変更フィードを使用して、読み取りリージョンの RU を最大限に活用するようにします。または、利用率が高すぎる場合は別のセカンダリに移動します。 先に書き込みリージョンのプロビジョニング スループット (RU) を最適化する必要があります。 非常に大規模なクエリを除いて、読み取りよりも書き込みの方がコストがかかるため、使用量を均等に維持することは困難です。 全体的に、リージョンで消費されるスループットを監視してオンデマンドでリージョンを追加または削除し、読み取りおよび書き込みスループットをスケーリングすれば、同じリージョンにデプロイされるすべてのアプリの待機時間への影響を把握できます。

次のステップ

次は、先に進み、以下の各記事で Azure Cosmos DB でのコストの最適化の詳細について学習することができます。