LoginSignup
7
5

More than 3 years have passed since last update.

SSH転送(SSH Tunnel) を設定して、踏み台Compute経由の SQL Developer で Autunomous Database に接続する(OCI, Oralce Cloud Infrastructure)

Last updated at Posted at 2019-10-31

タイトルの通り、SSH転送(SSH Tunnel)経由 の SQL Developer で Autonomous Database に接続してみるやで。
彡(゚)(゚)

1. 構成

構成は下記の通り。

PC端末 ⇒ (SSH) ⇒ Compute ⇒ (SQL*Net) ⇒ Autonomous Database

ソフトウェア/サービスのバージョンは以下の通りです。

■PC端末
Windows 10
SQL Developer 19.2.0
PuTTY 0.71
Teraterm 4.103

■Compute
VM.Standard2.1
OEL 7.6

■Autonomous Database
18c

2. Autonomous Database の ACL(Access Control List)設定

Computeインスタンス の Public IP からのみ接続を許可するように、Autonomous Database の ACL(Access Control List) を設定します。
なおスクショはSGW(Service Gatewary)経由のPrivate Networkからの接続を許可する設定も入ってます。

ハンバーガーメニュー ⇒ ATP or ADW ⇒ DB名クリック ⇒ Action ⇒ Access Control List ⇒ IP Address を記述して Save

参考マニュアルは下記となります。

Autonomous Data Warehouseでのアクセス制御リストの設定
https://docs.oracle.com/cd/E83857_01/paas/autonomous-data-warehouse-cloud/user/autonomous-acess-control-list.html#GUID-B6389402-3F4D-45A2-A4DE-EAF1B31D8E50

WS000008.JPG

3. Autonomous Database のウォレットをダウンロードして PC端末に展開

以下の手順で Autonomous Database の ウォレットをダウンロードします。

ハンバーガーボタン > Autonomous Data Warehouse or Transaction Processing > DB名 > DB Connection > Download

WS000000.JPG

ダウンロードした Wallet の zip を PC端末で展開します。本記事では C:\tools\wallet\ に展開したものとします。

4. PC端末の環境変数設定

環境変数TNS_ADMIN を Wallet の zip を展開したフォルダに指定します。

設定 > コントロールパネル > システム > システムの詳細設定 > 環境変数 > ユーザ環境変数 > 新規
変数名:TNS_ADMIN
変数値:C:\tools\wallet

WS000001.JPG

5. Walletを展開したフォルダ内の sqlnet.ora を修正

Walletを展開したフォルダ内の sqlnet.ora を修正します。WALLET_LOCATION の DIRECTORY を明示的に記述します。

WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin")))

WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="C:\tools\wallet")))

6. Walletを解凍したフォルダ内のtnsmanes.oraの内容を置換

tnsnames.ora の port番号 および host名を修正します。

port番号は Well-known port ではない 任意のport にします。本記事では 15222 に修正します。

host は localhost に置換します。単純に置換すると CN= のホスト名も置換されてしまうので、
host=xxx.xxx.oraclecloud.com -> host=localhost で置換します。
※置換する前のホスト名はどこかにメモしておきます。

prdatp_tp = (description= (address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxxxxxxxxxxxxx_xxxxxx_tp.atp.oraclecloud.com))(security=(ssl_server_cert_dn=
        "CN=adb.ap-tokyo-1.oraclecloud.com,OU=Oracle ADB TOKYO,O=Oracle Corporation,L=Redwood City,ST=California,C=US"))   )

prdatp_tp = (description= (address=(protocol=tcps)(port=15222)(host=localhost))(connect_data=(service_name=xxxxxxxxxxxxxxx_xxxxxx_tp.atp.oraclecloud.com))(security=(ssl_server_cert_dn=
        "CN=adb.ap-tokyo-1.oraclecloud.com,OU=Oracle ADB TOKYO,O=Oracle Corporation,L=Redwood City,ST=California,C=US"))   )

7a. SSH転送(SSH Tunnel)を設定(PuTTYの場合)

SSH転送(SSH Tunnel)を設定します。PyTTY の場合は下記のように設定します。

■Session
・Host Name(or IP address) => 踏み台サーバのIPアドレスを入力
・Port  =>22(自動入力)

■Connection > SSH > Auth
Authentication parameter > Private Key File
踏み台インスタンスにログインするための秘密鍵を指定

■Connection > SSH > Tunnel > 以下の設定を入力してAdd
Source Port:15222 ※6.で記述した任意のポート
Destination :xxx.xxx.oraclecloud.com:1522(※6.のtnsnames.oraの変更前ホスト名を入力)
ホスト:tnsnames.oraの旧ホスト名
ポート:1522

■Sessionに戻って任意の名前でSave

■Open ⇒ ユーザー名(opc)を入力して踏み台インスタンスにログインします。

参考マニュアル
https://docs.oracle.com/cd/E83857_01/paas/database-dbaas-cloud/csdbi/create-ssh-tunnel.html#GUID-BE797E70-CB3E-4A80-9620-A7DF1AA91B9E
WS000004.JPG

7b. SSH転送を設定(Teratermの場合)

SSH転送を設定します。Teraterm の場合は下記のように設定します。

■設定 ⇒ SSH転送 ⇒ 追加 ⇒ 以下を設定してOK ⇒ OK

ローカルのポート:15222  ※6.で記述した任意のポート
リッスン:空(何も設定しない)
リモート側ホスト:tnsnames.oraの旧ホスト名(※6.のtnsnames.oraの変更前ホスト名を入力)
ポート:1522

■上記の設定を保存する。
設定 ⇒ 設定の保存 ⇒ Teratermのインストールディレクトリに TERATERM.INI として保存

■ターミナルソフト(Teraterm)をクローズして、起動し直す。

■踏み台Computeにログインして、上記のSSH転送設定が反映されているかを確認する。
ログイン後に 設定 ⇒ SSH転送 ⇒ 上記の転送設定が残っていればOK

WS000006.JPG

8. SQL Developer の接続を新規作成、テスト、保存

ターミナルでComputeインスタンスに接続後、SQL Developerを起動してデータベースの接続を新規作成します。

接続名:任意の接続名
ユーザー名:ADBのユーザー名
パスワード:ADBユーザーのパスワード

接続タイプ:TNS
ロール:デフォルト
ネットワーク別名 or 接続識別子:接続するtnsnames.oraのTNS名を指定 ※
※環境変数が適切に設定されていれば、ネットワーク別名にtnsnames.oraの接続文字列が表示される

上記の接続を作成して、テストボタンを押して成功が出力されればOKです。
テストが成功したら、SQL Developerの接続設定を保存します。
WS000007.JPG

9. まとめ

Computeの鍵とWalletのzipを持っているユーザーだけが、SQL DeveloperでAutonomous Database にアクセスできるようになります。
より安全に Autonomous Database に接続して、ガンガン活用や!彡(^)(^)

7
5
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
7
5