Amazon CloudWatch メトリクスで Aurora MySQL インスタンスの使用量を評価する
CloudWatch メトリクスを使用して、DB インスタンスのスループットをモニタリングし、DB インスタンスクラスがアプリケーションに十分なリソースを供給しているかどうかを判断できます。DB インスタンスクラスの制限に関する詳細については、「Aurora 用の DB インスタンスクラスのハードウェア仕様」を参照してください。DB インスタンスクラスの仕様を検索して、ネットワークパフォーマンスを確認します。
DB インスタンスの使用量がインスタンスクラスの限界に近い場合、パフォーマンスが低下し始める可能性があります。CloudWatch メトリクスによってこの状況を確認できるので、より大きなインスタンスクラスへの手動スケールアップを計画できます。
以下の CloudWatch メトリクス値を組み合わせて、インスタンスクラスの限界に近づいているかどうかを確認します。
-
NetworkThroughput - Aurora DB クラスター内の各インスタンスについて、各クライアントによって送受信されたネットワークスループットの量。このスループット値には、DB クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは含まれません。
-
StorageNetworkThroughput – Aurora DB クラスター内の各インスタンスによって Aurora ストレージサブシステムとの間で送受信されたネットワークスループットの量。
NetworkThroughput を StorageNetworkThroughput に加えると、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 インスタンスクラスを使用します。
-
書き込みリクエストをバッチに分割して、トランザクション全体を減らします。
-
読み取り専用ワークロードを読み取り専用インスタンスに転送します。
-
未使用のインデックスをすべて削除します。