メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

Amazon RDS のモニタリング

モニタリングは、Amazon RDS と AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な部分です。マルチポイント障害が発生した場合は、その障害をより簡単にデバッグできるように、AWS ソリューションのすべての部分からモニタリングデータを収集する必要があります。Amazon RDS のモニタリングを開始する前に、以下の質問に対する回答を反映したモニタリング計画を作成することをお勧めします。

  • どのような目的でモニタリングしますか?

  • モニタリングの対象となるリソースとは ?

  • どのくらいの頻度でこれらのリソースをモニタリングしますか?

  • 使用するモニタリングツールは?

  • 誰がモニタリングタスクを実行しますか?

  • 誰が問題が発生したときに通知を受け取りますか?

次のステップは、さまざまなタイミングと負荷条件でパフォーマンスを測定することにより、お客様の環境で通常の Amazon RDS パフォーマンスのベースラインを確定することです。Amazon RDS を監視するには、モニタリングデータの履歴を保存することを検討します。保存データを、最新のパフォーマンスデータと比較するベースラインとして使用し、通常のパフォーマンスのパターンやパフォーマンスの異常を検出して、問題への対応を検討することができます。

たとえば、Amazon RDS を使って、DB インスタンスについてのネットワークのスループット、読み書きやメタデータオペレーションの I/O、クライアント接続、バーストのクレジットバランスなどをモニタリングできます。パフォーマンスが確立されたベースラインから外れた場合、DB インスタンスのインスタンスクラスまたは DB インスタンスとクライアントが利用可能なリードレプリカの数を変更して、ワークロードのためのデータベースの可用性を最適化する必要がある場合があります。

一般的に、パフォーマンスメトリクスの許容値は、ベースラインがどのようになっているか、アプリケーションによって何が実行されているかによって異なります。ベースラインからの一貫した差異またはトレンドになっている差異を調べます。メトリクスのタイプごとのアドバイスは以下のとおりです。

  • CPU または RAM の高消費量 – CPU または RAM の消費量が大きい値になっていても、それは妥当である場合があります。ただし、アプリケーションの目標 (スループット、同時実行数など) に沿った想定値であることが前提です。

  • ディスクスペースの消費量 – 使用されているディスクスペースが一貫して合計ディスクスペースの 85% 以上である場合は、ディスクスペースの消費量を調べます。インスタンスからデータを削除するか、別のシステムにデータをアーカイブして、スペースを解放できるかどうかを確認します。

  • Network traffic – ネットワークトラフィックについてシステム管理者に問い合わせて、ドメインネットワークとインターネット接続に対する想定スループットを把握します。スループットが一貫して想定よりも低い場合は、ネットワークトラフィックを調べます。

  • データベース接続数 – ユーザー接続数が多いことが、インスタンスのパフォーマンスが下がっていること、応答時間が長くなっていることに関連しているとわかった場合、データベース接続数を制限することを検討します。DB インスタンスの最適なユーザー接続数は、インスタンスのクラスと実行中のオペレーションの複雑さによって異なります。User Connections パラメータを 0 (無制限) 以外の値に設定したパラメータグループと DB インスタンスを関連付けることで、データベース接続数を決めることができます。既存のパラメータグループを使用するか、新しいパラメータグループを作成できます。詳細については、「DB パラメータグループを使用する」を参照してください。

  • IOPS メトリクス – IOPS メトリクスの想定値はディスクの仕様とサーバーの設定によって異なるため、ベースラインを使用して一般的な値を把握します。値とベースラインとの差が一貫しているかどうかを調べます。最適な IOPS パフォーマンスを得るには、読み取りおよび書き込みオペレーションが最小限になるように、一般的な作業セットがメモリに収まることを確認してください。

モニタリングツール

AWS では、Amazon RDS のモニタリングに使用できるさまざまなツールを提供しています。これらのツールの中には、自動モニタリングを設定できるものもあれば、手操作を必要とするものもあります。モニタリングタスクをできるだけ自動化することをお勧めします。

自動モニタリングツール

