Amazon DocumentDB サーバーレスのモニタリング - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon DocumentDB サーバーレスのモニタリング

Amazon DocumentDB でのモニタリングの詳細については、「」を参照してくださいAmazon DocumentDB のモニタリング

メモリ不足: incompatible-parameters ステータス

サーバーレスインスタンスの 1 つが最大容量の制限に一貫して達する場合、Amazon DocumentDB はインスタンスを互換性のないパラメータのステータスに設定することで、この条件を示します。詳細については、「メモリ不足エラーを回避する」を参照してください。

DocumentDB サーバーレスの Amazon CloudWatch メトリクス

Amazon DocumentDB での CloudWatch の使用の詳細については、「」を参照してくださいAmazon DocumentDB と CloudWatch のモニタリング

CloudWatch でサーバーレスインスタンスを表示して、 ServerlessDatabaseCapacityメトリクスを使用して各インスタンスが消費する容量をモニタリングできます。また、 DatabaseConnectionsや クエリなど、標準の DocumentDB CloudWatch メトリクスをすべてモニタリングすることもできます。Amazon DocumentDB でモニタリングできる CloudWatch メトリクスの完全なリストについては、「」を参照してくださいAmazon DocumentDB と CloudWatch のモニタリング。以下の CloudWatch インスタンスレベルのメトリクスは、DocumentDB サーバーレスインスタンスのスケールアップとスケールダウンの方法を理解するためにモニタリングすることが重要です。これらすべてのメトリクスは 1 秒ごとに計算されます。これにより、サーバーレスインスタンスの現在のステータスをモニタリングできます。サーバーレスインスタンスが容量に関連するメトリクスのしきい値に近づいた場合に通知するようにアラームを設定できます。最小容量と最大容量設定は適切か、調整が必要かを判断できます。データベースの効率を最適化するため、どこに注力すべきかを判断できます。

  • ServerlessDatabaseCapacity — インスタンスレベルのメトリクスとして、現在のインスタンス容量で表DCUs の数を報告します。クラスターレベルのメトリクスとして、クラスター内のすべての DocumentDB サーバーレスインスタンスServerlessDatabaseCapacityの値の平均を表します。

  • DCUUtilization. — このメトリクスは DocumentDB サーバーレスでは新しいものです。この値は割合 (%) で表されます。これは、ServerlessDatabaseCapacityメトリクスの値をクラスターの最大 DCU 値で割ったものとして計算されます。このメトリクスを解釈してアクションを実行するには、以下のガイドラインを考慮してください。

    • このメトリクスが の値に近づくと100.0、インスタンスは可能な限り大きくスケールアップされています。クラスターの最大 DCU 設定を増やすことを検討してください。これにより、ライターインスタンスとリーダーインスタンスの両方をより高い容量にスケールできます。

    • 読み取り専用ワークロードによってリーダーインスタンスが DCUUtilizationの に近づき100.0、ライターインスタンスが最大容量に近づかないとします。この場合、クラスターにリーダーインスタンスを追加することを検討してください。これにより、ワークロードの読み取り専用部分をより多くのインスタンスに分散し、各リーダーインスタンスの負荷を軽減できます。

    • パフォーマンスとスケーラビリティが主な考慮事項である本番アプリケーションを実行しているとします。この場合、クラスターの最大 DCU 値を高い数値に設定できます。目標は、DCUUtilizationメトリクスを常に 100.0 未満にすることです。最大 DCU 値が高いため、データベースアクティビティに予期しないスパイクが発生した場合に備えて、十分な余裕があることを確信できます。実際に消費されたデータベース容量に対してのみ課金されます。

  • CPUUtilization — このメトリクスは、プロビジョニングされたインスタンスとは異なり、DocumentDB サーバーレスで解釈されます。DocumentDB サーバーレスの場合、この値は、現在使用されている CPU の量として計算され、クラスターの最大 DCU 値で使用可能な CPU 容量で割られたパーセンテージです。Amazon DocumentDB は、この値を自動的にモニタリングし、インスタンスが CPU 容量の大部分を一貫して使用している場合にサーバーレスインスタンスをスケールアップします。

    このメトリクスが の値に近づくと100.0、インスタンスは最大 CPU 容量に達します。クラスターの最大 DCU 設定を増やすことを検討してください。このメトリクスがリーダーインスタンス100.0の の値に近づいた場合は、クラスターにリーダーインスタンスを追加することを検討してください。これにより、ワークロードの読み取り専用部分をより多くのインスタンスに分散させ、各リーダーインスタンスの負荷を軽減できます。

  • FreeableMemory — この値は、DocumentDB サーバーレスインスタンスが最大容量にスケールされたときに使用可能な未使用のメモリの量を表します。現在の容量が最大容量を下回っている DCU ごとに、この値は約 2 GiB 増加します。したがって、インスタンスができるだけ大きくスケールアップされるまで、このメトリクスはゼロに近づきません。

    このメトリクスがゼロに近づくと、インスタンスは可能な限りスケールアップし、使用可能なメモリの制限に近づいています。クラスターの最大 DCU 設定を増やすことを検討してください。このメトリクスがリーダーインスタンスで 0 の値に近づいた場合は、クラスターにリーダーインスタンスを追加することを検討してください。これにより、ワークロードの読み取り専用部分をより多くのインスタンスに分散できるため、各リーダーインスタンスのメモリ使用量を減らすことができます。

  • TempStorageIops — インスタンスにアタッチされたローカルストレージで実行された IOPS の数。これには、読み取りと書き込みの両方の IOPS が含まれます。このメトリクスはカウントを表し、1 秒に 1 回測定されます。これは DocumentDB サーバーレスの新しいメトリクスです。詳細については、「Amazon DocumentDB と CloudWatch のモニタリング」を参照してください。

  • TempStorageThroughput — インスタンスに関連付けられたローカルストレージとの間で転送されるデータの量。このメトリクスはバイトを表し、1 秒に 1 回測定されます。これは DocumentDB サーバーレスの新しいメトリクスです。詳細については、「Amazon DocumentDB と CloudWatch のモニタリング」を参照してください。

