データベースについて調べてみた

データベースについて調べたことのメモ。Oracle要素多めになる予定。

OCIのOracle Base Database Serviceを構築してみた ~その1~

Oracle Cloud Infrastructure(OCI)を触れる機会があったので、今回はOracle Base Database Serviceを自宅からインターネット経由で接続できるようにするまでの構築手順を調べてみた。

 

0.はじめに

Oracle Base Database Service(旧サービス名: Oracle Database Cloud Service[DBCS])は、OCIで提供されるOracle Databaseを使用できるクラウドサービスである。
Oracle Base Database Serviceの概要は、こちらを参照のこと。

 

サーバ構築やOS/Oracle Databaseのインストールなど面倒なことを行わなくても、ブラウザからポチポチしていくだけで、データベースが構成されたDBサーバが作成され、Oracle Databaseが触れるという、素敵なサービスということで、実際にこのサービスを使って自宅からOracle Databaseに接続するまでの手順を纏めてみた。

実際のシステムではセキュリティを考慮した設定が必要だが、今回は個人用のお試し接続なので、そこにはあまり拘らずOracle Base Database Serviceを構成した。サービスを使用するまでの構成手順を、以下のステップで紹介していく。

 

  1. コンパートメントの作成
  2. 仮想ネットワークの作成/設定   ← 今回はここまでの紹介
  3. Oracle Base Database Serviceの作成
  4. DBサービスへの接続

 

1.コンパートメントの作成

コンパートメントとは、テナンシ(ルートコンパートメント)を論理分割したもので、コンパートメントを作成することで、OCIリソースを論理分割することができる。例えば、Aシステム用の開発環境とBシステム用の開発環境をテナンシ内で分離したいときは、システム毎にコンパートメントを構成することで分離を実現することができるといった代物だ。

※コンパートメントについての詳細を知りたい方は、システムエグゼさんのページが簡潔に纏まっていたので、こちらを参照のこと。

 

Oracle Base Database Serviceを使用する際に、コンパートメントの作成は必須でないが、お試しで作成する環境をテナンシ内で分離しておきたかったので、今回はコンパートメントの作成を行った。

まずOCIコンソールへログイン後、コンパートメントのページへ移動する。下記の例では、OCIコンソールの上部にある検索フォームに「コンパートメント」と入力して、コンパートメントのページへのリンクを取得している。

 

コンパートメントのページに遷移したら、「コンパートメントの作成」をクリックする。

 

コンパートメントの作成ダイアログが表示されるので、作成するコンパートメントの「名前」と、コンパートメントの「説明」を入力する。また、コンパートメントは階層構造にできるので、「親コンパートメント」を指定し、「コンパートメントの作成」をクリックする。

 

コンパートメントの作成に成功したら、コンパートメントの一覧に表示される。下の例ではtestcomp01が作成されたコンパートメントとなる。

 

 

2.仮想ネットワークの作成

仮想ネットワークの作成も、既に構成されているものを使用するのであれば必須作業ではないが、コンパートメントと同様に、お試し作成環境用のものを構成した。仮想ネットワークの作成では、以下の事項を実施した。

 

 2.1 VCNの作成

 2.2 サブネットの作成

 2.3 インターネットゲートウェイの作成

 2.4 インターネットゲートウェイのルート表への紐づけ

 

2.1 VCNの作成

VCN(Virtual Cloud Network)は、OCI内に作成できる仮想ネットワークである。

OCIコンソールの左上のナビゲーションメニュー(漢数字の三みたいなボタン)をクリックするとメニューが表示されるので、そこで「ネットワーキング」をクリックする。

 

ネットワーキングのメニューが表示されるので、「仮想クラウド・ネットワーク」をクリックする。

 

仮想クラウドネットワークの画面が表示されるので、「VCNの作成」をクリックする。

 

仮想クラウドネットワークの作成ダイアログが表示されるので、必要事項を入力していく。入力事項が多いので、画面も数分割して記載していく。

まず、作成するVCNの「名前」と、どの「コンパートメントに作成」するかを指定する。

 

作成するVCNのIPv4アドレス帯を「IPv4 CIDR blocks」に入力する。DNS関連の設定項目は、今回はそのままとした。

 

