Autonomous AI Databaseインスタンスへの接続について

データベース・ユーザーを作成した後、アプリケーションおよびツールはOracle Net Services (SQL*Netとも呼ばれる)を使用してAutonomous AIデータベースに接続します。Oracle Net Servicesによって、クライアント・アプリケーションからOracle Databaseサーバーへのネットワーク・セッションが可能になります。

ネットワーク・セッションが確立されると、Oracle Net Servicesは、クライアント・アプリケーションとデータベースの両方に対するデータ伝達手段として機能します。これは、クライアント・アプリケーションとデータベース間での接続の確立および維持と、それらの間でのメッセージ交換を担当します。

Oracle Net Servicesでは、自律型AIデータベース・インスタンスに接続するための様々な接続タイプがサポートされています。次に例を示します。

  • JDBC Thinドライバ: Javaアプリケーションの場合、JDBC Thinドライバは純粋なJavaドライバです。Oracle SQL Developerを含む多くのアプリケーションは、JDBC Thinドライバ接続をサポートしています。

  • JDBC OCI: Java言語アプリケーションによって使用されます。JDBC OCIは、Oracle Call Interfaceの上にJavaアプリケーション用のレイヤーを追加します。Oracle SQLclコマンドライン・インタフェースはJDBC OCIを使用します。

  • Oracle Call Interface (OCI): C言語で記述された多くのアプリケーションで使用されます。Examples that use Oracle Call Interface include Oracle utilities such as Oracle SQL*Plus, SQL*Loader, and Oracle Data Pump.

  • ODBC Drivers: Microsoft Windows上で実行されているアプリケーションによって使用され、Oracle Call Interface (OCI)上にレイヤー化されています。

サードパーティ製品およびカスタム・アプリケーションは、これらの接続タイプを使用できます。

トピック

mTLSまたはTLSを使用した自律型AIデータベースへのセキュアな接続

Autonomous AI Databaseへの接続は、パブリック・インターネット、オプションでアクセス制御ルール(ACL)が定義されているか、テナンシ内のVirtual Cloud Network (VCN)内のプライベート・エンドポイントを使用して行われます。

プライベート・エンドポイント構成を指定すると、指定した仮想クラウド・ネットワークからのトラフィックのみが許可され、すべてのパブリックIPまたはVCNsからのデータベースへのアクセスがブロックされます。プライベート・エンドポイントを構成すると、データベースとの間のすべてのトラフィックをパブリック・インターネットから切り離すことができるようになります。プライベート・エンドポイントでは、パブリック・アクセスが「パブリック・アクセスの許可」で有効になっている場合、インスタンスにはプライベート・エンドポイントとパブリック・エンドポイントの両方があります:

  • プライベート・ホスト名、エンドポイントURLおよびプライベートIPアドレスを使用すると、データベースが存在するVCNからデータベースに接続できます。

  • パブリック・ホスト名を使用すると、特定のパブリックIPアドレスから、またはサービス・ゲートウェイを使用してAutonomous AI Databaseにプライベート接続するようにVCNsが構成されている場合は、そのVCNsからデータベースに接続できます。

多くのアプリケーションで複数の接続タイプがサポートされていますが、Autonomous AI Databaseへの各接続タイプでは、標準のTLS 1.2を使用した証明書認証とTCPS (Secure TCP)データベース接続が使用されます。これにより、Autonomous AI Databaseへの不正アクセスがなくなること、およびクライアントとサーバー間の通信が完全に暗号化され、傍受または改ざんすることができなくなります。

Autonomous AI Databaseでは、デフォルトで相互TLS (mTLS)接続がサポートされています(mTLSとの接続にはポート1522を使用します)。mTLS接続とTLS接続の両方をサポートするように自律型AIデータベース・インスタンスを構成するオプションがあります(TLS接続にはポート1521または1522のいずれかを使用します)。

