CloudWatchカスタムメトリクスの課金計算
以下の前回の記事にて、EC2からカスタムメトリクスを取得してCloudWatchで収集する方法を解説しました。
その際、収集するカスタムメトリクスを「Advanced」で設定したところ、多くのメトリクスをCloudWatchに投げることになりました。(以下は6インスタンスほどのEC2に適用した結果)
カスタムメトリクスの課金に関しては下記の記事に解説されているように、1時間に1回以上のCloudWatchへの送信を1ヶ月間すると1メトリクスあたり$0.3かかることになります。多くのインスタンスに設定すると、まあまあな金額になってしまいます。
AWS Systems Manager からカスタムメトリクスを変更する
AWS Systems manager の「パラメータストア」を開きます。
今回のカスタムメトリクス収集のパラメータ「AmazonCloudWatch-linux」を開き編集ボタンより編集画面を開きます。値の入力欄にある設定ファイルを編集することでメトリクスを減らすことができます。
[code] “metrics”: {“append_dimensions”: {
“AutoScalingGroupName”: “${aws:AutoScalingGroupName}”,
“ImageId”: “${aws:ImageId}”,
“InstanceId”: “${aws:InstanceId}”,
“InstanceType”: “${aws:InstanceType}”
},
“metrics_collected”: {
“cpu”: {
“measurement”: [
“cpu_usage_idle”,
“cpu_usage_iowait”,
“cpu_usage_user”,
“cpu_usage_system”
],
“metrics_collection_interval”: 60,
“resources”: [
“*”
],
“totalcpu”: false
}, [/code]
例えば、上記で”cpu_usage_system”を削除したり、ディメンションから”InstanceType”を削除したりします。
編集内容を保存したら、「ランコマンド」メニューよりコマンドのドキュメントの [AmazonCloudWatch-ManageAgent]を選択し、ターゲットにメトリクス変更を行うインスタンスを選択します。
コマンドのパラメータは設定時と同様、以下のように設定します。
Action: configure
Mode: ec2
Optional Configuration Source: ssm
Optional Configuration Location: AmazonCloudWatch-linux
Optional Restart: yes
Mode: ec2
Optional Configuration Source: ssm
Optional Configuration Location: AmazonCloudWatch-linux
Optional Restart: yes
実行して、実行のステータスが「成功」で終了したらターゲット毎に出力を確認します。以前のメトリクスの送信が停止して、新しいメトリクスが送られてきているのが確認できます。
これで、メトリクスの変更ができました。