「ちょっとした MySQL サーバーが使いたい」時に、ClearDB を使うようになりました:
ClearDB - The Ultra Reliable, Geo Distributed Cloud Database For Your MySQL Applications
ClearDB はクラウド上で提供されている MySQL データベースです。いわゆる DBaaS で、バックアップやメンテナンスといった面倒な管理作業は提供側がやってくれます。いわば「契約して使うだけ」の MySQL ホスティングサービスです。用途に応じてサービスレベルや価格が分けられていますが、"ignite" と呼ばれるデータ容量5MBの最小構成であれば無料で使えます。3306番ポートも開放されているので、mysql コマンドから接続して使うこともできちゃいます。
「5MB じゃ何も使えない!?」と思うかもしれませんが、MySQL の動作確認には充分といえます。足りない場合は有料サービスに移行すればいいだけです。
で、この ClearDB を普通に使おうとすると無料サービスでもクレジットカードの登録が必要なんですが、IBM Bluemix 経由で使うと何故か不要です(苦笑)。
※IBM Bluemix は契約後最大30日は無料で使えますが、その期間中は IBM からも ClearDB からもクレジットカード情報を求められることがない、という意味です。
というわけで、IBM Bluemix を使って ClearDB の ignite プラン(無料サービス)を1つ作成するまでの手順を紹介します。 ・・・と言っても、IBM Bluemix 的には他のサービスとほぼ変わりなく使うことができます。
まず普通に IBM Bluemix にログインします。そして ClearDB サービスを紐付けるためのランタイムを1つ作成します(既存の作成済みランタイムがあればそれを使ってもかまいせん)。下図では "dotnsf-php-20150527" という名前のランタイムを使っていて、この場合を想定して以下を説明します:
そのランタイムのダッシュボード画面から「サービスまたは API の追加」をクリックして、「データ管理」カテゴリの "ClearDB MySQL Database" を選択します:
サービスの概要が表示されます。アプリとしては選択したランタイム、プランは "Spark DB"(現時点ではこれしか選択できないと思います)が選択されていることを確認します。この場合は「5MB 無料」です。最後に「作成」ボタンをクリックして、このサービスをランタイムに追加します:
こんな画面が出たら「再ステージ」をクリックして、ランタイムを再ステージングしてください。この辺りは IBM Bluemix の他のサービス追加作業と何も変わりません:
再ステージング完了後の画面です。選択したランタイムに ClearDB サービスが追加できました:
では ClearDB の「資格情報」と書かれた所をクリックして、この ClearDB に接続するための情報を調べます:
このような情報が表示されます。この JSON 文字列はランタイムの環境変数 VCAP_SERVICES として動的に取得することもできます:
この JSON 文字列の "credentials" 内の情報を使うことで ClearDB のデータベースにアクセスすることができます。ホスト名は "hostname" の値(us-cdbr-iron-east-02.cleardb.net)、データベース名は "name" の値(この例では ad_DDDDDDDDDDDDDDD)、ポート番号は "port" の値(3306)、ユーザー名とパスワードはそれぞれ "username" と "password" の値(UUUUUUUUUUUUUU と PPPPPPPP)になります。
このデータベースは(クラウド上の)普通の MySQL として使えるため、IBM Bluemix のランタイム以外からも使えます。実際に mysql クライアントコマンドで接続してみました。当たり前ですがちゃんと使えそうです:
上でも書きましたが、このプランではデータ容量が 5MB なので大したことはできません。でも最低限の動作確認や MySQL への接続確認として常に MySQL サーバーがクラウド上にあって使える、という環境は魅力的です。
IBM Bluemix のアカウントがあると、こんな環境も無料で入手できる、ということになります。というわけで、IBM Bluemix のアカウントを作りましょう(笑)。
ClearDB - The Ultra Reliable, Geo Distributed Cloud Database For Your MySQL Applications
ClearDB はクラウド上で提供されている MySQL データベースです。いわゆる DBaaS で、バックアップやメンテナンスといった面倒な管理作業は提供側がやってくれます。いわば「契約して使うだけ」の MySQL ホスティングサービスです。用途に応じてサービスレベルや価格が分けられていますが、"ignite" と呼ばれるデータ容量5MBの最小構成であれば無料で使えます。3306番ポートも開放されているので、mysql コマンドから接続して使うこともできちゃいます。
「5MB じゃ何も使えない!?」と思うかもしれませんが、MySQL の動作確認には充分といえます。足りない場合は有料サービスに移行すればいいだけです。
で、この ClearDB を普通に使おうとすると無料サービスでもクレジットカードの登録が必要なんですが、IBM Bluemix 経由で使うと何故か不要です(苦笑)。
※IBM Bluemix は契約後最大30日は無料で使えますが、その期間中は IBM からも ClearDB からもクレジットカード情報を求められることがない、という意味です。
というわけで、IBM Bluemix を使って ClearDB の ignite プラン(無料サービス)を1つ作成するまでの手順を紹介します。 ・・・と言っても、IBM Bluemix 的には他のサービスとほぼ変わりなく使うことができます。
まず普通に IBM Bluemix にログインします。そして ClearDB サービスを紐付けるためのランタイムを1つ作成します(既存の作成済みランタイムがあればそれを使ってもかまいせん)。下図では "dotnsf-php-20150527" という名前のランタイムを使っていて、この場合を想定して以下を説明します:
そのランタイムのダッシュボード画面から「サービスまたは API の追加」をクリックして、「データ管理」カテゴリの "ClearDB MySQL Database" を選択します:
サービスの概要が表示されます。アプリとしては選択したランタイム、プランは "Spark DB"(現時点ではこれしか選択できないと思います)が選択されていることを確認します。この場合は「5MB 無料」です。最後に「作成」ボタンをクリックして、このサービスをランタイムに追加します:
こんな画面が出たら「再ステージ」をクリックして、ランタイムを再ステージングしてください。この辺りは IBM Bluemix の他のサービス追加作業と何も変わりません:
再ステージング完了後の画面です。選択したランタイムに ClearDB サービスが追加できました:
では ClearDB の「資格情報」と書かれた所をクリックして、この ClearDB に接続するための情報を調べます:
このような情報が表示されます。この JSON 文字列はランタイムの環境変数 VCAP_SERVICES として動的に取得することもできます:
{ "cleardb": [ { "name": "ClearDB MySQL Database-in", "label": "cleardb", "plan": "spark", "credentials": { "jdbcUrl": "jdbc:mysql://UUUUUUUUUUUUUU:PPPPPPPP@us-cdbr-iron-east-02.cleardb.net:3306/ad_DDDDDDDDDDDDDDD", "uri": "mysql://UUUUUUUUUUUUUU:PPPPPPPP@us-cdbr-iron-east-02.cleardb.net:3306/ad_DDDDDDDDDDDDDDD?reconnect=true", "name": "ad_DDDDDDDDDDDDDDD", "hostname": "us-cdbr-iron-east-02.cleardb.net", "port": "3306", "username": "UUUUUUUUUUUUUU", "password": "PPPPPPPP" } } ] }
この JSON 文字列の "credentials" 内の情報を使うことで ClearDB のデータベースにアクセスすることができます。ホスト名は "hostname" の値(us-cdbr-iron-east-02.cleardb.net)、データベース名は "name" の値(この例では ad_DDDDDDDDDDDDDDD)、ポート番号は "port" の値(3306)、ユーザー名とパスワードはそれぞれ "username" と "password" の値(UUUUUUUUUUUUUU と PPPPPPPP)になります。
このデータベースは(クラウド上の)普通の MySQL として使えるため、IBM Bluemix のランタイム以外からも使えます。実際に mysql クライアントコマンドで接続してみました。当たり前ですがちゃんと使えそうです:
上でも書きましたが、このプランではデータ容量が 5MB なので大したことはできません。でも最低限の動作確認や MySQL への接続確認として常に MySQL サーバーがクラウド上にあって使える、という環境は魅力的です。
IBM Bluemix のアカウントがあると、こんな環境も無料で入手できる、ということになります。というわけで、IBM Bluemix のアカウントを作りましょう(笑)。