Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
CloudWatch メトリクスを使用して、EBS ボリュームが実現する平均スループットと平均 IOPS 数を計算する方法を教えてください。
Amazon CloudWatch メトリクスを使用して、Amazon Elastic Block Store (Amazon EBS) ボリュームの平均スループットおよび、1 秒あたりの入出力操作 (IOPS) 数を計算したいです。
簡単な説明
ボリュームの平均スループットと IOPS 数を計算するには、CloudWatch メトリクス で数式を使用します。EBS ボリューム内のデータを監視するには、CloudWatch アラームを作成します。
AWSSupport-CalculateEBSPerformanceMetrics オートメーションドキュメントを使用することもできます。このオートメーションは、CloudWatch メトリクスを使用して EBS ボリュームの総スループット、IOPS 数、I/O サイズを計算します。個々の EBS ボリュームのメトリクスを計算することも、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにアタッチされているすべての EBS ボリュームのメトリクスを計算することもできます。
解決策
スループットを手動で計算する
次の手順を実行します。
- CloudWatch コンソールを開きます。
- [メトリクス] で [すべてのメトリクス] を選択します。
- [EBS 名前空間] を選択し、[ボリュームごとのメトリクス] を選択します。
- EBS ボリュームに関する次のメトリクスを選択します。
平均 IOPS を計算するには、VolumeReadOps、VolumeWriteOps、および VolumeIdleTime を選択します。
平均スループットを計算するには、VolumeReadBytes、VolumeWriteBytes、およびVolumeIdleTime を選択します。 - [グラフ化されたメトリクス] タブを選択します。
- [統計] で [合計] を選択します。
- [期間] で表示する期間を選択します。
- グラフ化された各メトリクスの前にあるメトリクス ID (m1、m2、m3 など) を書き留めます。
- [数式を追加] で [空の式で始まる] を選択し、次の式を入力して想定される平均値を計算します。
平均 IOPS を、秒あたりの Ops 単位で計算します。
(m1+m2)/(PERIOD(m1))
注: 上記の式では、m1 は VolumeReadOps、m2 は VolumeWriteOps です。
ボリュームがアクティブな場合の 1 秒あたりの平均スループットをバイト単位で計算します。
(m1+m2)/(PERIOD(m1)-(IF(m3>59, 59, m3)))
注: 上記の式では、m1 は VolumeReadBytes、m2 は VolumeWriteBytes、m3 は VolumeIdleTime です。
1 秒あたりの平均スループットをバイト単位で計算します。
(m1+m2)/(PERIOD(m1))
注: 上記の式では、m1 は VolumeReadBytes、m2 は VolumeWriteBytes です。
スループットと IOPS は 1 秒あたりの測定値です。したがって、VolumeIdleTime が 59 秒より長い場合は、VolumeIdleTime X 期間の計算に基づくメトリクスデータポイントでは、想定よりも高い値が生成される場合があります。マイクロバーストが原因で、スループットと IOPS の平均値が実際の平均値とは異なったものになる場合もあります。CloudWatch は、EBS ボリュームメトリクスを秒単位の間隔では集計しません。詳細については、「Amazon EBS ボリュームがマイクロバーストしているかどうかを確認し、パフォーマンスへの影響を抑える方法を教えてください」を参照してください。
オートメーションを使用してスループットを計算する
開始する前に、分析するリソースのボリューム ID またはインスタンス ID をコピーします。オートメーションドキュメントを実行するには、リソース ID が必要です。
(オプション) オートメーション用の AWS Identity and Access Management (IAM) ロールを作成して指定します。ロールを選択しない場合は、Automation はこのドキュメントを実行するユーザーのアクセス許可を使用します。
オートメーションを実行するには、AWS Systems Manager コンソールまたは AWS CLI を使用します。
Systems Manager コンソール
次の手順を実行します。
- Systems Manager コンソールを使用し、リソースが置かれた AWS リージョンでドキュメントを開きます。
- [オートメーションドキュメントの実行] セクションで [シンプルな実行] を選択します。
- [入力パラメータ] セクションで、次のパラメータを入力します。
[ResourceId] に分析する EBS ボリュームまたは EC2 インスタンスの ID を入力します。
[StartTime] に時刻を UTC で、yyyy-mm-ddThh:mm:ss 形式で入力します。例: 2021-06-09T13:30:10
[EndTime] に時刻を UTC で、yyyy-mm-ddThh:mm:ss 形式で入力します。例: 2021-06-16T13:30:10
(オプション) AutomationAssumeRole で該当する IAM ロールを選択します。 - [実行] を選択します。
最終出力はダッシュボードの URL です。URL を確認するには、[出力] フィールドを展開します。ダッシュボードを使用して分析したメトリクスとそのクォータを確認します。
注: ダッシュボードを削除するには、IAM アクセス許可 cloudwatch:DeleteDashboards が必要です。
AWS CLI
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
AWS CLI コマンド start-automation-execution を実行します。
aws ssm start-automation-execution --document-name "AWSSupport-CalculateEBSPerformanceMetrics" --document-version "\\$DEFAULT" --parameters '{"ResourceId":\["i-example12345"\], "StartTime":\["2021-06-09T13:30:10"\], "EndTime":\["2021-06-16T13:30:10"\], "Period":\["60"\], "AutomationAssumeRole":\[""\]}' --region us-east-1
注: 上記のコマンドで、ResourceId は分析対象のリソース ID に置き換えます。CloudWatch でデータを表示するには、StartTime と EndTime を実際の開始時刻と終了時刻に置き換えます。us-east-1 は、実際のリソースのリージョンに置き換えます。オートメーションを実行する IAM ロールを作成済みの場合は、AutomationAssumeRole を該当する IAM ロールに置き換えます。
関連するコンテンツ
- 質問済み 2年前
- 質問済み 1年前
