LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

サービス・製品 | 

OCI Database Managementで始める、クラウド時代のデータベース監視【設定編】

長年にわたり、オンプレミス環境でのOracle Databaseの監視には、Oracle Enterprise ManagerやZabbixなどのサードパーティーツールが使用されてきました。Oracle Cloud Infrastructure(以下、OCI)の登場により、クラウド上でOracle Databaseを使用する機会が増えましたが、データベースの監視や管理にはこれらの使い慣れたツールをそのまま使用しているシステムも多いのではないかと思います。

一方で、クラウドを利用する際には、データベースの監視にもクラウドのサービスを利用したいと考えている方もいるのではないでしょうか。OCIはそんなニーズに応えるべく、OCI Database Management(以下、Database Management)サービスを提供しています。

本記事ではOCIのデータベース監視サービスであるDatabase Managementの特徴、機能、使用方法について解説します。クラウド時代の新たなデータベース管理のかたちを、一緒に探求してみませんか?

なお、本投稿は【設定編】、【活用編】と題した前後編でお届けします。今回の設定編ではDatabase Managementサービスの概要と設定方法を紹介します。

Database Managementとは

Database Managementは、クラウドおよびオンプレミス上のデータベース監視および管理、パフォーマンス管理、チューニングを行うサービスです。クラウドサービスとして提供され、運用管理に必要な作業をコンソール上から行えるため、監視基盤の維持業務に煩わされることなく監視やチューニングなどの本質的な業務に専念できます。

機能概要

Database Managementで具体的にどのようなことができるのかを紹介します。

2つの管理オプション

Database Managementには「基本管理」と「完全管理」の2つのオプションがあり、それぞれ使用できる機能や価格に違いがあります。各オプションで使用可能な機能概要は以下の通りです。

機能 機能 基本管理 完全管理
フリート・サマリー
(専用コンソール)
- 専用コンソールを使用可能
モニタリングサービス
における追加のメトリック
一部のメトリックを使用可能 すべての追加メトリックを使用可能
パフォーマンス・ハブ ASH分析、SQLモニタリング、AWRレポート ADDM、ブロックしているセッションなどの拡張機能を含む全機能
チューニング機能 - SQLチューニング・アドバイザ、オプティマイザ統計アドバイザ
DB管理機能 - アラート・ログの表示、ユーザの表示、表領域、DBパラメータの監視などの管理機能
ダッシュボード 一部のダッシュボード機能を使用可能 すべての機能を使用可能
ジョブ機能 - 管理対象のDBに対しSQLジョブの作成と実行が可能

また、各オプションで管理可能なデータベース種別は以下のようになっています。

データベース 基本管理 完全管理
BaseDB
(CDBのみ)
ExaDB-D
(CDBのみ)
Autonomous DB
外部データベース
(オンプレミス、
他社クラウドなど)
×

なお、使用できる機能はデータベース種別やエディションによって異なりますので、詳細については公式ドキュメント※1を参照ください。また、本記事ではOracle Databaseにフォーカスしていますが、Database ManagementではMySQL HeatWaveも管理対象にできます。こちらについても詳しくは公式ドキュメントをご確認ください。

※1 データベース管理|Oracle Cloud Infrastructureドキュメント

価格

Database Managementはクラウド・データベースを使用する場合、「基本管理」であれば無料で使用できます。その他の場合の使用料金は以下の通りです。

対象データベース 単価 単位
クラウド・データベース ¥7.00 OCPU/時間
外部データベース ¥7.00 CPU/時間
外部データベース(BYOL) ¥3.50 CPU/時間
Autonomous Database(ECPU) ¥3.50 ECPU/時間

上記価格は2024年2月現在の情報となります。最新の情報は公式ページ※2やCloud Cost Estimator※3をご確認ください。

※2 Database Management Cloud | オラクル | Oracle 日本

※3 Cloud Cost Estimator | Oracle 日本

Database Managementの有効化

実際にOCI上のBaseDBを対象にDatabase Managementを有効化します。

前提となるリソース

Database Managementを有効化するには、以下のリソースをあらかじめ作成する必要があります。

  • データベースへの接続情報を保存するシークレットを格納するためのVault
  • サービスがデータベースに接続する際に使用するデータベースユーザのパスワードを格納するシークレット
  • サービスがデータベースに接続するためのプライベート・エンドポイント

