Azure Cosmos DB サーバーレス

適用対象: NoSQL MongoDB Cassandra Gremlin Table

Azure Cosmos DB サーバーレス オファリングでは、従量課金ベースの方法で Azure Cosmos DB アカウントを使用できます。 サーバーレスでは、データベース操作によって消費された要求ユニット (RU) と、データによって使用されたストレージについてのみ課金されます。 サーバーレス コンテナーを使用すると、1 秒あたり数千の要求に対応できます。最低料金はなく、キャパシティ プランニングも必要ありません。

重要

サーバーレスに関するフィードバックはありますか。 ご意見をお待ちしています。 Azure Cosmos DB サーバーレス チーム (azurecosmosdbserverless@service.microsoft.com) までお気軽にご連絡ください。

Azure Cosmos DB のすべてのデータベース操作で、要求ユニット (RU) で表されるコストがかかります。 このコストの課金方法は、使っている Azure Cosmos DB アカウントの種類によって異なります。

  • プロビジョニングされたスループット モードでは、データベースとコンテナーに対してプロビジョニングされる一定量のスループット (1 秒あたりの要求ユニット数 (RU/秒) で表される) にコミットする必要があります。 データベース操作のコストは、1 秒ごとに使用可能な要求ユニットの数から差し引かれます。 請求期間が終了すると、プロビジョニングしたスループットの量に対して課金されます。
  • サーバーレス モードでは、Azure Cosmos DB アカウントでコンテナーを作成するときに、プロビジョニングされたスループットを構成する必要はありません。 請求期間が終了すると、データベース操作により消費された要求ユニットの数に対して課金されます。

ユース ケース

Azure Cosmos DB サーバーレスは、アイドル時間が長く、断続的で予測不可能なトラフィックが予想されるシナリオに最も適合します。 このような状況では、容量のプロビジョニングは不要であり、コストがかかる場合があります。このため、次のユースケースでは Azure Cosmos DB サーバーレスを検討する必要があります。

  • Azure Cosmos DB の作業の開始
  • 次のようなアプリケーションを実行する
    • トラフィックが集中的、断続的に発生し、それを予測するのが困難。または
    • トラフィックの平均対ピークの比率が低い (<10%)
  • トラフィック パターンが不明な新しいアプリケーションを開発、テストし、そのプロトタイプを作成し、運用環境で実行する
  • Azure Functions のようなサーバーレス コンピューティング サービスとの統合

詳細については、プロビジョニングされたスループットとサーバーレスの選択に関する記事をご覧ください。

サーバーレス リソースの使用

サーバーレスは、Azure Cosmos DB アカウントの新しい種類です。つまり、新しいアカウントを作成するときに、プロビジョニングされたスループットサーバーレスのどちらかを選ぶ必要があります。 サーバーレスの使用を開始するには、新しいサーバーレス アカウントを作成する必要があります。 既存アカウントとサーバーレス モードとの間の移行は、現在サポートされていません。

サーバーレス アカウントで作成されたコンテナーはすべて、サーバーレス コンテナーです。 サーバーレス コンテナーでは、プロビジョニングされたスループット モードで作成されたコンテナーと同じ機能が公開されているため、まったく同じ方法でデータの読み取り、書き込み、クエリを実行できます。 ただし、サーバーレス アカウントとコンテナーには固有の特性もあります。

  • サーバーレス アカウントは、1 つの Azure リージョンでのみ実行できます。 サーバーレス アカウントを作成した後で、そのアカウントにさらに Azure リージョンを追加することはできません。
  • サーバーレス コンテナーでは、スループットのプロビジョニングは必要ないため、次の記述が該当します。
    • サーバーレス コンテナーを作成するときにスループットを渡すことはできず、これを行うとエラーが返されます。
    • サーバーレス コンテナーでスループットを読み取りまたは更新することはできず、これを行うとエラーが返されます。
    • サーバーレス アカウントに共有スループット データベースを作成することはできず、これを行うとエラーが返されます。
  • サーバーレス コンテナーには、最大 50 GB のデータとインデックスを格納できます。

サーバーレス 1 TB コンテナー プレビュー

Azure Cosmos DB サーバーレスで、1 TB のコンテナー サイズが提供されるようになりました。 この機能を使用すると、サーバーレス コンテナーに最大 1 TB のデータを格納できます。

詳細については、「Azure Cosmos DB サーバーレス 1 TB コンテナー」を参照してください。

消費量の監視

以前にプロビジョニングされたスループット モードで Azure Cosmos DB を使用したことがあれば、トラフィックがプロビジョニングされた容量に合わない場合、サーバーレスの方がコスト効率が高いことがわかるでしょう。 トレードオフは、データベースが処理した要求の数に基づいて課金されるため、コストの予測可能性が低くなることです。 予測可能性がないため、現在の消費量から目を離さないことが重要です。

アカウントの [メトリック] ペインを参照すると、[概要] タブに [Request Units consumed](消費済み要求ユニット) という名前のグラフが表示されます。このグラフには、アカウントで消費された要求ユニットの数が示されます。

消費された要求ユニットを示すグラフ。

こちらに説明されているように、Azure Monitor を使用して同じグラフを見つけることができます。 Azure Monitor では、アラートを構成でき、要求ユニットの消費量が特定のしきい値を越えたときに通知を受け取るために使用できます。

パフォーマンス

サーバーレス リソースでは、プロビジョニングされたスループット リソースが提供するものとは異なる、特有のパフォーマンス特性がもたらされます。 サーバーレス コンテナーでは、予測可能なスループットや待機時間の保証は提供されません。 コンテナーでこれらの保証が必要な場合は、プロビジョニングされたスループットを使用します。

詳細については、プロビジョニングされたスループットに関する記事をご覧ください。

次のステップ

サーバーレスの使用を開始するには、次の記事をご覧ください。