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 NVMe ブロックデバイスは、次の統計を提供します。

統計名 フルネーム 説明
total_read_ops 読み取りオペレーションの合計回数 Counter 完了した読み取りオペレーションの合計回数。
total_write_ops 書き込みオペレーションの合計数 Counter 完了した書き込みオペレーションの合計回数。
total_read_bytes 読み取りバイトの合計数 Counter 転送された読み取りバイトの合計数。
total_write_bytes 書き込みバイトの合計数 Counter 転送された書き込みバイトの合計数。
total_read_time 読み取り時間の合計数 Counter 完了したすべての読み取りオペレーションで費やされた合計時間 (マイクロ秒単位)。
total_write_time 書き込み時間の合計数 Counter 完了したすべての書き込みオペレーションで費やされた合計時間 (マイクロ秒単位)。
ebs_volume_performance_exceeded_iops 総需要がボリュームプロビジョンド IOPS を超えた Counter IOPS 需要がボリュームのプロビジョンド IOPS パフォーマンスを超えた合計時間 (マイクロ秒単位)。
ebs_volume_performance_exceeded_tp 総需要がボリュームプロビジョンドスループットを超えた Counter スループット需要がボリュームのプロビジョンドスループットパフォーマンスを超えた合計時間 (マイクロ秒単位)。
ec2_instance_ebs_performance_exceeded_iops EC2 インスタンスの IOPS パフォーマンスを超えた総需要時間 Counter EBS ボリュームがアタッチされた Amazon EC2 インスタンスの最大 IOPS パフォーマンスを超えた合計時間 (マイクロ秒単位)。
ec2_instance_ebs_performance_exceeded_tp EC2 インスタンスのスループットパフォーマンスを超えた総需要時間 Counter 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 AMIs には、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 にエクスポートするための Prometheus 互換/metricsエンドポイントとして公開されます。

詳細については、「Amazon Managed Service for Prometheus ユーザーガイド」の「Amazon Managed Service for Prometheus ワークスペースへのメトリクスの取り込み」を参照してください。

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

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

  3. EBS ボリュームのディスク番号を取得します。詳細については、「Amazon EBS ボリュームを NVMe デバイス名にマッピングする」を参照してください。

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

    .\nvme_amzn.exe stats disk_number