Amazon EBS の詳細なパフォーマンス統計 - Amazon EBS

Amazon EBS の詳細なパフォーマンス統計

Amazon EBS NVMe ブロックデバイスは、Nitro ベースの Amazon EC2 インスタンスにアタッチされた Amazon EBS ボリュームに関するリアルタイムかつ高解像度の I/O パフォーマンス統計を提供します。これらの統計は集計カウンターとして表示され、インスタンスへのボリュームのアタッチメントの存続期間にわたって保持されます。この統計は、オペレーションの累積数、送受信されたバイト数、読み取り/書き込み I/O オペレーションに費やされた時間に関する詳細を提供します。さらに、統計には、読み取りおよび書き込み I/O オペレーションのヒストグラムと、アプリケーションが EBS ボリュームまたはアタッチされたインスタンスのプロビジョンド IOPS またはスループット制限を超えた合計時間が含まれます。

これらの統計は最大 1 秒間隔で詳細に収集できます。リクエストが 1 秒間隔よりも頻繁に行われると、NVMe ドライバーが、後で処理されるリクエストを他の管理コマンドとともにキューに入れることがあります。

考慮事項
  • 統計は、すべての Amazon EBS ボリュームタイプでサポートされています。

  • 統計は、AWS Nitro System 上に構築されたインスタンスにアタッチされたボリュームでのみサポートされます。

  • 統計は、マルチアタッチが有効なボリュームで使用できます。マルチアタッチが有効なボリュームの統計を表示する場合、統計はそのインスタンスのアタッチメントに固有であり、そのインスタンスの使用状況のみが反映されます。

  • この統計は追加料金なしでご利用いただけます。

統計

Amazon EBS NVMe ブロックデバイスは次の統計を提供します。

統計名 フルネーム タイプ 説明
total_read_ops 読み取りオペレーションの合計回数 カウンター 完了した読み取りオペレーションの合計回数。
total_write_ops 書き込みオペレーションの合計数 カウンター 完了した書き込みオペレーションの合計回数。
total_read_bytes 読み取りバイトの合計数 カウンター 転送された読み取りバイトの合計数。
total_write_bytes 書き込みバイトの合計数 カウンター 転送された書き込みバイトの合計数。
total_read_time 読み取り時間の合計数 カウンター 完了したすべての読み取りオペレーションで費やされた合計時間 (マイクロ秒単位)。
total_write_time 書き込み時間の合計数 カウンター 完了したすべての書き込みオペレーションで費やされた合計時間 (マイクロ秒単位)。
ebs_volume_performance_exceeded_iops 需要がボリュームのプロビジョンド IOPS を超えた合計時間 カウンター IOPS 需要がボリュームのプロビジョンド IOPS パフォーマンスを超えた合計時間 (マイクロ秒単位)。
ebs_volume_performance_exceeded_tp 需要がボリュームのプロビジョンドスループットを越えた合計時間 カウンター スループット需要がボリュームのプロビジョンドスループットパフォーマンスを超えた合計時間 (マイクロ秒単位)。
ec2_instance_ebs_performance_exceeded_iops 需要が EC2 インスタンスの IOPS パフォーマンスを超えた合計時間 カウンター EBS ボリュームがアタッチされた Amazon EC2 インスタンスの最大 IOPS パフォーマンスを超えた合計時間 (マイクロ秒単位)。
ec2_instance_ebs_performance_exceeded_tp 需要が EC2 インスタンスのスループットパフォーマンスを超えた合計時間 カウンター EBS ボリュームがアタッチされた Amazon EC2 インスタンスの最大スループットパフォーマンスを超えた合計時間 (マイクロ秒単位)。
volume_queue_length ボリュームキューの長さ ポイントインタイム 完了を待機している読み取りおよび書き込みオペレーションの数。
read_io_latency_histogram I/O ヒストグラムの読み取り ヒストグラム* 各レイテンシービン内で完了した読み取りオペレーションの数 (単位: マイクロ秒)。
write_io_latency_histogram I/O ヒストグラムの書き込み ヒストグラム* 各レイテンシービン内で完了した書き込みオペレーションの数 (単位: マイクロ秒)。
注記

