概要
みなさんこんにちは。フルスタックエンジニアの高瀬 @takasehiromichi です。
AWS CodeBuildの課金について知見を得たので、記事にしようと思います。
AWS CodeBuildの各フェーズについて
AWS CodeBuildは、以下のフェーズがあります。
- SUBMITTED
- QUEUED
- PROVISIONING
- DOWNLOAD_SOURCE
- INSTALL
- PRE_BUILD
- BUILD
- POST_BUILD
- UPLOAD_ARTIFACTS
- FINALIZING
- COMPLETED
ある日の出来事
ある日、CI/CDを回していると、やけに遅いタイミングがあることに気がつきました。
そこで、CodeBuildの実行結果詳細を確認していると、QUEUEDフェーズが通常1ms程度の実行時間であるところ、その時は181ms程度かかっていました。
なので、今まで実行時間あたりで課金されると思っていたため、余分に課金が発生したか?!と思いAWSサポートに問い合わせたところ、QUEUEDフェーズは課金に含まれないという回答を得ました。
そのため、厳密には、SUBMITTED〜QUEUEDフェーズでは課金が発生せず、PROVISIONING〜COMPLETEDフェーズまでの実行時間で課金が発生してしまうということらしいです。
- SUBMITTED
- 課金されない
- QUEUED
- 課金されない
- PROVISIONING
- 課金される
- DOWNLOAD_SOURCE
- 課金される
- INSTALL
- 課金される
- PRE_BUILD
- 課金される
- BUILD
- 課金される
- POST_BUILD
- 課金される
- UPLOAD_ARTIFACTS
- 課金される
- FINALIZING
- 課金される
- COMPLETED
- 課金される
※ちなみに、ドキュメントには書いてありません...ぜひ書いておいて欲しいところです。
まとめ
AWSはとても便利なサービス群ですが、ちょっと込み入ったところを確認しようとすると、裏仕様みたいなのが出てくることが多いので、はまりポイントだと思います。
ほんとにそういう仕様か?と疑ったときは、AWSサポートに確認するしかないのが現状ですね。