通常、DocumentDB サーバーレスインスタンスのほとんどのスケールアップは、メモリ使用量と CPU アクティビティが原因です。TempStorageIops および TempStorageThroughputメトリクスは、インスタンスとローカルストレージデバイス間の転送のためのネットワークアクティビティが予期しない容量の増加の原因となるまれなケースを診断するのに役立ちます。他のネットワークアクティビティを監視するには、以下の既存のメトリクスを使用できます。

  • NetworkReceiveThroughput

  • NetworkThroughput

  • NetworkTransmitThroughput

  • StorageNetworkReceiveThroughput

  • StorageNetworkThroughput

  • StorageNetworkTransmitThroughput

DocumentDB サーバーレス CloudWatch メトリクスが AWS 請求書にどのように適用されるか

AWS 請求書の DocumentDB サーバーレス料金は、モニタリングできるのと同じServerlessDatabaseCapacityメトリクスに基づいて計算されます。請求メカニズムは、DocumentDB サーバーレス容量を 1 時間の一部のみ使用する場合、このメトリクスの計算された CloudWatch 平均とは異なることがあります。また、システムの問題で、短時間 CloudWatch メトリクスが利用できない場合にも異なる場合があります。したがって、ServerlessDatabaseCapacity平均値から数値を計算した場合とは少し異なる DCU 時間の値が請求書に表示されることがあります。

DocumentDB サーバーレスメトリクスの Amazon CloudWatch CLI コマンドの例

次の AWS CLI 例は、DocumentDB サーバーレスに関連する最も重要な CloudWatch メトリクスをモニタリングする方法を示しています。いずれの場合も、 --dimensionsパラメータのValue=文字列を独自の DocumentDB サーバーレスインスタンスの識別子に置き換えます。

次の Linux の例では、1 時間にわたって 10 分ごとに測定される、インスタンスの最小容量値、最大容量値、平均容量値を表示します。Linux の日付コマンドは、現在の日付と時刻に関連する開始時刻と終了時刻を指定します。--query パラメータの sort_by 関数は、Timestamp のフィールドに基づいて結果を時系列でソートします。

