Amazon RDS for Oracleでデータベース・リンクを作る

こんにちは、YDCのしんじです。
今回は、Amazon RDS for Oracleでデータベース・リンクが使えるのか検証してみます。

Amazon RDS for Oracleは、sysdbaで接続できないといった制限がありますので
他に何か制限事項があるのかな?と思って検証してみました。
今回は、データベース・リンクがターゲットです。

検証すること:
・AWSの外からRDSへつなぐデータベース・リンク経由で、RDSのデータが参照できるの?
・RDSからAWSの外へつなぐデータベース・リンク経由で、AWS外部のデータが参照できるの?

ちなみに、sysdba権限が必要な操作は、RDSコンソールから行えますので、ご心配なく!

RDSでデータベースを作成

まずは、AWSアカウントを作成しました。
登録したメールアドレスにAWSからメールが届きますので、URLをクリックして利用開始です。

AWS利用開始1

先駆者からアドバイスをいただき、リージョンを「アジア・パシフィック(東京)」にしました。
アカウント名のすぐ右にある、地名表示のところから変更できます。

AWS利用開始2

「サービス」を開いたときのイメージです。

AWS利用開始3

ここで、データベースにあるRDSを選びます。

RDS作成1

データベースの作成開始です!

RDS作成2

Oracle Standard Edition Twoを選択しました。

RDS作成3

この辺りは何もせず、そのまま下へスクロール

RDS作成4

インスタンス識別子、マスターユーザの名前、パスワードを入力しました。

RDS作成5

この辺りは何もせず、そのまま下へスクロール

RDS作成6

データベースの名前、ポート番号1521が現れました。
このまま下へスクロール。

RDS作成7

さらに下へスクロール

RDS作成8

一番下にある「データベースの作成」押します。

RDS作成9

インスタンスを作成しています。

RDS作成10

しばらくすると、RDSインスタンスが利用可能になりました。

RDS作成11

下へスクロールし、接続情報を確認します。
このエンドポイントを使って、RDSに接続することができます。

RDS作成12

SQL DeveloperでRDSにテストデータを作成

エンドポイントを宛先にしてRDSへ接続します。
まずは、マスターユーザで接続。

RDSテストデータ1

RDSでTESTユーザを作成します。

RDSテストデータ2

権限などの割当てを行います。

RDSテストデータ3

今度は、TESTユーザでRDSに接続。

RDSテストデータ4

RDSにテーブルを作成します。

RDSテストデータ5

RDSにレコードを挿入「RDSのデータです」

RDSテストデータ6

SQL DeveloperでAWSの外部にテストデータを作成

外部環境はOracle Cloudを選びました。
-以下、Oracle Public Cloudの略でOPCと呼ぶことにします-

外部テストデータ1

OPCでTESTユーザを作成します。

外部テストデータ2

権限などの割当てを行います。

外部テストデータ3

今度は、TESTユーザでOPCに接続。

外部テストデータ4

OPCにテーブルを作成します。

外部テストデータ5

OPCにレコードを挿入「OPCのデータです」

外部テストデータ6

AWS外部からRDSへのデータベース・リンクを作成

ターミナルで、SSH鍵を使ってOPCにログイン、tnsnames.oraにRDSへの接続記述子を書きます。
HOSTのところにRDSのエンドポイントを指定しました。

外部からのDBLINK 1

OPCからRDSへのデータベースリンクを作成します。
先ほどtnsnames.oraに書いた接続記述子を使いました。

外部からのDBLINK 2

データベースリンクを使ったビューを作成します。

外部からのDBLINK 3

おっと!
データベース・リンクで、RDSに接続できなかったようです。

外部からのDBLINK 4

RDSのセキュリティを確認すると...

外部からのDBLINK 5

インバウンドを許可する相手が弊社のゲートウェイだけになっていました。

外部からのDBLINK 6

セキュリティグループの編集画面に行きます。

外部からのDBLINK 7

インバウンドルールを編集します。

外部からのDBLINK 8

OPCからのインバウンドを許可します。

外部からのDBLINK 9

RDSのデータが、データベース・リンク経由で参照できました!

外部からのDBLINK 10

RDSからAWS外部へのデータベース・リンクを作成

RDSからOPCのデータベースリンクを作成します。
RDSでは tnsnames.ora を直接触れないので、簡易接続構文(ホスト名:ポート番号/サービス名)を使いました。

RDSからのDBLINK 1

データベースリンクを使ったビューを作成します。

RDSからのDBLINK 2

OPCのデータが、データベース・リンク経由で参照できました!

RDSからのDBLINK 3

まとめ

Q. AWSの外からRDSへつなぐデータベース・リンク経由で、RDSのデータが参照できるの?
A. できました。
  セキュリティグループを編集して、接続元アドレスからのインバウンドを許可しました。

Q. RDSからAWSの外へつなぐデータベース・リンク経由で、AWS外部のデータが参照できるの?
A. できました。
  RDSでは、tnsnames.ora を直接触れないので、データベース・リンク作成で
  簡易接続構文(ホスト名:ポート番号/サービス名)を使いました。

さて、今回は Amazon RDS for Oracle - Oracle Cloud で検証しましたが、
RDSからオンプレミス環境へつなぐデータベース・リンクを手軽に使ってみたい!と思いませんか?

次回は、VPNを使わずとも、オンプレミスにあるデータを参照する方法を紹介しますね。
お楽しみに!

Standby Expressに関するお問合わせ

  • TEL 042-333-6217
  • FAX 042-352-6101
  • LINE
  • Mail