繰り返しますが、業務・基幹系ではオンプレミスでシステムを運用している場合が多いです。そのため、Cloud SQLを使用する場合も、現在運用しているシステムからの移行になるケースが多いと考えられます。これは、筆者の思い込みかもしれませんが、Cloud SQLは、オンプレミスからの移行についても良く考えられているように見えます。
次のような手順で移行できます。
業務・基幹系はマスタテーブルの種類が多いので、移行の際は既存のDBを使用してアプリケーションの作成や修正、動作確認、デバッグができれば、工数的にも省力化できます。Cloud SQLは、このような形で移行を進められます。
図3は、その場合の概念図です。ローカルEclipse環境のCloud SQLプログラムから、オンプレミスのMySQLに接続してプログラムの開発と動作確認ができます。
ローカル(オンプレミス)のMySQLにCloud SQLプログラムから接続するには、次の手順でEclipseに設定します。
Eclipseの[Project Explorer]から対象となるプロジェクトを右クリックしてリストを表示し、最下部にある[Properties]を選択して[Properties for Buisines]画面を表示します。画面で[Google]→[App Engine]と選択すると、図4の表示に変わるので、この画面下部の[Google Cloud SQL]でインスタンスを設定します。
[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で[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を使えるようになります。
オンプレミスのローカルMySQL環境がない場合は、図6のようにクラウド環境のMySQLを使用してEclipseで開発できます。
この場合は、Eclipseからクラウド上のMySQLに接続することになります。オンプレミスの環境がある場合でも、【1】の手順でプログラムの開発・修正・テストなどが終わった後で、DBだけをクラウド環境に移行して(インポート/エクスポート)、ローカル環境から動作を確認するという手順も考えられます。
図7はGoogle APIs Consoleです。この画面からクラウド環境でのDBのインポート/エクスポートや、SQL文の実行によるDB・テーブルの作成、ユーザー登録などができます。
ローカル(Eclipse)からクラウド上のMySQLに接続するには、図4の[Properties for Buisines]画面からCloud SQLのインスタンス設定を行います。ラジオボタン[Use Google Cloud SQL instance]を選択し、右の[Configure...]リンクをクリックすると、図8の画面が現れます。
図8の入力内容は「Google APIs Console」で設定した内容を指定します。
以上の設定後、EclipseでCloud SQLのプログラムを起動すると、ローカルのEclipse環境で動くCloud SQLプログラムからGAEクラウド上のMySQLに接続できるようになります。
【1】【2】の手順および操作を使用すれば、既存システムからの移行、または新規システム開発でもスムーズにできるはずです。
新規システムの場合は、開発したアプリケーションをGAEクラウドにデプロイすれば、それで開発ステップは終了です。
既存システムからの移行の場合はオンプレミスのMySQLからエクスポートしたデータをGoogle APIs Consoleを使用してクラウドにインポートし、開発アプリケーションをデプロイします。
業務・基幹系では、前述のようにオンプレミスのMySQLを使用した開発・移行が多くなると思いますが、実際に運用中の業務システムを利用して、すぐCloud SQLを試してみるというわけにはいかないかもしれません。
そこで次に、MySQL環境を簡単にセットアップできるXAMPPを使用したCloud SQLのプログラム作成を紹介します。
XAMPPはApache、MySQLやPHPなどのアプリケーション開発用ツールを1つのパッケージにまとめて簡単にインストールできるようにしたものです。XAMPPは以下の文字から構成されています。
もともとは対応OSはLinuxのみであり、その頭文字Lを付け「LAMPP」と称していましたが、後に複数のOSに対応したため、「L」を「X」に変え「XAMPP」となりました。
XAMPPを使用するメリットとしては以下があります。
以上、XAMPPの利点を述べてきましたが、これらの利点を利用したCloud SQLの開発・デプロイ環境は図9のようになります。
図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は、ほかのRDBからの移行ツール「MySQL Migration Suite」を提供しています。
このツールは現在、OracleのDBとMicrosoft Accessに対応していますが、将来的にはMicrosoft SQL Server、Sybase、DB2、Informixの各DBにも対応を予定しているそうです。
Copyright © ITmedia, Inc. All Rights Reserved.