Windows AzureでのMySQL = ClearDBを攻略しよう!
2012年9月26日(水)
バックアップ
[Backup & Jobs]タブから、バックアップ履歴の表示とそこからのリストアができます。バックアップは自動で1日1度取得されます。手動で取得することも可能です。
接続情報
アプリケーションからデータベースに接続するための情報(ホスト名、ユーザー名、パスワード)は[Endpoint information]タブから参照することができます。
Cluster Nodesを見ることで、2つのノードが異なるリージョンで稼働していることも確認できます。
管理API
バックアップの実施やデータサイズ、エンドポイントの状況などを取得するためのWeb APIが用意されています。
APIは以下のように呼び出します。
http://www.cleardb.com/service/1.0/api?action=API_METHOD&schema_name=MY_DATABASE_NAME&api_key=MY_API_KEY
APIキーの取得方法
ページ右上にあるメニューから[My Account]から表示されるページの[API Information]にあるAPI Keyがそれです。
用意されているAPI
- backupDatabase
- パラメータ:api_key, schema_name
手動で指定したデータベースのバックアップジョブを開始します。 - restoreDatabase
- パラメータ:api_key, backup_id
データベースのリストアを実施します。リストア可能なバックアップのリストはgetBackupsメソッドで取得します。 - getBackups
- パラメータ:api_key, schema_name
バックアップの履歴を取得します。 - getJobs
- パラメータ:api_key, schema_name
現在実行中のバックアップまたはリストアの一覧を取得します。 - getDatabaseSize
- パラメータ:api_key, schema_name
現在のデータベースのサイズを取得します。 - getDatasetSize
- パラメータ:api_key, schema_name
データベースのサイズと全てのバックアップのサイズの合計を取得します。 - getEndpoints
- パラメータ:api_key, schema_name
現在利用できるエンドポイントの一覧を取得します。 - getEndpointStatus
- パラメータ:api_key, schema_name, hostname 指定したエンドポイントデータベースの状態を取得します。指定可能なエンドポイントのリストはgetEndpointsメソッドで取得します。
getEndpointsの例)
http://www.cleardb.com/service/1.0/api?action=getEndpoints&schema_name=wptest0ATaimzDtC&api_key=MWR***********Q==
↓
{"result":"success","response":{"CDBR_Hostname":"us-cdbr-azure-east-a.cloudapp.net","Cluster_Nodes":["us-mm-azure-east-01.cleardb.com","us-mm-azure-west-01.cleardb.com"]}}
getEndpointStatusの例)
http://www.cleardb.com/service/1.0/api?action=getEndpointStatus&schema_name=wptest0ATaimzDtC&api_key=MWR**********Q==&hostname=us-mm-azure-east-01.cleardb.com
↓
{"result":"success","response":"Online"}
http://www.cleardb.com/help/api(要サインイン)
注意点
- デフォルトではTIME_ZONEがGMTになっています。例えば日本でのみ利用する場合は、接続直後にset time_zone='+9:00';するなどして、タイムゾーンを適切に設定してください。
- LC_TIME_NAMESは『en_US』になっています。必要に応じて『ja_JP』などに変更してください。
- AUTO_INCREMENT_INCREMENTが10になっているため、AUTO_INCREMENTを指定して作成した列の値が10ずつ増加します。これは、ClearDBがMaster-Masterレプリケーションで構成されているため、ノード間で値が重複しないようにするためであり、10ずつと大きな値になっているのは将来のために余裕を持っているからです。
そのため、この値は変更しないようにしましょう。 - マルチテナント型のデータベースサービスなのでSlow Queryログなどのログファイルを取得することはできません。
- ユーザーの作成をすることはできないので、接続元のIPアドレスを制限することはできません。
- ClearDBのサイトから作ったデータベースは、Windows Azureの管理ポータルでインスタンスとのLINKED RESOURCEとして結び付けることはできません。
まとめ
今回はWindows AzureでMySQLを提供しているClearDBについて説明しました。
Windows AzureでMySQLを利用するにはClearDB以外にも、ご自身でWindows Azureの仮想マシンにMySQLを構築する方法もあります。
同時接続数やデータベースサイズ、Slow Queryログの取得など、ClearDBでは要件を満たさない場合は、仮想マシンにMySQLを構築しましょう。
ClearDB (Azure管理ポータルで作成) |
ClearDB (ClearDBサイトで作成) |
仮想マシンのMySQL | |
---|---|---|---|
構築の容易さ | ◎ (Webサイトと同時に作成) |
○ (数クリックで構築) |
× (可用性を高くするのが大変) |
バックアップ・リストアの容易さ | × (ClearDBのサイトにログインできないので実施できない) |
◎ (自動でバックアップ取得、容易にリストア) |
△ (自分でバックアップ設計が必要) |
セキュリティ | × (接続元IPアドレスを制限できない。接続を暗号化するための証明書を取得することができない) |
△ (接続を暗号化するための証明書が用意されている。接続元IPアドレスを制限できない) |
○ (なんでもできるが自身で管理) |
同時接続数 | × (少ない) |
× (少ない) |
◎ (好きに設定できる) |
データベースサイズ | × (少ない) |
× (少ない) |
◎ (好きに設定できる) |
次回は仮想ネットワークについて、弊社(pnop)の廣瀬が紹介予定です。ご期待ください。
【関連リンク】
(リンク先最終アクセス:2012.09)
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。
全文検索エンジンによるおすすめ記事
- MySQL Clusterのバックアップ/リストアの具体例
- TFXを使った機械学習パイプラインの構築(デプロイ編)
- WordPressコース 1st Stageを攻略しよう(Webサイト編)
- DBドキュメント出力とMEBのためのGUI、次期版6.1の新機能を紹介
- PHPとMySQLが利用できるWebサイトを、Windows Azureを使って手軽に作ってみよう
- オープンで柔軟性があるクラウドサービスに進化したWindows Azure
- MySQL 5.6での機能強化点(その1)- パフォーマンスと使い勝手を大きく向上
- MySQL Clusterの主要な設定、設定変更時の注意点
- MySQL Clusterのバックアップ/リストアの仕組み
- Windows Azure仮想マシンでLinuxサーバーを構築しよう