<SecureGatewayの勉強4>クラウドのBluemixアプリからオンプレミスのDBをセキュアにアクセス。(SecureGatewayクライアントとDBインスタンスの分離編)


1. はじめに

<SecureGatewayの勉強1/2/3>では、
・SecureGatewayクライアント
・DBサーバ(MySQL)
を1台のインスタンス上で動かしていました。

今回は、少し現実に近づけた構成で「SecureGatewayクライアント」と「DBサーバ(MySQL)」を別々のインスタンスで動かします。

尚、<SecureGatewayの勉強3>をベースにDBサーバを追加構成します。
https://qiita.com/Mitsu-Murakita/items/90018fa92d6c434e55c4

2.変更点

SecureGatewayサービスをキャンセルしていなければ、変更点は3つです。
(1)「SecureGatewayサービス」宛先のホスト
(2)「SecureGatewayクライアント」アクセス制御リストのアクセス許可アドレス
(3)「PHPプログラム」select文
 ※見比べ易く、テーブルを変更したため。DB名、カラム属性はそのままです。

3.構成

01.png
【オンプレミス側】
(1) SecureGatewayクライアント
Ubuntu 16.04
プライベートIP:10.132.52.225
※インターネットに接続できるように構成する。
(2) DBサーバ
Ubuntu 16.04
MySQL
プライベートIP:10.132.52.226
※インターネット接続しないように構成する。

4.変更

(1)「SecureGatewayサービス」宛先のホスト
02.png
「宛先タブ」クリック⇒「歯車マーク」クリック

03.png
「編集クリック」

04.png
DBサーバのプライベートIP:「10.132.52.226」を入力
「宛先の更新」をクリック

(2)「SecureGatewayクライアント」アクセス制御リストのアクセス許可アドレス
アクセス制御リスト「ACLFile.txt」の”acl allow”をDBサーバのプライベートIP:「10.132.52.226」へ変更。

ACLFile.txt変更
# nano /opt/ibm/securegateway/client/ACLFile.txt

05.png

(3)「PHPプログラム」select文
テーブルは、"fish"から"vegetable"に変更しました。
PHPプログラムのselect文を「$sql = "SELECT id, name, price FROM vegetable";」に変更。
後ほど、テーブル構成を説明します。

SecureGatewayクライアントを再起動。

以上で「4.変更」完了です。

5.DBサーバ関連設定

DBサーバのUbuntu設定、MySQLインストール設定、PDO拡張設定、CloudFoundry CLIツールのインストールは割愛させていただきます。
<SecureGatewayの勉強3>を参照してください。
https://qiita.com/Mitsu-Murakita/items/90018fa92d6c434e55c4

MySQLユーザは、
ユーザ:usermura
パスワード:Mura3root@
で作成し、権限設定しました。

▼ データベースdb1作成
usermuraユーザでMySQLへログイン後、以降の操作を行います。

データベースdb1作成
mysql> create database db1;
mysql> use db1

▼ テーブルvegetable作成

テーブルfish作成
mysql> create table vegetable(id int ,name varchar(20),price varchar(10));

▼ データ登録

データ登録
insert into vegetable values(1, '白菜',489);
insert into vegetable values(2, '人参',320);
insert into vegetable values(3, 'キャベツ',200);
insert into vegetable values(4, 'かぼちゃ',180);
insert into vegetable values(5, '玉ねぎ',320);
insert into vegetable values(6, 'きゅうり',200);
insert into vegetable values(7, 'しいたけ',450);
insert into vegetable values(8, 'ジャガイモ',380);
insert into vegetable values(9, 'なす',320);
insert into vegetable values(10, 'ほうれん草',280);
insert into vegetable values(11, 'ピーマン',180);
insert into vegetable values(12, 'れんこん',290);

▼ 登録データ確認

登録データ確認
select * from vegetable;

確認したら、「quit」で終了してください。

以上で「5. DBサーバ関連設定」完了です。

6. テストプログラムのデプロイと実行

▼ テストプログラムをBluemixへデプロイ
ログイン

cfログイン
c:\pgppgm\cf login

デプロイ

デプロイ
c:\pgppgm\cf push dbtest20171109-2

ここではプログラム名を「dbtest20171109-2」としました。

7. テストプログラムの実行

▼ プログラムの実行
Bluemixダッシュボードでデプロイしたプログラム”dbtest20171109-2”の行にある
経路”dbtest20171109-2.mybluemix.net”をダブルクリックして実行します。

▼ 接続確認
06.png
データが正常に表示され、正常にDBアクセスできている事が確認できました。

6. おわりに

SecureGatewayなのにセキュリティ設定に関してまだ書いていませんでした。
次回は、セキュリティ対策と設定について書く予定です。