はじめに

Autonomous Databaseでは、パブリック・エンドポイントとプライベート・エンドポイントを選択できます。 プライベート・エンドポイントの場合は指定したVCN内のサブネット上にエンドポイントを配置することができます。 アクセス制御は指定したVCNのサブネットのセキュリティ・リスト、もしくはネットワーク・セキュリティ・グループ(NSG)を利用して行います。


目次


所要時間 : 約30分


1. プライベート・エンドポイントのADBへの接続

1-1. ネットワーク構成の確認

プライベート・エンドポイントのAutonomous Database への接続方法は、IPsec VPN やFastConnect からアクセスする方法が一般的ですが、本章ではインターネットからの接続方法をご紹介します。

network-layout.png

ネットワーク構成は上記のようにしています。各Security List の設定を以下に示します。

security-list.png

プライベート・サブネットsub_pri1は、パブリック・サブネットsub_pubからのSSHのみ許可、sub_pri2は、sub_pri1からのTCP接続(1521ポート)のみ許可しています。 本章では、パブリック・サブネットに踏み台サーバーを置いて利用しますが、インターネット側からアクセスする場合には、Bastionサービスも利用できます。


1-2. ADBの作成

プライベート・エンドポイントのADBを作成するには、ADBの作成ページの[ネットワーク・アクセスの選択]でプライベート・エンドポイント・アクセスのみを選択します。 以下の画像のようにADBを配置する仮想クラウド・ネットワークとサブネットを指定します。

network-access.png

なお、VCNのセキュリティ・リストのルールによるアクセス制御が設定されている場合、ネットワーク・セキュリティ・グループによるアクセス制御はオプションになります。


1-3. ADBへの接続

パブリック・サブネットの踏み台サーバー経由でプライベート・サブネットのコンピュート・インスタンスに接続します。 プライベート・エンドポイント・アクセスのみの場合は、ウォレットなし接続が可能です。 ウォレットなし接続の手順については、こちらをご参照ください。 もちろんウォレットを使用した接続も可能です。

adb-access.png


1-4. パブリック・アクセスの許可

プライベート・エンドポイントのADBでは、パブリック・アクセスを許可するオプションがあります。このオプションを使用すると、パブリック・エンドポイントが追加され、アクセス制御リストで許可されたパブリックIP、CIDR、VCNから接続することができるようになります。

プライベート・エンドポイントで作成済みのADBにパブリック・アクセスを許可するには、ADBのネットワーク・アクセスを更新します。

ADBの作成ページの[ネットワーク・アクセスの更新]をクリックします。

publicaccess1.png

[パブリック・アクセスを許可]ボタンをクリックします。

publicaccess2.png

IPアドレス、CIDRブロック、VCN名、VCNのOCIDを指定して、アクセス許可を行います。今回はADBが配置されているVCNとは異なるVCN内にあるコンピュート・インスタンスのパブリックIPを指定します。

このとき接続用のウォレットにパブリック・エンドポイントにアクセスする接続文字列が追加されるので、確認してみます。 ウォレットのダウンロード方法はこちらをご参照ください。

以下にようにDB名_public_コンシューマグループが追加されています。

atprd01_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=xxxx.adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxx_atprd01_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
atprd01_low = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=xxxx.adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxx_atprd01_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
atprd01_medium = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=xxxx.adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxx_atprd01_medium.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
atprd01_tp = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=xxxx.adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxx_atprd01_tp.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
atprd01_tpurgent = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=xxxx.adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxx_atprd01_tpurgent.adb.oraclecloud.com))(security=(ssl_server_dn_match=no)))
atprd01_public_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxx_atprd01_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))
atprd01_public_low = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxx_atprd01_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))
atprd01_public_medium = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxx_atprd01_medium.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))
atprd01_public_tp = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxx_atprd01_tp.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))
atprd01_public_tpurgent = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxx_atprd01_tpurgent.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))

ウォレットを使った接続の場合、上記のように更新されたウォレットを再ダウンロードし、atprd01_public_tpなどの追加された接続サービスで接続すればパブリック・アクセスが可能になります。

ウォレットを使わない接続の場合、OCIコンソールの[データベース接続]をクリックしパブリック・アクセス用の接続文字列を取得します。

publicaccess3.png