なお、本検証ではすべてのリソースをDB_MGMT_TESTコンパートメントに作成しています。

Vaultおよびシークレット

まずシークレットを格納するためのVaultとマスター暗号化キーを作成します。

Vaultの項目 設定値
名前 myvault
Vaultの項目 設定値
名前 myvault
マスター暗号キーの項目 設定値
保護モード HSM
名前 mykey
アルゴリズム AES
キーの長さ 256ビット
マスター暗号キー
の項目
設定値
保護モード HSM
名前 mykey
アルゴリズム AES
キーの長さ 256ビット

Database Managementでは、指定したデータベースユーザを使用して情報を収集します。データベースへの接続に使用するパスワードはシークレットに保存する必要があるため、シークレットを作成します。

接続用のユーザは自分で一から作成できますが、本検証ではデータベース監視のための最低限の権限がデフォルトで付与されているDBSNMPユーザを使用することとしました。

シークレットの項目 設定値
名前 mysecret
暗号化キー mykey
シークレット・タイプ・テンプレート プレーン・テキスト
シークレット・コンテンツ <DBSNMPユーザのパスワード>
シークレットの項目 設定値
名前 mysecret
暗号化キー mykey
シークレット・タイプ・テンプレート プレーン・テキスト
シークレット・コンテンツ <DBSNMPユーザのパスワード>

管理対象データベース

項目 設定値
ストレージ構成 Oracle Grid Infrastructure
ノード数 1
ソフトウェア・エディション Enterprise Edition High Performance
データベース名 ORCL
データベース・バージョン 19.21
PDB名 PDB1、PDB2

プライベート・エンドポイント

Database ManagementとBaseDBの間で通信を行うには、BaseDBが所属するVCNにプライベート・エンドポイントを作成する必要があります。プライベート・エンドポイントは以下の手順で作成します。

OCIコンソールのナビゲーションメニューから「監視および管理」>「データベース管理」>「管理」を選択し、左側メニューの「プライベート・エンドポイント」をクリックします。「プライベート・エンドポイントの作成」をクリックし、必要事項を入力してプライベート・エンドポイントを作成します。

項目 設定値
名前 my_private_endpoint
VCN VCN1(BaseDBと同じVCNを選択)
サブネット SNT1
項目 設定値
名前 my_private_endpoint
VCN VCN1(BaseDBと同じVCNを選択)
サブネット SNT1

ポイントはBaseDBと同一VCNに作成することと、セキュリティ・リストまたはNSGに対してプライベート・エンドポイントからデータベース・リスナーへの接続(デフォルトではTCP、1521ポート)を許可するイングレス・ルールを追加することです。

以上が、Database Managementを使用するにあたり作成しておかなければならないリソースです。続いて、実際にDatabase Managementを有効化していきます。

Database Management有効化

DBSNMPユーザのアンロック

今回の検証で使用するDBSNMPユーザは、BaseDB作成時点ではロックされています。そのため、SQL*Plusなどを使用してデータベースに接続し、DBSNMPユーザをアンロックします。なお、DBSNMPユーザは共通ユーザのため、アンロックはCDB(ルートコンテナ)に接続して行います。

SQL> select username, account_status from dba_users where username ='DBSNMP';
 
USERNAME       ACCOUNT_STATUS
-------------------- --------------------------------
DBSNMP          LOCKED
 
SQL> alter user DBSNMP identified by "<DBSNMPパスワード>" account unlock;
 
User altered.
 
SQL> select username, account_status from dba_users where username ='DBSNMP';
 
USERNAME       ACCOUNT_STATUS
-------------------- --------------------------------
DBSNMP          OPEN

IAMポリシーの付与

DB Managementを有効化し、データベースを管理するために必要なIAMポリシーを確認します。

詳細は公式ドキュメントに記載があるので、それを参考に必要な権限の付与もできますが、コンソールから必要なポリシーを自動で生成できます。自動生成する場合はOCIコンソールのナビゲーションメニューから「監視および管理」>「データベース管理」>「概要」を選択し、「ポリシーの追加」をクリックします。

「データベース・フリートのパフォーマンス診断および管理」で「ポリシーの追加」をクリック

