連載
» 2012年04月12日 00時00分 公開

XAMPP環境からGoogle Cloud SQLに移行するにはGoogle Cloud SQLは基幹系で使えるのか(前編)(2/4 ページ)

[清野克行,有限会社サイバースペース]

Cloud SQLを使う際の開発・デプロイの手順

 繰り返しますが、業務・基幹系ではオンプレミスでシステムを運用している場合が多いです。そのため、Cloud SQLを使用する場合も、現在運用しているシステムからの移行になるケースが多いと考えられます。これは、筆者の思い込みかもしれませんが、Cloud SQLは、オンプレミスからの移行についても良く考えられているように見えます。

 次のような手順で移行できます。

【1】オンプレミスシステムを使用したCloud SQLアプリケーションの作成・修正

 業務・基幹系はマスタテーブルの種類が多いので、移行の際は既存のDBを使用してアプリケーションの作成や修正、動作確認、デバッグができれば、工数的にも省力化できます。Cloud SQLは、このような形で移行を進められます。

 図3は、その場合の概念図です。ローカルEclipse環境のCloud SQLプログラムから、オンプレミスのMySQLに接続してプログラムの開発と動作確認ができます。

図3 オンプレミスのDBを使用したCloud SQLアプリケーションの作成・修正 図3 オンプレミスのDBを使用したCloud SQLアプリケーションの作成・修正

 ローカル(オンプレミス)のMySQLにCloud SQLプログラムから接続するには、次の手順でEclipseに設定します。

 Eclipseの[Project Explorer]から対象となるプロジェクトを右クリックしてリストを表示し、最下部にある[Properties]を選択して[Properties for Buisines]画面を表示します。画面で[Google]→[App Engine]と選択すると、図4の表示に変わるので、この画面下部の[Google Cloud SQL]でインスタンスを設定します。

図4 PropertiesのApp Engine画面表示 図4 PropertiesのApp Engine画面表示

 [Google Cloud SQL]で[Enable Google Cloud SQL]をチェックします。これはCloud SQLを使用している場合は、チェックしているはずです。ここで、右の[My Instances...]をクリックすると、クラウド上のCloud SQLを管理する「Google APIs Console]画面が表れます。

 次に、その下の[Use MySQL instance]を選択すると図5のMySQLインスタンスの設定画面[Configure MySQL instance]が現れるので、この画面からローカルMySQLの設定を行います。図5の画面で指定するDB名などは、ローカルMySQLでの設定内容に対応しています。

図5 MySQLインスタンスの設定画面 図5 MySQLインスタンスの設定画面

 図5で[Port number]はMySQLのデフォルトポート番号で、[Database username][Database password]には、MySQLで登録したユーザー名とパスワードを指定しています。

 [Path to MySQL JDBC JAR]では、[MySQL JDBC JAR]のリンクをクリックすると、「Connector/J」のダウンロードサイトが現れるので、この画面下部にあるリンクからダウンロードし、解凍後中にあるJARファイル(記事での使用は「mysql-connector-java-5.1.18-bin.jar」)を[Browse]ボタンから指定します。

 以上の設定で、ローカル環境におけるCloud SQLプログラム開発デバッグなどで、既存のローカルのMySQLを使えるようになります。

【2】クラウド環境のMySQLを使用してEclipseプログラム開発

 オンプレミスのローカルMySQL環境がない場合は、図6のようにクラウド環境のMySQLを使用してEclipseで開発できます。

図6 クラウド環境のMySQLを使用して開発 図6 クラウド環境のMySQLを使用して開発

 この場合は、Eclipseからクラウド上のMySQLに接続することになります。オンプレミスの環境がある場合でも、【1】の手順でプログラムの開発・修正・テストなどが終わった後で、DBだけをクラウド環境に移行して(インポート/エクスポート)、ローカル環境から動作を確認するという手順も考えられます。

 図7はGoogle APIs Consoleです。この画面からクラウド環境でのDBのインポート/エクスポートや、SQL文の実行によるDB・テーブルの作成、ユーザー登録などができます。

図7 Google APIs Console 図7 Google APIs Console

 ローカル(Eclipse)からクラウド上のMySQLに接続するには、図4の[Properties for Buisines]画面からCloud SQLのインスタンス設定を行います。ラジオボタン[Use Google Cloud SQL instance]を選択し、右の[Configure...]リンクをクリックすると、図8の画面が現れます。

