OpenShift OnlineのDBの活用方法

OpenShift のDIYカートリッジとポートフォワーディングを活用して、OpenShift Online上のデータベースがあたかもローカルにインストールされているかのように利用することができます。

作業の流れ

  1. OpenShift Onlineへログイン
  2. DIYカートリッジを利用したアプリケーションを作成
  3. 2で作成したアプリケーションにデータベーすのカートリッジを追加
  4. ポートフォワーディングを開始
  5. クライアントアプリケーションで接続

実践

PostgreSQL9.2カートリッジを利用する mydb というアプリケーションを作成していきます。

 DIYカートリッジを利用したアプリケーションの作成

$ rhc create-app mydb diy-0.1

データベースカートリッジの追加

ここでは、PostreSQLカートリッジを mydb アプリケーションへ追加します。

$ rhc cartridge add postgresql-9.2 -a mydb

Adding postgresql-9.2 to application 'mydb' ... done

postgresql-9.2 (PostgreSQL 9.2)
-------------------------------
  Gears:          Located with diy-0.1
  Connection URL: postgresql://$OPENSHIFT_POSTGRESQL_DB_HOST:$OPENSHIFT_POSTGRESQL_DB_PORT
  Database Name:  mydb
  Password:       mqDgzBCpUbLX
  Username:       admin4cphbbk

カートリッジが追加されると、データベースのユーザとパスワード、DB名が表示されます。

ポートフォワーディングの有効化

$ rhc port-forward mydb
Checking available ports ... done
Forwarding ports ...

To connect to a service running on OpenShift, use the Local address

Service    Local               OpenShift
---------- -------------- ---- ----------------
postgresql 127.0.0.1:5432  =>  127.2.112.2:5432
ruby       127.0.0.1:8080  =>  127.2.112.1:8080

Press CTRL-C to terminate port forwarding

接続確認

DB接続のクライアントアプリケーションで接続を確認します。ここではSQuirrelSQLを使って接続してみます。

URL jdbc:postgresql://localhost:5432/mydb
User Name  admin4cphbbk
Password  mqDgzBCpUbLX

ユーザ名とパスワードは、PostgreSQLカートリッジを追加した時に設定されたユーザとパスワードです。