IPv6は使用しないため設定は行わず、「拡張オプションの表示」をクリックする。

 

拡張オプションではリソース管理等で使用できるタグの設定ができるが、今回は特に使用しないため入力しない。最後に「VCNの作成」をクリックすると、VCNが作成される。

 

2.2 サブネットの作成

VCNの作成が完了すると、下記の様に作成したVCNのページが表示されるため、そのページ内にある「サブネットの作成」をクリックする。

 

サブネットの作成ダイアログが表示されるので、必要事項を入力していく。入力事項が多いので、画面も数分割して記載していく。

作成するサブネットの「名前」と、どこの「コンパートメントに作成」するかを選択する。「サブネット・タイプ」は推奨と記載されている「リージョナル」を選択する。

また、作成するサブネットに割り当てるIPv4アドレス帯を「IPv4 CIDR blocks」に入力する。

 

IPv6は使用しないため、設定は行わない。「ルート表コンパートメント」も今回はそのままとした。

「サブネット・アクセス」については、Oracle Base Database Serviceを使用する際に、インターネットにアクセスできるサブネットが必要になるため、「パブリック・サブネット」を選択する。また、DNS関連の設定項目は、今回はそのままとした。

 

DHCPオプション・コンパートメント」、「Security List Compartment」はそのままとした。「タグ付けオプションの表示」をクリックすることで、タグの設定ができるが、こちらも今回特に使用しないため設定せず、「サブネットの作成」をクリックする。

 

サブネットの作成が完了すると、VCNのページ内のサブネット一覧に、作成したサブネットが表示される。

 

2.3 インターネットゲートウェイの作成

Oracle Base Database Serviceを構築する際に、インターネットへのアクセスができないとエラーが発生するため、インターネットへ出られる様にするために、インターネットゲートウェイを作成する。

インターネットゲートウェイを作成するVCNのページから、左側にある「リソース」一覧から、「インターネット・ゲートウェイ」をクリックする。

 

インターネットゲートウェイの一覧が表示されるので、「インターネット・ゲートウェイの作成」をクリックする。

 

インターネットゲートウェイの作成ダイアログが表示されるので、作成するインターネットゲートウェイの「名前」を入力し、どこの「コンパートメントに作成」するか選択する。

「拡張オプションの表示」をクリックすると、インターネットゲートウェイと紐づけるルート表の選択ができるので、ここでルート表を選択すればよさそうだが、今回ここでは設定せず、インターネットゲートウェイ作成後に、改めて設定することとした(単にルート表への設定を別途したかっただけ)。

最後に「インターネット・ゲートウェイの作成」をクリックする。

 

2.4 インターネットゲートウェイのルート表への紐づけ

作成したインターネットゲートウェイを通過する様に、作成したサブネットに紐づいているルート表(所謂ルーティングテーブル)の設定を変更するため、VCNのページ右側にある「リソース」一覧から、「ルート表」をクリックする。

 

ルート表の一覧が表示されるので、Oracle Base Database Serviceを構成する際に使用するサブネットに紐づいたルート表の名前(下図では「Default Route Table for testvcn01」)をクリックする。

 

ルート表の編集ページに遷移するので、「ルート・ルールの追加」をクリックする。

 

「ルート・ルールの追加」ダイアログが表示されるので、「ターゲット・タイプ」を「インターネット・ゲートウェイ」に、デフォルトルートをインターネットゲートウェイにするため、「宛先CIDRブロック」を「0.0.0.0/0」を指定し、「ターゲット・インターネット・ゲートウェイ」に、先程作成したインターネットゲートウェイを指定する。これらを指定後に、「ルート・ルールの追加」をクリックする。

 

ルート表の編集ページに戻るので、「ルート・ルール」に先程追加したルールが表示されていることを確認する。

 

 

やっと終わった……スクリーンショットを貼り付けて手順を書くと長く見えますが、実際の作業はポチポチやっていくだけなので、15分もかからない程度の作業なので簡単です。

 

準備作業が終わったので、次回は本題のOracle Base Database Serviceの作成手順を紹介していきます。

 

 

前回の記事:IN句を含むSQLの実行計画を調べてみた