図8 Cloud SQLインスタンスの設定画面 図8 Cloud SQLインスタンスの設定画面

 図8の入力内容は「Google APIs Console」で設定した内容を指定します。

 以上の設定後、EclipseでCloud SQLのプログラムを起動すると、ローカルのEclipse環境で動くCloud SQLプログラムからGAEクラウド上のMySQLに接続できるようになります。

【3】Cloud SQLアプリケーションのデプロイと実行

 【1】【2】の手順および操作を使用すれば、既存システムからの移行、または新規システム開発でもスムーズにできるはずです。

 新規システムの場合は、開発したアプリケーションをGAEクラウドにデプロイすれば、それで開発ステップは終了です。

 既存システムからの移行の場合はオンプレミスのMySQLからエクスポートしたデータをGoogle APIs Consoleを使用してクラウドにインポートし、開発アプリケーションをデプロイします。

XAMPPを使用したCloud SQLプログラムの作成例

 業務・基幹系では、前述のようにオンプレミスのMySQLを使用した開発・移行が多くなると思いますが、実際に運用中の業務システムを利用して、すぐCloud SQLを試してみるというわけにはいかないかもしれません。

 そこで次に、MySQL環境を簡単にセットアップできるXAMPPを使用したCloud SQLのプログラム作成を紹介します。

いまさら聞けないXAMPPとは

 XAMPPはApache、MySQLやPHPなどのアプリケーション開発用ツールを1つのパッケージにまとめて簡単にインストールできるようにしたものです。XAMPPは以下の文字から構成されています。

  • X − Windows、Linux、Mac OS X、Solarisのクロスプラットフォーム
  • A − Apacheの「A」
  • M − MySQLの「M」
  • P − PHPの「P」
  • P − Perlの「P」

 もともとは対応OSはLinuxのみであり、その頭文字Lを付け「LAMPP」と称していましたが、後に複数のOSに対応したため、「L」を「X」に変え「XAMPP」となりました。

 XAMPPを使用するメリットとしては以下があります。

  1. 実行環境設定の容易さ
    XAMPPでは1回のセットアップ処理で、Apache(Webサーバ)、MySQL、(ここでは使用しないが、)PHPやPerlの実行環境作成を、すべて完了できる
  2. データ管理の容易さ
    XAMPPでは、画面操作でDBやテーブルなどを作れる。最も便利なのはテーブルへのCRUD(レコードの登録・参照・更新・削除)処理、それに全件参照処理をXAMPPの画面から簡単にできること。ほかにも、さまざまな設定機能や管理機能があり、MySQL管理用として便利

XAMPPを使用した、Cloud SQLの開発とデプロイ

 以上、XAMPPの利点を述べてきましたが、これらの利点を利用したCloud SQLの開発・デプロイ環境は図9のようになります。

図9 XAMPPを使用した、Cloud SQLの開発とデプロイ環境 図9 XAMPPを使用した、Cloud SQLの開発とデプロイ環境

 図9のローカル環境で、最初に行うのはマスタデータの準備です。筆者の場合はLinux環境で稼働していたアプリケーションからの移行でしたので、LinuxのMySQLからテーブル定義とデータ読み込のSQL文をエクスポートし、XAMPPのUI操作でローカルMySQLにインポートしています。

 次にEclipse環境でプログラム作成とテスト・デバッグを、XAMPPのMySQLにアクセスして行います。

 テスト&デバッグ終了後は、GAEクラウド環境へアップロード/デプロイします。これは、これまでのGAEと同じやり方で基本的に大丈夫ですが、Cloud SQLを使用する場合は、クラウドでプログラムを実行する前にDBとテーブルを作成しておく必要があります。

 この場合もXAMPPのエクスポート機能を使用して生成したファイルをGoogle APIs Consoleからインポートします。ファイルが小さい場合は、SQL Promptから読み込ませることもできます。

 次ページからは、Cloud SQLのサンプル作成に入っていきますが、まずローカル(Eclipse)環境でのデータ登録や実行テストを行うためにXAMPPをインストールします。

コラム MySQLへの移行ツール

MySQLは、ほかのRDBからの移行ツール「MySQL Migration Suite」を提供しています。

このツールは現在、OracleのDBとMicrosoft Accessに対応していますが、将来的にはMicrosoft SQL Server、Sybase、DB2、Informixの各DBにも対応を予定しているそうです。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。