aws cloudwatch get-metric-statistics \ --metric-name "ServerlessDatabaseCapacity" \ --start-time "$(date -d '1 hour ago')" \ --end-time "$(date -d 'now')" \ --period 600 \ --namespace "AWS/DocDB" \ --statistics Minimum Maximum Average \ --dimensions Name=DBInstanceIdentifier,Value=my_instance \ --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \ --output table

次の Linux の例は、クラスター内のインスタンスの容量をモニタリングする方法を示しています。インスタンスの最小容量使用率、最大容量使用率、平均容量使用率を測定します。測定は、1 時間に 1 回、3 時間にわたって行います。これらの例では、固定数の DCUs を表すのではなく、DCUs の上限の割合ServerlessDatabaseCapacityを表す DCUUtilizationメトリクスを使用します。これにより、容量範囲内の最小および最大 DCU 値の実際の数値を知る必要はありません。割合は 0 から 100 までの範囲で表示できます。

aws cloudwatch get-metric-statistics \ --metric-name "DCUUtilization" \ --start-time "$(date -d '3 hours ago')" \ --end-time "$(date -d 'now')" \ --period 3600 \ --namespace "AWS/DocDB" \ --statistics Minimum Maximum Average \ --dimensions Name=DBInstanceIdentifier,Value=my_instance \ --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \ --output table

以下の Linux の例では、前のものと同様の測定を実行します。この場合は、CPUUtilization のメトリクスのための測定になります。測定は、1 時間で 10 分ごとに行われます。数値は、インスタンスの最大容量設定に使用できる CPU リソースに基づいて、使用可能な CPU の割合を表します。

aws cloudwatch get-metric-statistics \ --metric-name "CPUUtilization" \ --start-time "$(date -d '1 hour ago')" \ --end-time "$(date -d 'now')" \ --period 600 \ --namespace "AWS/DocDB" \ --statistics Minimum Maximum Average \ --dimensions Name=DBInstanceIdentifier,Value=my_instance \ --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \ --output table

以下の Linux の例では、前のものと同様の測定を実行します。この場合は、FreeableMemory のメトリクスのための測定になります。測定は、1 時間で 10 分ごとに行われます。

aws cloudwatch get-metric-statistics \ --metric-name "FreeableMemory" \ --start-time "$(date -d '1 hour ago')" \ --end-time "$(date -d 'now')" \ --period 600 \ --namespace "AWS/DocDB" \ --statistics Minimum Maximum Average \ --dimensions Name=DBInstanceIdentifier,Value=my_instance \ --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \ --output table

Performance Insights による DocumentDB サーバーレスパフォーマンスのモニタリング

Performance Insights を使用して、DocumentDB サーバーレスインスタンスのパフォーマンスをモニタリングできます。パフォーマンスインサイトの手順については、「Performance Insights を使用したモニタリング」を参照してください。

次の新しい Performance Insights カウンターが DocumentDB サーバーレスインスタンスに適用されます。

  • os.general.serverlessDBCapacity — DCUs 内のインスタンスの現在の容量。値は、インスタンスの ServerlessDatabaseCapacity CloudWatch メトリクスに対応します。

  • os.general.dcuUtilization — 最大設定容量のうち現在の容量の割合。値は、インスタンスの DCUUtilization CloudWatch メトリクスに対応します。

  • os.general.maxConfiguredDcu — この DocumentDB サーバーレスインスタンスに設定した最大容量。DCUs。

  • os.general.minConfiguredDcu — この DocumentDB サーバーレスインスタンス用に設定した最小容量。DCUs。

パフォーマンスインサイトカウンターのすべてのリストは、「カウンターメトリクス用の Performance Insights」を参照してください。

Performance Insights で DocumentDB サーバーレスインスタンスの vCPU 値を表示すると、それらの値はインスタンスの DCU 値に基づく推定値を表します。デフォルトの 1 分間隔では、vCPU 値の小数分は整数に切り上げられます。それ以上の間隔の場合、表示される vCPU 値は、1 分ごとの vCPU 値の整数の平均になります。