Closed11

EC2の稼働時間とコストを見てみる

not75743not75743

しばらく動かし続けたEC2インスタンスがいたため、
そのコストと稼働時間を見てみます。
稼働時間 * オンデマンド料金 = コスト
となればよいですね

EC2のスペックは以下

  • Linux
  • AMIは無料枠Ubuntu
  • t3.xlarge
not75743not75743

コスト配分タグをつけている

コスト配分タグCostをつけていたため、EC2のコストをCost Explorerから調べられます。

  • key:Cost
  • value:t3.xlarge

です。インスタンスタイプそのまま、わかりやすいですね

合計コストは大体$7.40でした。
次はこのEC2の稼働時間を調べてみます

not75743not75743

起動時刻・現在時刻を調べる

LaunchTimeをawscliで出し、現在時刻との差を調べれば良さそうです(原始的)

$ aws ec2 describe-instances --filters "Name=tag:Cost,Values=t3.xlarge" --query 'Reservations[].Instances[].LaunchTime' --output text
2023-06-12T11:54:13+00:00

日本時間にするため、プラス9時間で6月12日20時54分起動とします
いまの時刻は

$ LC_ALL=C LANG=C date
Wed Jun 14 22:23:12 JST 2023

6月14日22時23分としましょう

稼働時間

pythonのdatetimeで出します

>>> import datetime
>>> dt1 = datetime.datetime(year=2023, month=6, day=12, hour=20, minute=54)
>>> dt2 = datetime.datetime(year=2023, month=6, day=14, hour=22, minute=23)
>>> print(dt2 - dt1)
2 days, 1:29:00

まあ50時間くらいということで...

not75743not75743

インスタンスタイプのコストを見る

先述の通り、今回の使ったインスタンスタイプはt3.xlarge,OSはlinuxです。
時間当たりのオンデマンド料金は0.2176 USD/時間でした

not75743not75743

いざ計算

材料が揃ったので計算します。

>>> 0.2176 * 50
10.879999999999999

??????高いね

not75743not75743

先程のコスト計算は6/12~6/14の範囲で行っていました。
しかし6/12~6/13の範囲で再計算したところコストは同じく$7.40でした。

どうやら本日(6/14)分は計算されていないようです。
ということで本日の22時間を引いて、28時間で計算してみます

not75743not75743

28時間で再計算

>>> 0.2176 * 28
6.0927999999999995

うわー...今度は低く出てる...

not75743not75743

すべてのコストは前日までの使用量が反映される

思い切り書いてありました。
インスタンス止めて、後日再計算してみましょう...

すべてのコストには、前日までの使用量が反映されます。たとえば、今日の日付が 12 月 2 日である場合、データには 12 月 1 日からの使用量が反映されます。

https://docs.aws.amazon.com/ja_jp/cost-management/latest/userguide/ce-exploring-data.html

not75743not75743

再度コストエクスプローラを見てみる

一日置いてみてみたら大体同じになっていました
$10.90なのでここの計算とほぼ同じです
細かいところは今回見逃しましょう

not75743not75743

所感

ざっくり計算ですが、概ね期待した結果が得られて良かったです。
課金の様子を実際に見てみるのは大事ですね

このスクラップは2023/06/17にクローズされました