はじめに
今回は、Oracle Database@Google CloudのAutonomous Database (ADB)でDatabase Actionsに接続してみたいと思います。
通常だと、自身のPCからインターネット経由でOCIコンソールのDatabase Actionsをクリックしても以下のように表示されてしまいます。
踏み台 (Bastion)サーバーを作成して、Database Actionsを利用できるように設定していきたいと思います。
Database Actionsについて詳細を知りたい方は、以下をご参照ください。
Autonomous Database - Database Actions 機能概要
今回構成するアーキテクチャ
今回は、下記のように自身のPCからインターネット経由で、踏み台サーバーをSSH ポート・フォワードの中継として利用し、ADBにアクセスしていきます。
前提条件
事前にOracle Database@Google CloudでADBを作成していることを前提としています。
また、今回はGoogle Cloud CLIを利用してポートフォワーディングを行いますので、事前に以下のリンクのガイドを参考にして、ご自身のローカルPCにインストールしてください。
なお、コマンドプロンプトやターミナルを使用して直接ポートフォワーディングを設定することも可能ですので、お好みの方法をお選びください。
Database Actionsに接続するまでの手順
①踏み台サーバーの作成
Google Cloudのコンソール上から、「Compute Engine」⇒「VMインスタンス」を選択します。
今回は「新規VMインスタンス」を選択し、一からインスタンスを作成していきます。
-
名前:インスタンスの名前を設定します。
名前に使用できるのは、英小文字 (a~z)、数字、ハイフンのみで、末尾は小文字または数字である必要があります。 -
リージョン:作成したADBと同じリージョンを選択します。
-
ゾーン:今回は特に指定しません。
-
マシンタイプ:低コストな「e2-micro」を選択。
-
コンテナ:今回はデプロイしません。
このような画面が表示されるので、OSやブートディスクの種類、サイズを変更する場合は、こちらの設定を調整することができます。
今回は以下の項目はデフォルトの設定のままにしておきます。
最後に「作成」を選択します。
②ネットワークのアクセス用ルールの設定
Google Cloudのコンソール上から、「VPCネットワーク」⇒「ファイアウォール」を選択します。
踏み台サーバーへのSSHでのアクセスルール設定
下記の項目にないものはデフォルトの設定で問題ありません。
設定を終えたら最後に「作成」を選択します。
項目 | 設定例 |
---|---|
名前 | allow-ssh |
ネットワーク | default (今回使用するVPC) |
優先度 | 0~65535を指定。値が小さいルールほど優先順位が高くなる。 |
トラフィックの方向 | 上り (内向き) |
一致したときのアクション | 許可 |
ターゲット | ネットワーク上のすべてのインスタンス |
ソースフィルタ | IPv4範囲 |
送信元IPv4範囲 | 接続元のIPアドレスを指定する(確認くんなどのサイトで調べられる) |
プロトコルとポート | 指定したプロトコルとポート(TCP、22) |
踏み台サーバーからADBへ出ていくアクセスルール設定
同様にアクセスルールを作成していきます。
項目 | 設定例 |
---|---|
名前 | allow-bastion-egress |
ネットワーク | default (今回使用するVPC) |
優先度 | 0~65535を指定。 |
トラフィックの方向 | 上り (外向き) |
一致したときのアクション | 許可 |
ターゲット | ネットワーク上のすべてのインスタンス |
ソースフィルタ | IPv4範囲 |
送信先IPv4範囲 | ADBのプライベートIPアドレスを含む形に設定 |
プロトコルとポート | 指定したプロトコルとポート(TCP、443) |
踏み台サーバーからADBに入っていくアクセスルール設定
項目 | 設定例 |
---|---|
名前 | allow-adb-ingress |
ネットワーク | default (今回使用するVPC) |
優先度 | 0~65535を指定。 |
トラフィックの方向 | 上り (内向き) |
一致したときのアクション | 許可 |
ターゲット | ネットワーク上のすべてのインスタンス |
ソースフィルタ | IPv4範囲 |
送信元IPv4範囲 | 踏み台サーバーのプライベートIPアドレスを含む形に設定 |
プロトコルとポート | 指定したプロトコルとポート(TCP、443) |
これでネットワークのアクセスルールの設定は完了です!
③Google Cloud CLIでポートフォワーディングを行う
事前に設定を終え、自身のGoogleアカウントと紐づけているGoogle Cloud CLIを起動します。
以下のコマンドを入力していきます。
gcloud compute ssh --zone "<踏み台サーバーのゾーン名>" "<踏み台サーバー名>" --project "<プロジェクトID>" -- -L <踏み台サーバーのポート>:<ADBのプライベートエンドポイントIP>:<ADBのポート>
- 踏み台サーバーのゾーン名:Google Cloudのリソースが配置されているゾーン(例: us-east4-a)
- 踏み台サーバー名:SSH接続を行う踏み台サーバーの名前(例: bastion-server)
- プロジェクトID:Google Cloud プロジェクトのID(例: my-gcp-project)
- 踏み台サーバーのポート:ポート番号は443
- ADBのプライベートエンドポイントIP:ADBのIPアドレスまたはURL(例: 10.0.43.204)
- ADBのポート:ポート番号は443
踏み台サーバーのゾーン名に関しては、作成したVMインスタンスの詳細から確認可能です。
ADBのプライベートエンドポイントIPに関しては、Autonomous Databaseの詳細のネットワークの欄から確認可能です。
コマンドを実行すると下記のようなコマンドが立ち上がるので、この状態になればポートフォワーディングは完了です。
④Database Actionsへの接続
ポートフォワーディングが完了したら、以下のリンクにアクセスします。
https://localhost/ords/sql-developer
ログイン画面が出てきたら以下の項目を入力します。
無事ADBのDatabase Actionsに接続することができました!
まとめ
今回は、Oracle Database@Google CloudのAutonomous Database (ADB)でDatabase Actionsに接続してみました。
最初はWindows Serverを構築しRDPで接続しようとしたのですが、Windows Serverは無償トライアルの範囲内では使えず断念。。。
なので、今回はGoogle Cloud CLIを使ってポートフォワーディングする方法を試してみました!
他にもOracleのマルチクラウドに関する記事を発信しているので、以下の関連記事も合わせてご参考ください。
関連記事
Oracle Database@Azureに関して
編集履歴
- 2024/12/3 記事公開