AWS CodeBuildでリザーブドキャパシティのサポート開始
CodeBuildで、リザーブドキャパシティのサポート開始のアップデートが発表されました。
これまでのCodeBuildは、ビルド実行時にビルドホストが立ち上がる仕様(オンデマンドキャパシティ)でした。
今回のアップデートでは、あらかじめビルドホストを立ち上げておく、リザーブドキャパシティがサポート開始となりました。
これまではビルドを実行するたびにホストが起動されるため、ビルドごとに割り当てられるホストが異なることがありましたが、本アップデートにより常時同一のホストに接続可能となります。
リザーブドキャパシティのメリット
主要なメリットは2つあります。
1. キャッシュ利用によるビルド高速化
AWSのベストプラクティスにも記載されている通り、キャッシュの利用と合わせることでビルド時間を短縮することができます。
CodeBuildのキャッシュ方式には以下2つの方式があり、ローカルキャッシュの方式でメリットを享受できます。
ローカルキャッシュ
ビルドホスト上にキャッシュを保存し、利用する方式です。後述のS3のキャッシュ方式と比べ、ネットワークレイテンシの影響を受けないため、高速なビルドが可能な方式です。これまでのオンデマンドキャパシティでは、ビルドの都度ホストが起動するため、キャッシュが保存されていないホストが割り当てられた場合、キャッシュを利用できないというデメリットがありました。
リザーブドキャパシティでは、同一ホストを用いてビルド行なうことでキャッシュ利用率を上げ、ビルド時間を短縮することが可能です。
S3のキャッシュ
S3にキャッシュを保存し、ビルドの都度S3からキャッシュを取得する方式です。これまでのビルド方式では、複数のビルドプロジェクト間で同一のキャッシュを利用するために本方式が採用されることもありました。しかし、S3からキャッシュを取得するため、ネットワークレイテンシの分、ビルド時間が影響を受けるというデメリットがありました。
今回のアップデートであるリザーブドキャパシティの登場により、キャッシュ方式としてS3が採用されることは少なくなるのではと思います。
2. 常時起動によるビルド高速化
オンデマンドキャパシティでは、ビルドのたびにビルドホストが起動、割り当てられます。リザーブドキャパシティでは、ホスト起動が不要となるため、ビルドを即座に実行可能です。ビルドホストの起動にかかる時間分、高速化できます。
リザーブドキャパシティの利用における注意点
リザーブドキャパシティを利用する上で注意すべき点は以下の2つです。
1. 利用料金が高くなる可能性がある
リザーブドキャパシティでは、インスタンスが常時起動となるため、常時起動分の料金が発生します。
そのため、利用料金とビルド時間、ビルド回数を天秤にかけて、利用を判断する必要があります。
料金表の詳細はドキュメントをご参照ください。
2. サポートされない機能がある
リザーブドキャパシティフリートでは、VPC接続がサポートされていません。VPC接続は、CodeBuildのビルドホストをVPC内で立ち上げるような機能です。本機能が利用できないことで、RDSへ接続したテストの実行など、VPC内接続を利用したビルド実行に制限があることに注意してください。
そのほか、サポートされていない機能についてはドキュメントをご覧ください。