ポリシーの追加画面が表示されるので、以下の項目を入力して「生成」をクリックすると、「推奨ポリシー」として生成されるポリシーをプレビューできます。その後「ポリシーの生成」をクリックすると、「DBMgmt_User_Policy」という名前のポリシーが指定したコンパートメントに作成されます。

ポリシー・コンパートメント 自動生成されるポリシーを追加するコンパートメントを選択
ユーザー・グループ ポリシーを設定するグループを指定
アクセス 目的に合わせて「管理」または「読取り」を選択
データベース・コンパートメント 管理対象のデータベースが所属するコンパートメントを指定
「ポリシーの生成」の画面

「アクセス」の項目で「管理」を選択した場合、以下のステートメントがポリシーに含まれます。

「ステートメント」の画面

本検証では、上記自動生成ポリシーが設定されたDBMgmt-Groupグループに所属するテストユーザを使用することとします。

また、DB Managementサービスに対して、Vault内のシークレットの使用を許可するポリシーを別途作成する必要があります。

Allow service dpd to read secret-family in compartment DB_MGMT_TEST

Database Managementの有効化

OCIコンソールのナビゲーションメニューから、「監視および管理」>「データベース管理」>「管理」を選択し、「データベース管理の有効化」をクリックします。

「データベース管理の有効化」をクリック

初めに、「データベースの選択」パネルで「データベース・タイプ」を選択します。今回はBaseDBを管理対象とするので、「ベア・メタル、VM」を選択します。

その後、対象のDBシステムを選択すると以降の項目は自動入力されるためそのままで問題ありませんが、必要な場合は値を修正します。

なお、PDBも管理対象にできますが、そのためにはCDBにおいて、完全管理オプションでDB Managementを有効化する必要があるので、ここでは「プラガブル・データベース」のチェックボックスは空欄のままにしておきます。

「データベース管理の有効化」の「データベースの選択」で、タイプとシステムを選択

続いてデータベースへ接続するための資格証明、エンドポイント情報、管理オプションをそれぞれ指定します。データベース接続ユーザとしてDBSNMPを使用し、その他のリソースにはあらかじめ作成しておいたものを指定します。

管理オプションは「完全管理」とします。最後に「データベース管理の有効化」をクリックすると、Database Managementを有効化できます。

管理オプションで「完全管理」を選択

しばらくして有効化が完了すると、「管理対象データベース」にデータベース表示名がリストされます。

データベース表示名がリスト追加

有効化が完了したにもかかわらず「管理対象データベース」にデータベースがリストされない場合は、画面左下の「デプロイメント・タイプ」で「VM」が選択されているかを確認してみてください。

「デプロイメント・タイプ」で「VM」が選択されている状態

さらにPDBに対しても、先ほどの手順でスキップした「プラガブル・データベース」にチェックを入れると、Database Managementを有効化できます。

「プラガブル・データベース」にチェックを入れる
データベース表示名の一覧画面

ネットワークエラーで有効化に失敗した場合は、プライベート・エンドポイントからデータベース・リスナーへの接続が許可されているかどうかを確認してみてください。

以上で、OCI上のBaseDBに対してDatabase Managementを有効化できました。

フリート・サマリーの確認

最後に、専用のコンソールであるフリート・サマリーを確認します。フリート・サマリーページは、OCIコンソールのナビゲーションメニューから「監視および管理」>「データベース管理」>「Oracle Database」を選択すると表示できます。

フリート・サマリーでは、各データベースのリソース使用状況やオープンしているメトリック・アラーム、DB時間、CPUなどのパフォーマンス情報を確認できます。

フリート・サマリーの画面

さいごに

今回の記事では、OCI Database Managementサービスの概要と設定方法を紹介しました。実際に使用してみることでその真価をより深く理解できると思いますので、ぜひ試してみてください。

後編となる【活用編】では、Database Managementが提供する様々な機能を紹介します。こちらもぜひお楽しみに。

この記事は役に立ちましたか?

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • OCI Database Managementで始める、クラウド時代のデータベース監視【活用編】

  • DBSATを使ってOCI Oracle ベース・データベースのセキュリティを診断してみよう!

  • オンプレミスからクラウドまで、Oracle Data Safeでデータベースセキュリティ対策の可視化と自動化を実現