Blog ブログ

Microsoft Azure の Elastic Database Pool を使ってみよう その1

株式会社クラウドクリエイティブスタジオの新里と申します。よろしくお願い致します。
今回は Microsoft AzureのElastic Database Pool についてお話ししてゆきたいと思います。

Elastic Database Poolとは?
Elastic Database Poolとは、Microsoft Azure が提供するサービスの事で、
複数の DB でリソースを共有し、
余剰プールから可能なだけ自動スケーリングを行ってくれます。
負荷に耐えるために常に高スペックを維持せずにすむので、その分コストが浮きます。
最も適している環境であれば、
同プール内に存在する DB がそれぞれ別時間で負荷がピークに達する場合となります。
負荷のピーク時間が被らないので、余っているリソースを最大限利用できます。

ここでいうリソースとは eDTU の事を指します。

eDTU(elastic Database Transaction Unit)
CPU、メモリ、および読み書きレートを組み合わせた測定に基づいて、パフォーマンスレベルの相対能力を表したものを Database Transaction Unit、DTUといいます。
そして、Elastic Database Pool 内に存在する DB が共有する事のできる DTU を1つにまとめた値を eDTU といいます。

Elastic Database Pool の Basic プランで例えてみましょう。
Basicプランであれば、
Elastic Database Pool 全体の eDTU は 100 ~ 1200の範囲で設定できます。
個々の DB の DTU は 0 ~ 5 となります。

例えば、プール全体の eDTU を100に設定した場合、
プール内に存在する個々の DB が0 ~ 5 DTU の範囲で自動でスケーリングします。
単純に考えれば、Pool 内の DB 20台が5 DTU までスケールアップされれば、100 eDTU をフルに使用する事になります。
これは単純に考えた場合で、一般的に eDTU の上限まで同時にピークとなることができるのは、
プールの 2/3 (67%) 以下の DB までで、状況によってはその限りではありません。

Elastic Database PoolへのDBの追加
Elastic Database Pool は Microsoft Azure のポータルサイトから作成する事ができます。
Microsoft アカウントを使用して、1ヶ月無料試験版のサブスクリプションを取得すれば無料で試すことも可能です。

Basicプランを追加しました。
設定はプールの eDTU が100, ストレージが10GB。
個々のデータベースの eDTU の範囲設定が0 ~ 5に設定した最低の料金で、現時点で毎時20円程になります。
1ヶ月の無料試用版の価格は越えませんが、テストなどに利用するには少々お高めとなっているので注意しましょう。

Elastic Database Pool が作成出来たので、Pool に追加する DB を作成しましょう。
Pool に追加された DB のパフォーマンスは Elastic Database Pool に依存するので、どのプランを選択しても問題ありませんが、無難に Basic プランを選択しておきましょう。

  Elastic Database Pool へ追加するには、プールの構成から「プールへの追加」を選択し、先ほど作成した DB を選択しましょう。

プールの構成ページから追加した DB が確認できます。
ここに DB を追加してゆき、個々に設定された eDTU の範囲で自動スケーリングが行われ、Elastic Database Pool の eDTU を共有します。
こちらの設定だと、個々の DB の eDTU は0 ~ 5の範囲でスケーリングを行い、100 eDTU のリソースを共有します。また、DB は200台まで追加できます。追加できる台数は、個々の DB の最小 eDTU 値設定等に依存するので、可能な値は変動します。

これで、Elastic Database Pool 構成が構築できる様になりました。
ではこれら Pool 内の DB へはどのようにアクセスする事ができるのでしょうか。
次回は Visual Studio から、Pool 内の DB へアクセスし SQL を発行してみたいと思います。

採用情報

クラウドクリエイティブスタジオでは絶賛エンジニア募集中です。
ご興味のある方は是非!