* ヒストグラム統計は正常に完了した I/O オペレーションのみを表します。停止している、あるいは正常でない I/O オペレーションは含まれませんが、ポイントインタイム統計として volume_queue_length 統計に表示されます。

統計へのアクセス

統計には、Amazon EBS ボリュームがアタッチされているインスタンスから、直接アクセスする必要があります。統計には、次のいずれかの方法を使用してアクセスできます。

Amazon CloudWatch

インスタンスから統計を収集し Amazon CloudWatch のカスタムメトリクスとして利用できるように、Amazon CloudWatch エージェントを設定できます。その後、CloudWatch のメトリクスを使用して、I/O パターンの分析、パフォーマンスの傾向の追跡、カスタムダッシュボードの作成、パフォーマンスのしきい値に基づく自動アラームの設定を行うことができます。

CloudWatch エージェントの設定の詳細については、次のトピックを参照してください。

Amazon CloudWatch Observability EKS アドオンバージョン 4.1.0 以降では、Amazon EBS CSI ドライバーメトリクスが有効になっていると自動的に統計が収集されます。詳細については、「Amazon EBS NVMe ドライバーメトリクス」を参照してください。

ebsnvme script

ebsnvme スクリプトは amazon-ec2-utils Github リポジトリにあります。

統計にアクセスするには
  1. ボリュームがアタッチされているインスタンスに接続します。

  2. amazon-ec2-utils GitHub リポジトリから ebsnvme スクリプトをダウンロードします。

    wget https://raw.githubusercontent.com/amazonlinux/amazon-ec2-utils/refs/heads/main/ebsnvme
  3. スクリプトのアクセス許可を変更して、実行可能にします。

    sudo chmod +x ./ebsnvme
  4. ebsnvme スクリプトを実行し、ボリュームのデバイス名を指定します。

    sudo ./ebsnvme stats /dev/nvme0n1
nvme-cli tool
統計にアクセスするには
  1. ボリュームがアタッチされているインスタンスに接続します。

  2. 2024 年 11 月 12 日以降にリリースされた Amazon Linux AMI には、nvme-cli ツールの最新バージョンが含まれています。以前の Amazon Linux AMI を使用している場合は nvme-cli ツールを更新します。

    sudo yum install nvme-cli
  3. 次のコマンドを実行し、ボリュームのデバイス名を指定します。

    nvme amzn stats /dev/nvme0n1
Prometheus

統計は、オープンソースのモニタリングアプリケーションである Prometheus、および Amazon Managed Service for Prometheus でモニタリングできます。これにより、コンテナと Kubernetes 環境全体で Amazon EBS ボリュームの大規模なモニタリングを簡単に行えるようになります。Amazon EBS CSI ドライバーバージョン v1.37.0 以降では、詳細なパフォーマンス統計は Prometheus 互換 /metrics エンドポイントとして公開され、Prometheus にエクスポートできます。

詳細については、「Amazon Managed Service for Prometheus User Guide」の「Ingest metrics to your Amazon Managed Service for Prometheus workspace」を参照してください。

nvme_amzn.exe tool
統計にアクセスするには
  1. ボリュームがアタッチされているインスタンスに接続します。

  2. AWSNVMe ドライバーのバージョン 1.7.0 以降を使用していることを確認します。AWSNVMe ドライバーの更新の詳細については、「AWS NVMe ドライバー」を参照してください。

  3. EBS ボリュームのディスク番号を取得します。詳細については、「Map Amazon EBS volumes to NVMe device names」を参照してください。

  4. 次のコマンドを管理者として実行し、ボリュームのディスク番号を指定します。

    .\nvme_amzn.exe stats disk_number