SSH転送(SSH Tunnel) を設定して、踏み台Compute経由の SQL Developer で Autunomous Database に接続する(OCI, Oralce Cloud Infrastructure)
タイトルの通り、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
3. Autonomous Database のウォレットをダウンロードして PC端末に展開
以下の手順で Autonomous Database の ウォレットをダウンロードします。
ハンバーガーボタン > Autonomous Data Warehouse or Transaction Processing > DB名 > DB Connection > Download
ダウンロードした Wallet の zip を PC端末で展開します。本記事では C:\tools\wallet\ に展開したものとします。
4. PC端末の環境変数設定
環境変数TNS_ADMIN を Wallet の zip を展開したフォルダに指定します。
設定 > コントロールパネル > システム > システムの詳細設定 > 環境変数 > ユーザ環境変数 > 新規
変数名:TNS_ADMIN
変数値:C:\tools\wallet
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
7b. SSH転送を設定(Teratermの場合)
SSH転送を設定します。Teraterm の場合は下記のように設定します。
■設定 ⇒ SSH転送 ⇒ 追加 ⇒ 以下を設定してOK ⇒ OK
ローカルのポート:15222 ※6.で記述した任意のポート
リッスン:空(何も設定しない)
リモート側ホスト:tnsnames.oraの旧ホスト名(※6.のtnsnames.oraの変更前ホスト名を入力)
ポート:1522
■上記の設定を保存する。
設定 ⇒ 設定の保存 ⇒ Teratermのインストールディレクトリに TERATERM.INI として保存
■ターミナルソフト(Teraterm)をクローズして、起動し直す。
■踏み台Computeにログインして、上記のSSH転送設定が反映されているかを確認する。
ログイン後に 設定 ⇒ SSH転送 ⇒ 上記の転送設定が残っていればOK
8. SQL Developer の接続を新規作成、テスト、保存
ターミナルでComputeインスタンスに接続後、SQL Developerを起動してデータベースの接続を新規作成します。
接続名:任意の接続名
ユーザー名:ADBのユーザー名
パスワード:ADBユーザーのパスワード
接続タイプ:TNS
ロール:デフォルト
ネットワーク別名 or 接続識別子:接続するtnsnames.oraのTNS名を指定 ※
※環境変数が適切に設定されていれば、ネットワーク別名にtnsnames.oraの接続文字列が表示される
上記の接続を作成して、テストボタンを押して成功が出力されればOKです。
テストが成功したら、SQL Developerの接続設定を保存します。
9. まとめ
Computeの鍵とWalletのzipを持っているユーザーだけが、SQL DeveloperでAutonomous Database にアクセスできるようになります。
より安全に Autonomous Database に接続して、ガンガン活用や!彡(^)(^)
Author And Source
この問題について(SSH転送(SSH Tunnel) を設定して、踏み台Compute経由の SQL Developer で Autunomous Database に接続する(OCI, Oralce Cloud Infrastructure)), 我々は、より多くの情報をここで見つけました https://qiita.com/ora_gonsuke777/items/88a639f601b574e6a9a2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .