はじめに
Oracle Analytics Cloud(OAC)に追加されたプライベート・アクセス・チャネルの機能を利用して、Oracle Analytics Cloudからプライベート・エンドポイントのみを持つMySQL DBシステムに接続してみました。
1.VCNの作成
VCN:
名前:VCN_MDS
CIDR:10.0.0.0/16
Subnet:
名前:Subnet_MDS
CIDR:10.0.0.0/24
セキュリティ・リスト:Default Security List for VCN_MDS
VCN内からのMySQL DBシステムへのアクセス可能にするために、セキュリティ・リスト「Default Security List for VCN_MDS」に以下のイングレス・ルールを追加
ソースタイプ:CIDR
ソースCIDR:10.0.0.0/16
IPプロトコル:TCP
宛先ポート:3306
2.MySQL DBシステムの作成
「コンソールメニュー」→「MySQL DBシステム」
仮想クラウド・ネットワーク:VCN_MDS
サブネット:Subnet_MDS
ホスト名:mysqlds
IPアドレス:10.0.0.100
MySQLポート:3306
MySQL Xプロトコル・ポート:33060
MySQL DBシステムが作成できたら、以下のコマンドをMySQLクライアントから実行して、Analytics Cloudからアクセスするためのテストデータを準備します。
CREATE DATABASE testdb;
CREATE USER 'test' IDENTIFIED BY 'Demo#1Demo#1';
GRANT ALL ON testdb.* TO 'test';
USE testdb
CREATE TABLE dept (
deptno INT ,
dname VARCHAR(14),
loc VARCHAR(13) ,
PRIMARY KEY (deptno)
);
INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
INSERT INTO dept VALUES (30,'SALES','CHICAGO');
INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');
COMMIT;
CREATE TABLE emp(
empno INT,
ename VARCHAR(10),
job VARCHAR(9),
mgr INT,
hiredate DATE,
sal DECIMAL(7,2),
comm DECIMAL(7,2),
deptno INT,
PRIMARY KEY (empno),
FOREIGN KEY fk_deptno (deptno) REFERENCES dept (deptno)
);
INSERT INTO emp VALUES(7839, 'KING', 'PRESIDENT', null, '1981-11-17', 5000, null, 10);
INSERT INTO emp VALUES(7698, 'BLAKE', 'MANAGER', 7839, '1981-5-1', 2850, null, 30);
INSERT INTO emp VALUES(7782, 'CLARK', 'MANAGER', 7839, '1981-6-9', 2450, null, 10);
INSERT INTO emp VALUES(7566, 'JONES', 'MANAGER', 7839, '1981-4-2', 2975, null, 20);
INSERT INTO emp VALUES(7788, 'SCOTT', 'ANALYST', 7566, '1987-7-13', 3000, null, 20);
INSERT INTO emp VALUES(7902, 'FORD', 'ANALYST', 7566, '1981-12-3', 3000, null, 20);
INSERT INTO emp VALUES(7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, null, 20);
INSERT INTO emp VALUES(7499, 'ALLEN', 'SALESMAN', 7698, '1981-2-20', 1600, 300, 30);
INSERT INTO emp VALUES(7521, 'WARD', 'SALESMAN', 7698, '1981-2-22', 1250, 500, 30);
INSERT INTO emp VALUES(7654, 'MARTIN', 'SALESMAN', 7698, '1981-9-28', 1250, 1400, 30);
INSERT INTO emp VALUES(7844, 'TURNER', 'SALESMAN', 7698, '1981-9-8', 1500, 0, 30);
INSERT INTO emp VALUES(7876, 'ADAMS', 'CLERK', 7788, '1987-7-13', 1100, null, 20);
INSERT INTO emp VALUES(7900, 'JAMES', 'CLERK', 7698, '1981-12-3', 950, null, 30);
INSERT INTO emp VALUES(7934, 'MILLER', 'CLERK', 7782, '1982-1-23', 1300, null, 10);
COMMIT;
3.Oracle Analytics Cloudインスタンスの作成
「コンソールメニュー」→「アナリティクスとAI」→「アナリティクス・クラウド」
アナリティクス・インスタンスのパラメータを入力し、完了したら「作成」をクリック
名前:TestOAC
機能セット:Enterprise Analytics
容量:OCPU/2
ライセンス・タイプ:ライセンス込み
ネットワークアクセス:パブリック
しばらくまつと、Oracle Analytics Cloudのインスタンスが作成されます。
4.プライベート・アクセス・チャネルの作成
リソース欄の「プライベート・アクセス・チャネル」をクリックします。
「プライベート・アクセス・チャネルの構成」をクリックします。
プライベート・アクセス・チャネルの構成情報を入力し、「構成」をクリックします。
仮想クラウド・ネットワーク、サブネットには、MySQL DBシステムを配置した仮想クラウド・ネットワーク、およびサブネットを指定します。
名前:Private_Access_Channel_for_MDS
仮想クラウド・ネットワーク:VCN_MDS
サブネット:Subnet_MDS
DNSゾーンとしての仮想クラウドネットワークのドメイン名のチェックをオン
しばらく待つと、プライベート・アクセス・チャネルが構成されます。
5.MySQL DBシステムへの「接続」の作成(OAC上)
アナリティクス・インスタンスの詳細ページの「分析ホームページ」をクリックして、OACにアクセスします。
OACの画面が表示されます。
画面右上の「作成」をクリックし、「接続」をクリックします。
接続の作成ウィザードが表示されます。
下にスクロールし、「MySQL」をクリックします。
作成したMySQLの情報を入力し、「保存」をクリックします。
画面右上の「作成」をクリックし、「データ・セット」をクリックします。
6.データセットの作成
画面右上の「作成」をクリックし、「接続」をクリックします。
データ・セットの作成ウィザードが表示されます。
先ほど作成した接続「MySQL DS」をクリックします。
MySQL DBシステムの内容が表示されます。
testdbをクリックして、testdbの内容を表示します。
「dept」表と「emp」表を選択します。
「dept」表と「emp」表を場面右側の白い部分にドラッグ&ドロップします。
Oracle Analytics Cloudから、プライベート・アクセス・チャネルを経由してMySQL DBシステム内のデータを参照することができました。