Windows Azure で MySQL を使うための選択肢 – VM、Worker Role、ClearDB
Windows Azure には SQL データベースと呼ばれる SQL Server のクラウド版が存在するため、SQL Server ベースのアプリであれば比較的容易に移行できます。とはいえ、世の中の全アプリが SQL Server を使っているわけではなく、特にクラウド向きな Web のサービスでは LAMP、つまりデータベースに MySQL が採用されているケースが多いですよね。
Windows Azure では仮想マシン(IaaS)上で MySQL を使うという手が考えられます。単純に仮想マシンの Windows Server や Linux 環境に MySQL をインストールしても良いですし、VM DEPOTには LAMP スタックのイメージが標準で提供されているので、手っ取り早く環境を作るときには便利です。他にも Worker Role を使って構築することも出来ますが、主に仮想マシンが正式リリースする前に用いられていた代替手段です。
とはいえ、MySQL のダウンタイムを最小限するため High Available 構成を Windows Azure仮想マシンで組むことは(無理ではありませんが)なかなか骨が折れる作業です。これは Windows Azure の制限(”ホストOSのアップデートが不定期で発生”、”Floating IP 未サポート”、”共有ディスクは利用できない”など)に起因します。
そこで、ClearDB という 3rd Party の Windows Azure 対応 MySQL サービスを利用するという手が考えられます。
SLAはなんと99.95% or 100% と記載されていますね。
https://www.cleardb.com/legal/service_level_agreement.html
しかも、365日、24時間サポートが追加チャージなしで利用できます。
https://www.cleardb.com/developers/help/faq#general_14
共有プランと占有プランによる柔軟性あり。
共有プラン
プラン | DBサイズ | 同時接続数 | 性能 | 価格/月 |
Mercury | 20MB | 4 | Low | 0円 |
Venus | 1GB | 15 | Moderate | 784円 |
Saturn | 5GB | 30 | Moderate | 3924円 |
Jupiter | 10GB | 40 | High | 7849円 |
占有プラン
やりとりが英語になるのがちょいと面倒ですが、ちゃんと検証して問題なさそうであれば候補にいれるのもやぶさかでないかと。
ちなみに Windows AzureでClearDBを利用するには3つの方法があります。
1. Windows Azure Web サイトから
Webサイトでは SQL データベース or MySQLを選択できる。
MySQLを選択すると無料のマルチテナント型MySQLが利用できる。
アドオンから
Windows Azureの管理ポータルのアドオンでClearDB MySQL Databaseを選択することが出来る。
この方法では有料プランが選べるので、本番運用で活用して頂けますね。
ただし、現時点(2013/08/30)では地域にアジアが選択できないので、確認してください。ううっ、なんでだろう・・・・・
SuccessBricks, Inc サイトから申し込む
Clear DB は SuccessBricks, Inc が運営しており、直接サイトから申し込みもできます。
占有型のハイスペックな環境もここから利用できます。
https://www.cleardb.com/pricing/missioncritical.view
デフォルトで提供されている環境
※Enterprise DBを選択すれば構成のカスタムオーダーも可能です。例えばメモリをもう少し増やしたいな~ということであれば、対応してくれるでしょう。ただし、ClearDBはWindows Azure 上で動いているため、Azureが提供するスペック以上のハードは使えません。
サポートに連絡するといろいろ教えてくれるので、(英語ですが)使ってみてはいかがでしょう。かなり回答が早いです。
下記のようにリージョンでAsiaを選択できます。
その他ポイント
・Large 32コアとはマスター 2台、スレーブ 2台の4台×8コア=32コア
構成はClearDBに直接Askすれば変更可能(Enterprise DBであればマスターを増やすことも可能)
・HAについては、カスタムで作っている。(1年間ずっとオンラインでSLA 100%を提供)
https://www.cleardb.com/legal/service_level_agreement.html
・リージョンで非同期のGeo-distributeもサポート
・Windows Azure のほとんどのDCでデプロイ可能
こちらもご参考まで。
Windows AzureでのMySQL = ClearDBを攻略しよう!
https://thinkit.co.jp/story/2012/09/26/3717
Windows Azure 仮想マシンでMySQL HA構成を組むためのドキュメントも鋭意作成中です。