「RDBMS in the Cloud: Oracle Database on AWS」を読んでみたメモ (6) 〜モニタリングおよび管理〜

cloudpackエバンジェリストの吉田真吾@yoshidashingo)です。


AWS クラウドコンピューティング ホワイトペーパー に、AWS で Oracle Database を利用する際のホワイトペーパー「RDBMS in the Cloud: Oracle Database on AWS」が掲載されたので、読んでみました。

第6章は「Monitoring and Management 」
非常に簡単な内容になってます。

Monitoring and Management

Amazon RDS と Amazon EC2 は複数の監視および管理ツールを提供している

Amazon RDS のモニタリング

Amazon CloudWatch はさまざまな Amazon RDS 固有のメトリクスを収集する。これらのメトリクスはAWS Management Console内のGUIや、コマンドライン(mon-get-statsコマンドを使う)やAPIから見ることが出来る。Amazon EC2インスタンスで収集したシステムレベルのメトリクス(CPU使用率やディスク、ネットワークI/O)にくわえて、Amazon RDSのメトリクスにはたくさんのデータベース特有のメトリクス(データベース接続数、空きストレージ容量、読み書きのIOPS、読み書きのレイテンシ、読み書きのスループット、使用可能メモリ)が含まれる。Amazon RDSのメトリクスの完全な一覧が以下のCloudWatchのドキュメントを参照されたい:
http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html#rds-metricscollected
また、Amazon RDS モニタリングガイドというのも書いたので、以下を参照のこと:
http://aws.amazon.com/articles/2934

くわえて、AWS Management Console やAPIを用いて Oracle Enterprise Manager 11g Database Control (OEM) を有効化して利用することも可能だ。たとえば、OEMのデフォルトのポート1158を選んだ場合(およびSecurity Groupでこのトラフィックがファイアウォールを通過できるようにすれば)、OEMに https://:1158/em でアクセスしデータベースを管理およびモニタリングできるようになる。

Amazon RDS上のデータベース管理

セキュアで安定したデータベース管理を行うために、Amazon RDSではシェルベースによるOracleインスタンスへのアクセスを提供していない。create user,rename user,grant,revokeやset passwordといったOracleコマンドはAmazon EC2(やオンプレミス)のデータベースでのみ利用できる。マスターユーザーはDBAロールを持っている。一つの違いはマスターユーザーがAmazon RDSでは以下の操作ができないという点である:

  • Alter database
  • Alter system
  • Create any directory
  • Drop any directory
  • Grant the “any privilege” privilege (マスターユーザーは“any privilege”の権限はgrantできる)
  • Grant any role

そのかわり、Amazon RDS は高度な権限を要する共通DBAタスクをラッパーしたプロシージャ関数を提供している:

  • データベースのタイムゾーン設定
  • テーブルスペース管理
  • 共有プールやバッファキャッシュのフラッシュ
  • オンラインログファイルのスイッチ
  • データベースのチェックポイント
  • REDOログの管理
  • アラートログやリスナーログへのアクセス
  • トレースファイルの管理
  • セッションの切断

Amazon RDSで使える管理コマンドの全一覧は以下のAmazon RDSのドキュメントを参照されたい:
http://docs.amazonwebservices.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html

Amazon EC2 上のデータベースのモニタリングと管理

Oracleは複数のモニタリングツールを提供している。Oracle Enterprise Manager Database Control を使ってデータベースを個別にモニタリングおよび管理できる。Amazon EC2上で稼働するデータベースをまとめて管理するために Oracle
Enterprise Manager Grid Control が使える。両ツールは切迫したデータベースの問題をタイムリーに検出し通知することができる。Diagnostics PackやTuning packを使うと、データベースのさまざまな問題(セッションのハングやクエリのロングラン)の根本原因を特定するだけでなく、パフォーマンスを最適化し、チューニングに関する推奨事項を取得することができる。

Amazon CloudWatch は Amazon EC2やEBSボリュームそれぞれの CPU、ディスク、ネットワークの詳細な使用率のメトリクスを提供し、詳細なレポートや管理に使えるサービスである。データはWebベースのAWS Management Consoleからだけでなく、API経由でも取得可能だ。これにより可用性や負荷のメトリクスに応じたインフラの自動化やオーケストレーションが可能である。

くわえて、オープンソースのモニタリングツールであるNagiosやZabbixといったOracleのモニタリングが可能なサードパーティ製のモニタリングツールも利用可能であり、それらを Amazon EC2 上に実装してOracleデータベースを含む全てのAWS環境をモニタリングすることも可能である。

Amazon EC2 上のOracleデータベースの管理はオンプレミスのデータベース管理と同等である。管理者タスクの実行のために Oracle Enterprise Manager やコマンドラインツールを使用することができる。