いつもざっくり AWS で計算していたのだけど、 vCPU 8, 16 が選択できず
「まあ Linux だけサポートしてるし、ざっくりの範疇を超えてるかー。 手動で計算すっか」
と思っていたら、公式のコストシミュレータがちゃんと使えるものになっていた。
とはいえ相変わらず AWS のコストシミュレータなんか見づらいんだよなあ。
公式のコストシミュレータ
各項目について
ガッと。
Number of tasks or pods
タスクの実行数。 Terraform 的に言うと aws_ecs_service.ローカル名.desired_count
。
動かしっぱなし想定なので、 per month を選択した上で実行したいタスクの数を入れれば良い。 片肺なら 1 で最低限縮退するなら 2 とかですかね。
Average duration
タスクの実行時間。 基本的に動かしっぱなしのはずなので hours を選択した上で、上限の 730 を入れておけば良い。
Amount of vCPU allocated
タスクの vCPU 数。 Terraform 的に言うと aws_ecs_task_definition.ローカル名.cpu
。
コストシミュレータでは CPU unit 数ではなく vCPU 数で指定するらしい。
Amount of memory allocated
タスクの RAM 数。
1GiB 以下を指定することは早々無いと思うので、 GB を選択した上で利用する数を指定してください。
Amount of ephemeral storage allocated for Amazon ECS
タスク内のコンテナにアタッチするストレージ。
20GiB が最低値ですが、最低値なら追加料金ナシとのことなので、頑張ってイメージ圧縮してストレージは小さくいきましょう。 追加で必要なら S3 とか EFS マウントした方がいいかも。
1 task, 730 Hour, 1 vCPU, RAM 2GB, Storage 20Gib
一ヶ月稼働しっぱなしで t2.small みたいな状態にすると以下のようになります。
ちなみに vCPU 専有数を 1 以下にしないと、RAM 1 GB とかにできません。