以下に示す自動化されたモニタリングツールを使用すると、Amazon RDS がモニタリングされ、問題が検出されたときにレポートされます。

  • [Amazon CloudWatch Alarms] – 指定された期間にわたって単一のメトリクスを監視し、複数の期間にわたり既定のしきい値に関連するメトリクス値に基づいて 1 つ以上のアクションを実行します。アクションは、Amazon Simple Notification Service (Amazon SNS) トピックまたは Auto Scaling ポリシーに送信される通知です。CloudWatch アラームはそれが特定の状態にあるという理由だけではアクションを呼び出しません。アクションを呼び出すには、状態が変更され、その状態が特定の期間にわたって維持されている必要があります。詳細については、「Amazon CloudWatch でのモニタリング」を参照してください。

  • [Amazon CloudWatch Logs] – AWS CloudTrail またはその他のソースのログファイルの監視、保存、アクセスができます。詳細については、Amazon CloudWatch ユーザーガイドの「ログファイルのモニタリング」を参照してください。

    Amazon RDS 拡張モニタリングは、DB インスタンスまたは DB クラスターが実行されているオペレーティングシステムについてのリアルタイムのメトリクスを提供します。詳細については、「拡張モニタリング」を参照してください。

  • [Amazon CloudWatch Events] – イベントに一致し、1 つ以上のターゲット関数またはストリームにルーティングして変更を行い、状態情報を取得して、修正作業を行います。詳細については、Amazon CloudWatch ユーザーガイドの「イベントの使用」を参照してください。

  • [AWS CloudTrail Log Monitoring] – アカウント間でログファイルを共有し、CloudWatch Logs に送信してリアルタイムで CloudTrail ログファイルを監視し、Java でログを処理するアプリケーションを記述して、CloudTrail によって配信後にログファイルが変更されていないことを確認します。詳細については、AWS CloudTrail User Guideの「CloudTrail ログファイルを使用する」を参照してください。

    Amazon RDS で AWS CloudTrail ログモニタリングを使用する詳細については、「AWS CloudTrail を使用して Amazon RDS API 呼び出しのログを記録する」を参照してください。

  • Amazon RDS イベント – Amazon RDS イベントにサブスクライブして、DB インスタンス、DB クラスター、DB スナップショット、DB クラスタースナップショット、DB パラメータグループ、DB セキュリティグループに変更が発生した場合に通知を受け取ります。詳細については、「Amazon RDS イベント通知の使用」を参照してください。

  • データベースのログファイル – Amazon RDS コンソールまたは Amazon RDS API を使用して、データベースのログファイルの表示、ダウンロード、監視を行います。データベーステーブルに読み込まれているデータベースログファイルに対してクエリを実行することもできます。詳細については、「Amazon RDS データベースログファイル」を参照してください。

手動モニタリングツール

Amazon RDS のモニタリングにおけるもう 1 つの重要な部分は、CloudWatch アラームで網羅されていない項目を手動でモニタリングすることです。Amazon RDS、CloudWatch、AWS Trusted Advisor、その他の AWS コンソールのダッシュボードには、AWS 環境の状態が一目でわかるビューが表示されます。DB instance のログファイルを確認することもお勧めします。

  • Amazon RDS コンソールから、リソースについて以下の項目をモニタリングできます。

    • DB インスタンスへの接続の数

    • DB インスタンスへの読み書きオペレーションの量

    • DB インスタンスが現在利用しているストレージの量

    • DB インスタンスのために利用されるメモリおよび CPU の量

    • DB インスタンスとの間で送受信されるネットワークトラフィックの量

  • AWS Trusted Advisor ダッシュボードから、以下のコスト最適化、セキュリティ、対障害性、パフォーマンス向上のチェックを確認できます。

    • Amazon RDS アイドル DB インスタンス

    • Amazon RDS セキュリティグループのアクセスリスク

    • Amazon RDS バックアップ

    • Amazon RDS Multi-AZ

    • Amazon Aurora DB インスタンスアクセシビリティ

    これらのチェックの詳細については、「Trusted Advisor のベストプラクティス (チェック)」を参照してください。

  • CloudWatch ホーム ページは以下のように表示されます。

    • 現在のアラームとステータス

    • アラームとリソースのグラフ

    • サービス状態ステータス

    さらに、CloudWatch を使用して次のことが行えます。

    • 重視するサービスをモニタリングするためのカスタマイズしたダッシュボードを作成する

    • メトリクスデータをグラフ化して、問題のトラブルシューティングを行い、傾向を確認する

    • AWS リソースのすべてのメトリクスを検索して、参照する

    • 問題があることを通知するアラームを作成/編集する

