Open35

awsのcloudwatchがなぜ課金されたのか

kajirikajirikajirikajiri

tldr

kajirikajirikajirikajiri

一応コマンド

aws ecs update-cluster-settings --cluster myCICluster --settings name=containerInsights,value=disabled
kajirikajirikajirikajiri

なので、最低2週間課金されるわけではないと思っている。
あとは明日の料金みてだな

kajirikajirikajirikajiri

今月は10 Metricsを超えてしまったので料金は増え続けている。

だが、1日あたり$0.38の請求だったのが、今は0.07になった。この前のecsのカスタムメトリクス削除は効いたとみていいだろう。

1日あたり$0.07ということは、
最初の10000メトリクスまでは1メトリクス$0.3だから、今月は31日で、1日あたり、0.23333333333メトリクス。
これを31かけることの$7.23333333333。ok。無料の範囲内。多少前後するかもだが。来月以降は12ヶ月間無課金でいけるな
https://aws.amazon.com/jp/cloudwatch/pricing/#:~:text=範囲-,コスト (メトリクス/月),-最初の 10%2C000

kajirikajirikajirikajiri

メトリクスとは、システムのパフォーマンスに関するデータです。デフォルトでは、多くのサービスはリソース (Amazon EC2 インスタンス、Amazon EBS ボリューム、Amazon RDS DB インスタンスなど) に対して無料のメトリクスを提供しています。また、Amazon EC2 インスタンスなど一部のリソースの詳細モニタリングを有効にしたり、独自のアプリケーションメトリクスを発行したりできます。Amazon CloudWatch は、検索、グラフ表示、アラームに備えて、アカウント内のすべてのメトリクス (AWS リソースメトリクスと、お使いのアプリケーションメトリクスの両方) をロードすることができます。

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/working_with_metrics.html#:~:text=メトリクスとは,ができます。

kajirikajirikajirikajiri

コストを削減するには、必要に応じてカスタムメトリクスのモニタリングを無効化します。カスタムメトリクスを見つけるには、CloudWatch コンソールにあるメトリクスの要約セクションの [Search Metrics] (メトリクスの検索) に NOT AWS と入力します。

https://aws.amazon.com/jp/premiumsupport/knowledge-center/cloudwatch-understand-and-reduce-charges/#:~:text=コストを削減するには、必要に応じてカスタムメトリクスのモニタリングを無効化します。カスタムメトリクスを見つけるには、CloudWatch コンソールにあるメトリクスの要約セクションの [Search Metrics] (メトリクスの検索) に NOT AWS と入力します。

kajirikajirikajirikajiri

アジアパシフィック東京だと、10メトリクスを超えると1メトリクス月額$0.3

https://aws.amazon.com/jp/cloudwatch/pricing/#:~:text=の 10%2C000 メトリクス-,0.30USD,-次の 240%2C000

kajirikajirikajirikajiri

158メトリクス-10メトリクス(無料枠)=148メトリクス
148*$0.3=$44.4
$44/30日(1ヶ月って何日かわからんがとりあえず30日)=$1.46
日当たり$1.46
??大体あってるけど

kajirikajirikajirikajiri

3日間、1日$0.38で請求が来てる。

で、メトリクスを見ると稼働しているやつと稼働していないやつがあった。
自分の運用方法はec2インスタンスの中で
ecsのblue/green deploy
ecsのrolling update
をしている。
使い方としてはblue/green deployを1コンテナ常時稼働。
rolling updateのコンテナも基本は1コンテナ常時稼働している。例外は、blue/green deployするとき。そのときはrolling updateするコンテナのタスクを0にしている。

なので、4コンテナ分のcontainer insightsが存在する可能性があると思う。いや、rolling updateやblue/green deployしたら過去のインスタンスのために作成したcontainer insightsは残っていそうだな。で、2週間稼働せずに消える。

そう考えると、メトリクスの数はあてにならない。最近稼働したメトリクスの数ってわかるのかな?
1時間以内に稼働したメトリクスの数。

https://dev.classmethod.jp/articles/cloudwatch-logs-metric-filters-how-to-setup/
メトリクスフィルターがあった。なんか違う。

一つずつ確認したら53メトリクスが動いていた

てことは無料枠の10を引いて43メトリクス

43*0.3/30=0.43 ??若干ずれるな。
実際は$0.38

kajirikajirikajirikajiri

計算例

https://aws.amazon.com/jp/cloudwatch/pricing/#:~:text=詳細モニタリングとして EC2 インスタンス,2 – カスタムメトリクス

詳細モニタリングとして EC2 インスタンスから送信されるメトリックの数は、EC2 インスタンスタイプによって異なります。詳細については、インスタンスメトリックのドキュメントを参照してください。この例では、最も一般的に使用されるインスタンスタイプをカバーする 7 つのメトリックを想定しています。
10 個の Amazon EC2 インスタンスで、24 時間 365 日 (1 か月を 30 日とする) アプリケーションを実行し、すべてのインスタンスで EC2 詳細モニタリングを有効にした場合、料金は以下のようになります。
メトリクスの合計数 = インスタンスあたり 7 メトリクス x 10 インスタンス = 70 メトリクス
CloudWatch メトリクスの月額料金 (カスタムメトリクス 1 個につき 0.30 USD) = 70 x 0.30 USD = 21 USD
CloudWatch の月額料金 = 21 USD/1 か月
メトリクスの合計数が 10,000 を超えると、ボリューム料金が適用されます。詳細については、メトリクスの価格表を参照してください。

kajirikajirikajirikajiri

すべてのカスタムメトリックの料金は時間単位で請求され、メトリクスを CloudWatch に送信したときにのみ計算されます。

https://aws.amazon.com/jp/cloudwatch/pricing/#:~:text=すべてのカスタムメトリックの料金は時間単位で請求され、メトリクスを CloudWatch に送信したときにのみ計算されます。

kajirikajirikajirikajiri

All custom metrics charges are prorated by the hour and metered only when you send metrics to CloudWatch.

英語の場合

kajirikajirikajirikajiri

すべてのカスタムメトリクスの料金は1時間ごとに按分され、CloudWatchにメトリクスを送信したときにのみ計測されます。

kajirikajirikajirikajiri

1時間ごとか。じゃあ1時間何もなければ料金はかからないんだろう。
で、2週間経過したらメトリクスが消える