Zenn
🚀

AWS CodeBuildでのVaporのDocker Buildに最適なインスタンスタイプを探した結果

2025/03/23に公開

概要

AWS CodeBuildで、ほぼ初期状態のVaporプロジェクトをdocker buildしてECRにpushするようにしました。その際に、CodeBuildのインスタンスタイプをどれくらいのものを使えば良いのかを確認するため、いろいろなインスタンスタイプで試してみました。

結果

2025/03/23時点で1ドル149.33円として以下のようになりました。

インスタンスタイプ メモリ (GiB) vCPU 合計秒数 (sec) 実行までの時間 (sec) 実行時間 (sec) 1分あたりの金額 ($) 1回あたりの料金 ($) 1回あたりの料金 (円)
arm1.small 3 2 607 2 605 0.0034 0.03 5.12
arm1.medium 8 4 434 2 432 0.007 0.05 7.53
arm1.large 16 8 350 2 348 0.015 0.09 12.99
arm1.xlarge 64 32 387 91 296 0.06 0.30 44.20

考察

実行時間

インスタンスのスペックを上げれば上げるほど、実行時間が短くなることがわかりました。流石にスペックを上げるとコスパは下がりますが、xlargeはsmallよりも2倍速くなっています。

実行時間と料金のグラフ

合計秒数

しかし、合計秒数で見ると、xlargeインスタンスはQueueに入っている時間が長く合計秒数がlargeよりも増えてしまっています。たまたまかもしれませんが、xlargeはインスタンスの確保に時間がかかるのかもしれません。

合計秒数と料金のグラフ

あとがき

arm1.smallは毎月100分の無料枠があるため、コスパが抜群です。基本はarm1.smallがベストだと思われます。

しかし、初回のビルド設定で何度もビルドする場合や、100分を超えて何度もビルドする場合には、ビルドをもっと速くしたいこともあります。コストは2.6倍ほどかかりますが、largeを使用して、1.7倍のビルド速度で5分程度のビルド時間を実現するのもアリだと思います。

Discussion

ログインするとコメントできます