Amazon CloudWatch でのモニタリング

CloudWatch を使用して DB instance をモニタリングすることで、Amazon RDS から未加工データを収集し、リアルタイムに近い読み取り可能なメトリクスに加工することができます。これらの統計は 2 週間記録されるため、履歴情報にアクセスしてウェブアプリケーションまたはサービスの動作をより的確に把握することができます。デフォルトでは、Amazon RDS メトリクスデータは 1 分間隔で Amazon CloudWatch に自動的に送信されます。Amazon CloudWatch の詳細については、「Amazon CloudWatch、Amazon CloudWatch Events、Amazon CloudWatch Logs とは」 (Amazon CloudWatch ユーザーガイド) を参照してください。

Amazon RDS のメトリクスとディメンション

Amazon RDS リソースを使用する場合、Amazon RDS はメトリクスとディメンションを Amazon CloudWatch に毎分送信します。以下の手順を使用して、Amazon RDS のメトリクスを表示できます。

To view metrics using the Amazon CloudWatch console

Metrics are grouped first by the service namespace, and then by the various dimension combinations within each namespace.

  1. https://console.aws.amazon.com/cloudwatch/にある CloudWatch コンソールを開きます。

  2. If necessary, change the region. From the navigation bar, select the region where your AWS resources reside. For more information, see Regions and Endpoints.

  3. In the navigation pane, choose Metrics. Choose the RDS metric namespace.

    
                        Choose metric namespace
  4. Select a metric dimension, for example, By Database Class.

    
                        Choose metric dimension
  5. To sort the metrics, use the column heading. To graph a metric, select the check box next to the metric. To filter by resource, choose the resource ID and then choose Add to search. To filter by metric, choose the metric name and then choose Add to search.

    
                          Filter metrics

To view metrics using the AWS CLI

  • At a command prompt, use the following command:

    Copy
    aws cloudwatch list-metrics --namespace AWS/RDS

Amazon RDS メトリクス

AWS/RDS 名前空間には、次のメトリクスが含まれます。

メトリクス 説明
BinLogDiskUsage

マスターでバイナリログが占有するディスク領域の量。MySQL リードレプリカに適用されます。

単位: バイト

BurstBalance

汎用 SSD (gp2) のバーストバケット I/O クレジットの利用可能パーセント。

単位: パーセント

CPUUtilization

CPU 使用率。

単位: パーセント

CPUCreditUsage

[T2 インスタンス] インスタンスによって消費される CPU クレジットの数。1 つの CPU クレジットは、1 個の vCPU が 100% の使用率で 1 分間実行されること、または、vCPU、使用率、時間の同等の組み合わせ (たとえば、1 個の vCPU が 50% の使用率で 2 分間実行されるか、2 個の vCPU が 25% の使用率で 2 分間実行される) に相当します。

CPU クレジットメトリクスは、5 分間隔でのみ利用可能です。5 分を超える期間を指定する場合は、Average 統計の代わりに Sum 統計を使用します。

単位: Count

CPUCreditBalance

[T2 インスタンス] インスタンスがそのベース CPU 使用率を超えてバーストするために使用できる CPU クレジットの数。クレジットは、獲得後にクレジットバランスに保存され、期限切れになるとクレジットバランスから削除されます。クレジットは獲得してから 24 時間後に期限切れになります。

CPU クレジットメトリクスは、5 分間隔でのみ利用可能です。

単位: Count

DatabaseConnections

使用中のデータベース接続の数。

単位: Count

DiskQueueDepth

未処理のディスク I/O アクセス (読み取り/書き込みリクエスト) の数。

単位: Count

FreeableMemory

使用可能な RAM の容量。

単位: バイト

FreeStorageSpace

使用可能なストレージ領域の容量。

単位: バイト

ReplicaLag

ソース DB インスタンスからリードレプリカ DB インスタンスまでのラグ。MySQL、MariaDB、PostgreSQL リードレプリカに適用。

単位: Seconds

SwapUsage

DB インスタンスで使用するスワップ領域の量。

単位: バイト

ReadIOPS

1 秒あたりのディスク I/O 操作の平均回数。