Autonomous AI DatabaseでTLS認証を使用するクライアントには、次のような利点があります。

  • TLS接続では、ウォレットをダウンロードする必要はありません。JDK8以上でJDBC Thinドライバを使用するTLS接続の場合、ウォレットは必要ありません。これには、SQL DeveloperやSQLコマンドライン(SQLcl)などのクライアントからの接続が含まれます。

  • TLSで接続しているクライアントは、ウォレットのローテーションについて心配する必要はありません。Walletローテーションは、mTLS接続のための通常の手順です。

  • TLS接続は高速になる可能性があります(接続待機時間が短くなります)。TLS認証により、mTLSと比較して接続待機時間が短縮されます。

  • TLSおよびmTLS接続は相互に排他的ではありません。相互TLS (mTLS)認証はデフォルトで有効になっており、常に使用できます。TLS認証を有効にすると、mTLS認証またはTLS認証を使用できます。

  • TLS認証を使用すると、クライアントとAutonomous AI Databaseの間の完全に暗号化されたエンドツーエンドの通信が損なわれることはありません。

Autonomous AI DatabaseインスタンスのmTLS接続文字列の取得の詳細は、自律型AIデータベース・インスタンスのTNS名および接続文字列の表示を参照してください。

相互TLS (mTLS)認証について

相互Transport Layer Security (mTLS)を使用すると、クライアントは、標準のTLS 1.2を信頼できるクライアント認証局(CA)証明書とともに使用して、TCPS (セキュアTCP)データベース接続を介して接続します。

相互認証では、クライアント・アプリケーションとAutonomous AI Databaseの両方が相互に認証します。Autonomous AI Databaseでは、デフォルトでmTLS認証が使用されます。ポート1522を使用して、mTLSを使用してAutonomous AI Databaseインスタンスに接続します(1522ポート割当ては変更できません)。

相互TLS認証では、クライアントが自律型AIデータベース・インスタンスに接続するための信頼できるクライアントCA証明書をダウンロードまたは取得する必要があります。その後、Autonomous AI Databaseは証明書を使用してクライアントを認証します。これにより、セキュリティが向上し、Autonomous AI Databaseインスタンスと通信できるクライアントが指定されます。

相互TLSを使用した認証では、クライアント(アプリケーションを実行されている)とサーバー(Autonomous AI Database上のデータベース・サービスが実行されている)の両方でウォレットに格納されている暗号化キーが使用されます。接続するには、クライアントのキーがサーバーのキーと一致している必要があります。ウォレットには、自律型AIデータベース・インスタンスに接続するために必要なキーおよびその他の情報を含むファイルのコレクションが含まれます。クライアントとサーバー間のすべての通信は、暗号化されます。

自律型AIデータベース・インスタンスへの接続を保護するために、サービス管理者はAutonomous AI Databaseからクライアント資格証明(ウォレット・ファイル)をダウンロードします。自律型AIデータベース・サービス管理者でない場合は、管理者がクライアント資格証明を提供します。詳細は、クライアント資格証明(ウォレット)のダウンロードを参照してください。

次の図は、相互TLS接続を使用したパブリック・インターネットを介したOracle Autonomous AI Databaseへのクライアント・セキュア接続を示していますプライベート・エンドポイントを使用するようにデータベースを構成した場合、パブリック・インターネットは使用されず、接続ではテナンシのVirtual Cloud Network (VCN)内のプライベート・エンドポイントが使用されます。

autonomous-database.epsの説明が続きます
図autonomous-database.epsの説明

Autonomous AI DatabaseインスタンスのmTLS接続文字列の取得の詳細は、自律型AIデータベース・インスタンスのTNS名および接続文字列の表示を参照してください。

TLS認証について

Transport Layer Security (TLS)を使用すると、クライアントは、標準のTLS 1.2を使用してTCPS (セキュアTCP)データベース接続を介して接続できます。クライアントは、信頼された認証局(CA)のリストを使用してサーバーのCAルート証明書を検証します。発行元のCAが信頼できる場合、クライアントは証明書が本物であることを検証します。

これにより、クライアントと自律型AIデータベースは、メッセージを交換する前に暗号化された接続を確立することができます。ポート1521または1522を使用して、TLSを使用してAutonomous AI Databaseインスタンスに接続します(これらのポート割当ては変更できません)。

