Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの集計 Amazon Elastic Block Store (Amazon EBS) スループットを示すメトリクスを Amazon CloudWatch から取得する方法を教えてください。 また、EC2 インスタンスがスループット制限に達したとき、アラームで通知するように設定する方法を教えてください。
簡単な説明
CloudWatch に Xen をベースとした Amazon EC2 インスタンスの EBS スループットを追跡するネイティブの Amazon EBS メトリクスはありません。ただし、EC2EBSThroughput/ebs-stats.sh スクリプトを使用して、EC2 インスタンスの集計 EBS スループットを測定することは可能です。
このスクリプトは、接続されているすべてのボリュームの 1 秒あたりの合計読み取り/書き込みバイト数を収集し、スループットをメトリクスとして Amazon CloudWatch にプッシュします。Amazon CloudWatch コンソールでメトリクスを表示し、指定したしきい値に基づいてトリガーされるアラームを設定できます。
注: Amazon EBS に最適化されたインスタンスバースト機能で構築された AWS Nitro ベースの EC2 インスタンスには、CloudWatch メトリクス EBSIOBalance% と EBSByteBalance% が含まれます。これらのメトリクスは、少なくとも 24 時間に 1 回、30 分間バーストして最大のパフォーマンスを発揮する一部のインスタンスサイズで利用可能です。該当するインスタンスタイプの一覧については、「サポートしているインスタンスタイプ」を参照してください。
ebs-stats.sh スクリプトは、CloudWatch の Xen ベースの EC2 インスタンス用です。このスクリプトは、Amazon Linux、Red Hat Enterprise Linux、および CentOS インスタンスとのみ互換性があります。ただし、他の Linux ディストリビューション用にスクリプトをカスタマイズすることができます。
注: インスタンスにインスタンスストアボリュームがある場合、スクリプトはインスタンスストアボリュームのスループットを含む集計スループットをレポートします。つまり、このスクリプトから EBS のスループットを正確に測定できない可能性があります。
解決方法
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、最新の AWS CLI バージョンを使用していることを確認してください。
1. RHEL ベースのディストリビューションでは、AWS CLI をまだインストールしていない場合はインストールします。
2. ebs-stats.sh スクリプトをダウンロードします。
3. スクリプトをインスタンスに配置し、実行可能にします。スクリプトを root ユーザーまたは sudo として実行します。そうしない場合は失敗します。
$sudo chmod +x ebs-stats.sh
4. AWS CLI から、バックグラウンドで次のコマンドを実行し、指定の ebs-stats.sh ランタイム頻度を設定します。
$sudo nohup ./ebs-stats.sh example-sleep-interval &
注意: example-sleep-interval を各データポイント間の指定の秒数に置き換えます。
5. AWS Identity and Access Management (IAM) ロールを作成します。
6. 次のポリシーをロールに添付します。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:ListMetrics",
"cloudwatch:GetMetricStatistics",
"cloudwatch:PutMetricData",
"autoscaling:DescribeAutoScalingInstances"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
7. EC2 インスタンスに IAM ポリシーを添付します。これにより、スクリプトはメトリクスを Amazon CloudWatch にプッシュできるようになります。
8. CloudWatchコンソールから、 EBSThroughoutMB にアラームを設定します。詳細については、「静的しきい値に基づいて CloudWatch アラームを作成する」または「Amazon CloudWatch アラームの使用」をご参照ください。
使用した引数に基づいて、正しい期間を選択してください。
関連情報
CloudWatch を使用したインスタンスのモニタリング
インスタンスの利用可能な CloudWatch メトリクスのリスト表示
Amazon EBS - 最適化インスタンス