単位: Count/Second

WriteIOPS

1 秒あたりのディスク I/O 操作の平均回数。

単位: Count/Second

ReadLatency

1 回のディスク I/O 操作にかかる平均時間。

単位: Seconds

WriteLatency

1 回のディスク I/O 操作にかかる平均時間。

単位: Seconds

ReadThroughput

1 秒あたりのディスクからの平均読み取りバイト数。

単位: バイト/Second

WriteThroughput

1 秒あたりのディスクへの平均書き込みバイト数。

単位: バイト/Second

NetworkReceiveThroughput

モニタリングとレプリケーションに使用する顧客データベーストラフィックと Amazon RDS トラフィックの両方を含む、DB インスタンスの受信ネットワークトラフィック。

単位: バイト/秒

NetworkTransmitThroughput

モニタリングとレプリケーションに使用する顧客データベーストラフィックと Amazon RDS トラフィックの両方を含む、DB インスタンスの送信ネットワークトラフィック。

単位: バイト/秒

Amazon RDS ディメンション

Amazon RDS メトリクスデータは、次の表のいずれかのディメンションを使用してフィルタリングできます。

ディメンション

説明

DBInstanceIdentifier

このディメンションを指定すると、リクエストしたデータをフィルタリングして、特定の DB インスタンスを抽出することができます。

DBClusterIdentifier

このディメンションでは、特定の Amazon Aurora DB クラスターからリクエストしたデータをフィルタリングします。

DBClusterIdentifier, Role

このディメンションは、特定の Amazon Aurora DB クラスターに対してリクエストするデータをフィルタし、インスタンスロール (WRITER/READER) 別にメトリクスを集計します。たとえば、クラスターに属するすべての READER インスタンスのメトリクスを集計できます。

DatabaseClass

このディメンションを指定すると、リクエストしたデータをフィルタリングして、特定のデータベースクラスに属する全インスタンスを抽出することができます。たとえば、メトリクスを組み合わせて、db.m1.small というデータベースクラスに属する全インスタンスを抽出することができます。

EngineName

このディメンションを指定すると、リクエストしたデータをフィルタリングして、特定のエンジン名を有するインスタンスだけを抽出することができます。たとえば、メトリクスを組み合わせて、mysql というエンジン名を有する全インスタンスを抽出することができます。

Amazon RDS をモニタリングする CloudWatch アラームの作成

CloudWatch アラームを作成できます。これは、アラームの状態が変わったときに Amazon SNS メッセージを送信します。アラームは、指定期間にわたって単一のメトリクスを監視し、その値と複数期間に対するしきい値との比較結果に基づいて 1 つ以上のアクションを実行します。アクションは、Amazon SNS トピックまたは Auto Scaling ポリシーに送信される通知です。

アラームは、持続している状態変化に対してのみアクションを呼び出します。CloudWatch アラームは、単に特定の状態にあるというだけでアクションを呼び出すわけではありません。状態が変わり、それが指定した数の期間にわたって持続している必要があります。次の手順は、Amazon RDS のアラームを作成する方法を示しています。

To set alarms using the CloudWatch console

  1. AWS マネジメントコンソール にサインインした後、 https://console.aws.amazon.com/cloudwatch/にある CloudWatch コンソールを開きます。

  2. Choose Alarms and then choose Create Alarm. This launches the Create Alarm Wizard.

  3. Choose RDS Metrics and scroll through the Amazon RDS metrics to locate the metric you want to place an alarm on. To display just the Amazon RDS metrics in this dialog box, search for the identifier of your resource. Select the metric to create an alarm on and then choose Next.

  4. Fill in the Name, Description, Whenever values for the metric.

  5. If you want CloudWatch to send you an email when the alarm state is reached, in the Whenever this alarm: field, choose State is ALARM. In the Send notification to: field, choose an existing SNS topic. If you select Create topic, you can set the name and email addresses for a new email subscription list. This list is saved and appears in the field for future alarms.

    注記

    If you use Create topic to create a new Amazon SNS topic, the email addresses must be verified before they receive notifications. Emails are only sent when the alarm enters an alarm state. If this alarm state change happens before the email addresses are verified, they do not receive a notification.

  6. At this point, the Alarm Preview area gives you a chance to preview the alarm you’re about to create. Choose Create Alarm.

