Amazon CloudWatch メトリクスで Aurora MySQL インスタンスの使用量を評価する - Amazon Aurora

Amazon CloudWatch メトリクスで Aurora MySQL インスタンスの使用量を評価する

CloudWatch メトリクスを使用して、DB インスタンスのスループットをモニタリングし、DB インスタンスクラスがアプリケーションに十分なリソースを供給しているかどうかを判断できます。DB インスタンスクラスの制限に関する詳細については、「Aurora 用の DB インスタンスクラスのハードウェア仕様」を参照してください。DB インスタンスクラスの仕様を検索して、ネットワークパフォーマンスを確認します。

DB インスタンスの使用量がインスタンスクラスの限界に近い場合、パフォーマンスが低下し始める可能性があります。CloudWatch メトリクスによってこの状況を確認できるので、より大きなインスタンスクラスへの手動スケールアップを計画できます。

以下の CloudWatch メトリクス値を組み合わせて、インスタンスクラスの限界に近づいているかどうかを確認します。

  • NetworkThroughput - Aurora DB クラスター内の各インスタンスについて、各クライアントによって送受信されたネットワークスループットの量。このスループット値には、DB クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは含まれません。

  • StorageNetworkThroughput – Aurora DB クラスター内の各インスタンスによって Aurora ストレージサブシステムとの間で送受信されたネットワークスループットの量。

NetworkThroughputStorageNetworkThroughput に加えると、Aurora DB クラスター内の各インスタンスによって Aurora ストレージサブシステムとの間で送受信されたネットワークスループットになります。インスタンスのインスタンスクラス限界は、この 2 つのメトリクスの合計よりも大きい必要があります。

以下のメトリクスを使用して、送受信時のクライアントアプリケーションからのネットワークトラフィックの詳細を確認できます。

  • NetworkReceiveThroughput – Aurora MySQL DB クラスター内の各 DB インスタンスがクライアントから受信したネットワークスループットの量。 DB クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは、このスループットに含まれません。

  • NetworkTransmitThroughput – Aurora DB クラスター内の各インスタンスが各クライアントに送信したネットワークスループットの量。 DB クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは、このスループットに含まれません。

  • StorageNetworkReceiveThroughput – DB クラスター内の各インスタンスが Aurora ストレージサブシステムから受信したネットワークスループットの量。

  • StorageNetworkTransmitThroughput – DB クラスター内の各インスタンスが Aurora ストレージサブシステムに送信したネットワークスループットの量。

これらすべてのメトリクスを合計して、ネットワーク使用量と DB インスタンスクラスの制限との比較を評価します。インスタンスクラス限界は、これらのメトリクスの合計よりも大きい必要があります。

ストレージのネットワーク制限と CPU 使用率は直接関係しています。ネットワークのスループットが増加すると、CPU 使用率も増加します。CPU とネットワークの使用状況を監視すると、リソースがどのくらい枯渇しているのか、またなぜ枯渇しているのかについての情報が得られます。

ネットワークの使用量を最小限に抑えるには、次のことを検討してください。

  • より大きな DB インスタンスクラスを使用します。

  • 書き込みリクエストをバッチに分割して、トランザクション全体を減らします。

  • 読み取り専用ワークロードを読み取り専用インスタンスに転送します。

  • 未使用のインデックスをすべて削除します。