第15回:Oracle Cloud Database ServiceのDBに直接接続してみた(説明編)

第15回:Oracle Cloud Database ServiceのDBに直接接続してみた(説明編)

技術者向け・データベースの技術情報発信

DBコンサル部の奥田です。

今回は、DBasSが提供するデータベースへの接続について、Oracle Database Cloud Serviceを題材に、セキュリティの観点から考察しようと思います。

Oracle Database Cloud Serviceとは

考察の前に、まずは「Oracle Database Cloud Service」について簡単にご紹介します。これは、Oracleが提供するデータベースのクラウドサービスです。
よくDBaaSといわれるサービスがこれです。

定額利用者(サブスクライバーといいます。)に、「データベースデプロイメント」という環境を提供し、その環境に専用のDBインスタンスを作成して利用することができます。

作成できるDBインスタンスのバージョンは以下の通りです。

  • 11gR2
  • 12cR1
  • 12cR2

これらのバージョンは従来のオンプレミスのバージョンと同一のため、既存の環境をそのままクラウド環境に移行することができます。

DBインスタンスへの接続設定について

Oracle Cloud で作成したデータベース・インスタンスにSQL*Net経由でアクセスする方法は、以下の2通りあります

  • 定義済みアクセスルールの有効化
  • アクセスルールの作成(カスタムルール)

次に、それぞれについて簡単に説明します。

定義済みアクセスルール

データベースデプロイメントを作成すると、以下のアクセスルールが作成されます。

  • ora_p2_dbconsole

  →ポート1158 (Enterprise Manager 11g Database Controlによって使用されるポート)へのアクセスを制御します。

  • ora_p2_dbexpress

  →ポート5500 (Enterprise Manager Database Express 12cによって使用されるポート)へのアクセスを制御します。

  • ora_p2_dblistener

  →SQL*Netによって使用されるポートへのアクセスを制御します。

  • ora_p2_http

  →ポート80 (HTTP接続するために使用されるポート)へのアクセスを制御します。

  • ora_p2_httpssl

  →ポート443へのアクセス、HTTPS接続に使用されるポート(Oracle REST Data Services、Oracle Application Express、Oracle SQL Developer Webなど)を制御します。

これらは有効化されていないので、明示的に有効化する必要があります。
今回はSQL*Netでインスタンスにアクセスするので、「ora_p2_dblistener」を有効化します。

カスタムルール

以下の項目を設定することで、独自のアクセスルールを作成することができます。

  • Rule Name:このルールを認識する任意の名前
  • Description:任意の説明(オプション)
  • Source:トラフィックの送信元として許可されるホスト。※今回は「custom」を選択
  • Destination:トラフィックのあて先として許可されるセキュリティリスト
  • Destination Port(s):開くポートまたはポート範囲

と、ここまでは説明してきた接続方法については、「Oracle Cloud Database Service Classic」という旧いバージョンにおいてのアクセス方法で、今から契約して検証することはできそうもないことが分かりました(残念)。
定義済みとカスタムでは、よりセキュリティが高いカスタムを推奨しているらしく、その検証がしたかったのに。。。

新バージョンでは、「Oracle Cloud Infrastructure」内に展開できるサービスとなっているみたいです。なので、新バージョンのアクセス方法について検証してみたいと思います。

アクセス方法を調べると、以下の2通りの方法があるようです。

  1. パブリックIPアドレスの使用
  2. SSHトンネリングの使用

それでは、検証していきましょう。(次回に続く)