To set an alarm using the AWS CLI

To set an alarm using the CloudWatch API

DB インスタンスのメトリクスの表示

Amazon RDS には、DB インスタンスと DB クラスターの状態をモニタリングするためのメトリクスが用意されています。DB インスタンスとオペレーティングシステム (OS) の両方のメトリクスをモニタリングできます。

このセクションでは RDS コンソールと CloudWatch を使用して DB インスタンスのメトリクスを表示する方法の詳細について説明しています。CloudWatch Logs を使用して DB インスタンスのオペレーティングシステムのメトリクスをリアルタイムでモニタリングする方法の詳細については、「拡張モニタリング」を参照してください。

コンソールを使用したメトリクスの表示

To view DB and OS metrics for a DB instance

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. In the navigation pane, choose DB Instances.

  3. Select the check box to the left of the DB cluster you need information about. For Show Monitoring, choose the option for how you want to view your metrics from these:

    • Show Multi-Graph View – Shows a summary of DB instance metrics available from Amazon CloudWatch. Each metric includes a graph showing the metric monitored over a specific time span.

    • Show Single Graph View – Shows a single metric at a time with more detail. Each metric includes a graph showing the metric monitored over a specific time span.

    • Show Latest Metrics View – Shows a summary of DB instance metrics without graphs. Full Monitoring View includes an option for full-screen viewing.

    • Enhanced Monitoring – Shows a summary of OS metrics available for a DB instance with Enhanced Monitoring enabled. Each metric includes a graph showing the metric monitored over a specific time span.

    
                                    RDS metrics viewing options

    ヒント

    To select the time range of the metrics represented by the graphs, use Time Range.

    You can choose any graph to bring up a more detailed view of the graph, using which you can apply metric-specific filters to the metric data.

    Time Range is not available for the Enhanced Monitoring Dashboard.

DB インスタンスメトリクス

Amazon RDS は CloudWatch メトリクスと統合されて、さまざまな DB インスタンスメトリクスが用意されています。CloudWatch のメトリクスは、RDS コンソール、AWS CLI、または API を使用して表示できます。

Amazon RDS メトリクスの完全なリストについては、Amazon CloudWatch ユーザーガイド の「Amazon RDS ディメンションとメトリクス」を参照してください。

CloudWatch CLI を使用した DB メトリクスの表示

注記

次の CLI の例には、コマンドラインツール CloudWatch が必要です。CloudWatch の詳細についてと開発者ツールのダウンロードについては、Amazon CloudWatch 製品ページを参照してください。この例に使用されている StartTime および EndTime の値は、例示を目的としています。DB インスタンスの適切な開始時間と終了時間の値に置き換える必要があります。

DB インスタンスの使用状況およびパフォーマンス統計情報を表示するには

  • Use the CloudWatch command mon-get-stats with the following parameters:

    Copy
    PROMPT>mon-get-stats FreeStorageSpace --dimensions="DBInstanceIdentifier=mydbinstance" --statistics= Average --namespace="AWS/RDS" --start-time 2009-10-16T00:00:00 --end-time 2009-10-16T00:02:00

CloudWatch API を使用した DB メトリクスの表示

この例に使用されている StartTime および EndTime の値は、例示を目的としています。DB インスタンスの適切な開始時間と終了時間の値に置き換える必要があります。

DB インスタンスの使用状況およびパフォーマンス統計情報を表示するには

  • Call the CloudWatch API GetMetricStatistics with the following parameters:

    • Statistics.member.1 = Average

    • Namespace = AWS/RDS

    • StartTime = 2009-10-16T00:00:00

    • EndTime = 2009-10-16T00:02:00

    • Period = 60

    • MeasureName = FreeStorageSpace

    Copy
    http://monitoring.amazonaws.com/ ?SignatureVersion=2 &Action=GetMetricStatistics &Version=2009-05-15 &StartTime=2009-10-16T00:00:00 &EndTime=2009-10-16T00:02:00 &Period=60 &Statistics.member.1=Average &Dimensions.member.1="DBInstanceIdentifier=mydbinstance" &Namespace=AWS/RDS &MeasureName=FreeStorageSpace &Timestamp=2009-10-15T17%3A48%3A21.746Z &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

関連トピック