Oracle SQL DeveloperやOracle SQLclなどのJDBC Thinドライバ・クライアントを使用してTLS認証で接続する場合、Autonomous AI Databaseインスタンスへの接続を保護するためにウォレットをダウンロードする必要はありません。TLS認証により、クライアントは自律型AIデータベース・サービスのアイデンティティを検証してセキュアな通信を提供できます。

クライアントのタイプに応じて、Autonomous AI DatabaseでのTLS接続には次のサポートがあります:

  • Oracle SQL DeveloperおよびOracle SQLclとの接続を含む、JDK8u162以上を使用するJDBC Thinドライバとの接続の場合、ウォレットは必要ありません。

  • Oracle Call Interface (OCI)クライアントは、次のクライアント・バージョンを使用している場合、ウォレットなしのTLS認証をサポートします:

    • Oracle Instant Client/Oracle Database Client 19.13 - Linux x64のみ

    • Oracle Instant Client/Oracle Database Client 19.14 (以上)、21.5 (以上)または23.1 (以上)

  • クライアントがTLS認証を使用して管理対象ODP.NETまたはODP.NETコア・バージョン19.13または21.4以上で接続している場合、クライアントはウォレットを指定せずに接続できます。

TLS接続には、ネットワークアクセスの事前設定があります。詳細は、TLS接続のためのネットワーク・アクセスの前提条件を参照してください。

Autonomous AI DatabaseインスタンスのTLS接続文字列の取得の詳細は、自律型AIデータベース・インスタンスのTNS名および接続文字列の表示を参照してください。

ファイアウォールを介したAutonomous AI Databaseへの接続

ほとんどの組織は、ファイアウォールを使用してネットワーク上のネットワークおよびデバイスを保護します。ファイアウォールは、特定のポートの使用および特定のコンピュータ(または、より具体的にはIPアドレスまたはホスト名)へのアクセスを許可するルールを使用して、受信および送信ネットワーク・トラフィックを制御します。ファイアウォールの重要な機能は、内部ネットワークとパブリック・インターネットを分離することです。

パブリック・インターネットを使用したアクセス用にAutonomous AI Databaseが構成されている場合は、Autonomous AI Databaseサーバーへのアクセスを許可するようにファイアウォールを構成する必要があります。

ファイアウォールの背後からAutonomous AI Databaseにアクセスするには、接続内のサーバーに接続するときに、データベース接続で指定されたポートの使用がファイアウォールで許可されている必要があります。Autonomous AI DatabaseのmTLS接続にポート1522を使用します(credentials ZIPファイルのtnsnames.oraファイルから接続文字列内のポート番号を確認できます)。たとえば、次のtnsnames.oraファイルのport値を参照してください。

db2022adb_high = (description = ( 
                address=(protocol=tcps)
                (port=1522)
                (host=adb.example.oraclecloud.com))
                (connect_data=(service_name=example_high.adb.oraclecloud.com))
                (security=(ssl_server_dn_match=yes)))

ファイアウォールは、ポート1522を使用して.oraclecloud.comドメイン内のサーバーへのアクセスを許可する必要があります。Autonomous AI Databaseに接続するには、組織のネットワーク構成に応じて、プロキシ・サーバーを使用してこのポートにアクセスするか、ネットワーク管理者にこのポートを開くようにリクエストする必要があります。

Oracle Cloud InfrastructureのパブリックIPアドレス範囲の詳細は、IPアドレス範囲を参照してください。パブリック・エンドポイント上のAutonomous AI Databaseインスタンスへのアクセスを確保するには、これらのCIDRブロックへのトラフィックを許可する必要があります。

アプリケーション・コンティニュイティの使用

アプリケーション・コンティニュイティは、停止の後で影響を受けるデータベース・セッションの進行中の作業をリカバリすることで、エンド・ユーザーとアプリケーションから停止をマスクします。アプリケーション・コンティニュイティはこのリカバリをアプリケーションの下で実行するため、停止がアプリケーションの実行のわずかな遅れのように見えます。

ノート

デフォルトでは、アプリケーション・コンティニュイティは無効になっています。

アプリケーション・コンティニュイティの詳細は、Autonomous AI Databaseでのアプリケーション・コンティニュイティの使用を参照してください。