[TLS認証]をTLSとし、[アクセス]をパブリック・エンドポイントとすると、atprd01_public_tpなどの接続サービスの接続文字列が表示されるので、そのうちの1つをコピーします。

publicaccess4.png

先ほどアクセス許可したパブリックIPのインスタンスから、SQLclで以下のように接続してみます。

sql admin/Welcome12345#@"(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxx_atprd01_tp.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))"
SQLcl: Release 24.1 Production on Sun Aug 04 06:16:29 2024

Copyright (c) 1982, 2024, Oracle.  All rights reserved.

Last Successful login time: Sun Aug 04 2024 06:17:12 +00:00

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.24.0.1.0

SQL>

無事パブリック・アクセスができました。


2. Database Actionsへの接続

Database Actions は、データベースの操作をGUI上で行うことができるツールです。 ADBのネットワーク構成によって、アクセス方法が異なります。 ネットワーク・アクセス・タイプにすべての場所からのセキュア・アクセス を選択している場合は、特に何も設定せずOCIコンソール画面からアクセスできます。

network-access-Internet.png

db-action-button.png

それ以外のパターンについて見ていきます。


2-1. パブリック・エンドポイントでACLを定義済み

まずは、パブリック・エンドポイントでアクセス制御リスト(ACL)を定義している場合です。 [ネットワーク・アクセスの選択]では、許可されたIPおよびVCN限定のセキュア・アクセスを選択します。

ACL-configuration.png

この設定の場合、インターネットからDatabase Actionsにアクセスするためには、自分のIPアドレスを追加する必要があります。

edit-ACL.png

自分のIPアドレスを追加ボタンがあるので、こちらをクリックするとすぐに自分のIPアドレスからのアクセスを許可できます。 ACLを更新後、OCIコンソール画面からアクセスできるようになります。


2-2. プライベート・エンドポイントでInternetから接続

プライベート・エンドポイントで作成しているADBは、OCIコンソールの[データベース・アクション]をクリックすると以下のような表示が出ます。

database-action.png

インターネットからアクセスする場合は、上の画像の記載のように、VCN内にコンピュート・インスタンスを1台置きそちらのブラウザを使用するようにしてください。もしくはエンドポイントの443番ポートをlocalhostの443番ポートにポートフォワードすることでも使用可能です。

また、OCIのBastion Serviceを使用してアクセスすることもできます。 詳しい手順は、こちらの記事をご参照ください。

こちらでパブリック・アクセスを許可している場合、Database ActionsなどのADB付属ツールへパブリック・アクセスが可能です。

パブリック・アクセスを許可している場合、各ツールのアクセスURLがプライベートとパブリックの2種類表示されます。

publicaccess5.png

例えばローカルからDatabase Actionsへパブリック・アクセスしてみます。

ADBの詳細画面の[ネットワーク]のパブリック・アクセスの編集ボタンをクリックします。

publicaccess6.png

アクセス制御ルールの追加をクリックし、自分のIPアドレスを追加をクリックします。現在ローカルで使用しているIPが追加されます。

publicaccess7.png

これでローカルからADBのパブリック・エンドポイントへのアクセスが許可されました。

パブリック・アクセスを許可すると、ADBの詳細画面のデータベース・アクションが以下のような表示になっています。このような表示になっておらず、クリックしてもプライベートIPでのアクセスURLしか表示されない場合は少し時間を置くか、ブラウザのリフレッシュを行ってください。クリックするとパブリック・エンドポイントのデータベース・アクションが起動します。

publicaccess8.png

このようにデータベース・アクションの起動パッド画面になりました。

publicaccess9.png

このようにプライベート・エンドポイントのADBでも、ローカルのIPをアクセス制御リストで許可することで、データベース・アクションへパブリック・アクセスすることができます。


2-3. プライベート・エンドポイントでプライベート・ネットワークから接続

オンプレミスのデータセンターなどからプライベート・ネットワークでDatabase Actionsに接続する場合です。 この場合、FastConnectを使用して、オンプレミスからOCIのVCNに接続する方法が一般的です。なお、トラフィックはインターネットを経由しません。 詳しい手順については、マニュアルをご参照ください。


参考資料

以上で、この章は終了です。
次の章にお進みください。


ページトップへ戻る

更新日時: