LoginSignup
1
1

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-11-09

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なのにセキュリティ設定に関してまだ書いていませんでした。
次回は、セキュリティ対策と設定について書く予定です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1