--- title: '新規 AWS アカウントで CodeBuild を利用する際の注意点' slug: codebuild-concurrency tags: [codebuild] authors: [yukimine] --- AWS のサービスには、新規作成したばかりのアカウントにはデフォルトよりも低い上限を設けているものがあります。今回は、AWS CodeBuild に適用される事がある制限をご紹介します。 ## AWS CodeBuild とは [AWS CodeBuild](https://aws.amazon.com/codebuild/) は、フルマネージドなソフトウェア開発環境を提供する Code シリーズのサービスの1つで、ソフトウェアのビルドやテストのフェーズを担当しています。CodeBuild を使う事で、ビルドやテストを実行するためのサーバーの構築や運用から解放され、必要な時に必要なだけのリソースを持つインフラで自動的に実行できるようになります。CodeBuild の詳しい使い方について知りたい方は、[Black Belt Online Seminar](https://youtu.be/Zzv1_ztf-B0) の動画を見て頂ければと思います。 ## AWS CodeBuild のビルド同時実行数 AWS CodeBuild では、複数のビルドを並列で実行する事ができます。例えば、依存関係のないビルドを並列で実行する事でビルドにかかる時間を大きく短縮する事ができますが、同時実行できるビルドの数にはアカウント毎に上限が設けられています。 [AWS CodeBuild のクォータ](https://docs.aws.amazon.com/codebuild/latest/userguide/limits.html)のページを見ると、「ビルドの同時実行」のデフォルトの上限は「60」となっていますが、下の方に以下のような注釈が書かれています。(2022年12月現在) > 同時実行ビルドの最大数のクォータは、コンピューティングタイプによって異なります。 > 一部のプラットフォームとコンピューティングタイプでは、デフォルトは 20 です。 > 新しいアカウントの場合、クォータは最低 5 になります。 コンピューティングタイプについては、[ビルド環境のコンピューティングタイプ](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html)のページをご確認ください。詳細は非公表となっていますが、一部のコンピューティングタイプには異なる上限が設けられています。現在の上限がいくつであるかは、実際に実行してみて「`Cannot have more than X builds in queue for the account`」といったエラーが出る事でしか確認できません。 そして、今回の本題である「新規 AWS アカウントに適用される制限」についても記載されており、「新しいアカウントの場合、クォータは最低 5 になります」とありますが、本当に新規作成したばかりのアカウントの場合、制限が 5 ではなく 1 になっている場合があります。そのため、その状態では並列ビルドの機能を使う事ができず、逐次実行させる必要があるという事になります。 無料枠の範囲内でも構いませんので、AWS サービスの利用実態をある程度積む事でこの制限は解除されるようですが、新規作成した AWS アカウントで CodeBuild の並列実行を行いたい場合はご注意ください。 ## まとめ - AWS CodeBuild のビルド同時実行数の上限は一律ではなく、条件によって異なる - 新規作成したばかりの AWS アカウントでは、同時実行数の上限が 1 で並列ビルドができない場合がある