Amazon Elastic Compute Cloud (Amazon EC2) インスタンスでの Amazon Elastic Block Store (Amazon EBS) ボリュームのパフォーマンスのトラブルシューティングをしたいのですが。
簡単な説明
EBS ボリュームで発生する可能性のあるパフォーマンスの問題は次のとおりです。
- アプリケーションのパフォーマンスが遅い
- インスタンスのパフォーマンスが遅い
- データアクセス時間が長い
- 読み取りエラーと書き込みエラー
- ディスクにアクセスできない、またはオフラインと表示される
- ディスク入出力操作 (IOPS)、キュー長、スループット、レイテンシーが高い
- ドライバーが古い
**注:**最適なボリュームパフォーマンスを実現するためのベストプラクティスについては、以下を参照してください。
解決方法
ステップ 1: パフォーマンスの問題が発生するタイミングを特定する
パフォーマンスの問題が発生する時間枠を決定してください。その後、その期間の EBS メトリクスを分離して、後のトラブルシューティング手順で確認できます。たとえば、ピーク時の営業時間帯にはパフォーマンスが低下する可能性があります。
ステップ 2: EBS ボリュームステータスチェックを確認する
- Amazon EC2 コンソールを開きます。
- [Volume] を選択します。[ボリュームのステータス] 列には各ボリュームのステータスが表示されることに注意してください。
- ボリュームを選択し、[ステータスチェック] タブを選択します。
- ボリュームに障害がある場合は、「障害のあるボリュームでの作業」を参照してください。
詳細については、「ボリュームのステータスを監視する」を参照してください。
ステップ 3: ボリュームとインスタンスの情報を収集する
ボリュームタイプ、ボリュームサイズ、IOPS、スループット制限など、ボリュームに関する情報を収集します。詳細については、以下を参照してください。
ステップ 4: CloudWatch メトリクスを収集する
Amazon EBS の Amazon CloudWatch メトリクスを確認します。グラフ内のすべてのスパイクに注意してください。平均パフォーマンスの計算は次のとおりです。
- 平均 IOPS = (読み取りオペレーション (Ops/秒) + 書き込みオペレーション (Ops/秒)) /期間 (秒単位)
- 平均スループット = (読み取りスループット (KiB/s) + 書き込みスループット (KiB/s))/期間 (秒単位)
- 平均キュー長 (オペレーション)
- レイテンシー = (平均読み取りレイテンシー (ms/op) + 平均書き込みレイテンシー (ms/op)) /期間 (秒単位)
- 平均 IO サイズ = (平均読み取りサイズ (KiB/op) + 平均書き込みサイズ (KiB/op))/期間 (秒単位)
詳細については、「CloudWatch を使用して I/O 特性を監視する」を参照してください。
ステップ 5: インスタンスとボリュームの属性に照らしてメトリクスを確認する
CloudWatch メトリクスを確認し、ステップ 3 で収集したボリュームおよびインスタンス情報と比較します。問題を次のカテゴリに分類してください。
**注:**EBS ボリュームタイプと EC2 インスタンスタイプの変更にはコストがかかります。変更する前に、価格の違いを必ず理解してください。詳細については、以下を参照してください。
**注:**CloudWatch メトリクスでは、パフォーマンスが遅いにもかかわらず、ボリュームまたはインスタンスの制限に達していないように見える場合があります。この場合は、インスタンスでマイクロバーストが発生しているかどうかを確認してください。
ステップ 6: サービスレベルのイベントを記録する
調査している期間中に Amazon EBS サービスまたはボリュームに重大なイベントが発生したと思われる場合は、AWS Health Dashboard にイベントがないか確認してください。
関連情報
ベンチマーク EBS ボリューム
Amazon CloudWatch による Amazon EBS のパフォーマンスの監視と把握
Amazon EBS プロビジョンド IOPS ボリュームのパフォーマンスを最適化するにはどうすればよいですか?