CircleCI の料金体系をざっくり理解する

CircleCI の料金体系をざっくり理解する

CircleCIの利用計画を立てる中で、どのように料金が発生するかを理解する必要があります。ここで少し導入検討フェーズのハードルになりやすいのが、クレジット制という少し特殊な料金体系を取っていることです。

この記事では、CircleCI の料金体系の考え方と、実際のコスト感をつかむための試算例を紹介します。

CircleCIにおける「クレジット」

CircleCI の料金体系を理解する上で最も重要なのは、「クレジット」という概念です。CircleCIのリソースを利用する場合、このクレジットが様々な形で消費されます。基本的には事前にクレジットを購入し、それを月々の CI / CDパイプライン実行などで消費していく使い方となります。

無料プランでは毎月30,000クレジットが利用できます。有料プランの Performance プランでは、クレジットを事前に購入するプリペイドだけでなく、「クレジットを使い切ったら、自動で月額の25%を補充する」という追加購入にも対応しています。この場合、例えば月次クレジット購入が200,000クレジットの場合、クレジットが不足すると自動的に50,000クレジットが補充されます。

CircleCI のクレジットを消費する4要素

このクレジットが消費される要素は、大きく分けて4つあります。それぞれについて順に見ていきましょう。

1: コンピュート時間によるクレジット消費

1つ目の要素は CI / CD を実行するコンピュートリソースに対する請求です。CircleCIがクラウド上に用意したマシンリソースを使用してビルドやテスト、デプロイメントなどを実行します。その際のコンピュートリソースについて、「実際に使用した分だけ」クレジットが消費されます。

このクレジット消費については、利用するマシンスペック(リソースクラス)によって単価が変わります。Docker 以外にもよく使われるリソースクラスの消費レートを表にまとめました。

リソースクラス スペック 消費レート
Docker Medium 2 CPU / 4 GB RAM 10 credits/分
Docker Large 4 CPU / 8 GB RAM 20 credits/分
Linux VM Medium 2 CPU / 7.5 GB RAM 10 credits/分
macOS M4 Pro Medium 6 CPU / 28 GB RAM 200 credits/分
Windows Medium 4 CPU / 16 GB RAM 40 credits/分

Docker Medium で合計10分のジョブを実行すれば100クレジット、macOS で同じ10分なら3,300クレジットという具合です。macOS や Windowsマシンを利用するとクレジット消費が加速するため、できるだけDockerやLinux VMなどを利用するジョブが多くなるように設計することが、コストパフォーマンスの高い CI / CD パイプライン構築のキーとなります。

2: アクティブユーザー数による課金

2つ目のポイントはユーザー数です。ここでのユーザーとは、「CircleCIを利用したビルドやテスト・デプロイなどのジョブを実行させたユーザー」を指し、そのユーザー数に応じてクレジットが消費されます。よくあるSaaSの「シート課金」と異なるのは、「事前にユーザー数を予約する」のではなく、「実際にCircleCIを利用したユーザー」が請求対象になるということです。

各プランには無料枠があり、Free プランと Performance プランでは5人まで追加コストなしで利用できます。6人目以降の課金は以下の通りです:

  • Performance プラン: 1人あたり 25,000 クレジット/月
  • Scale プラン: 1人あたり 40,000 クレジット/月

Scale プランでは、より大規模なチームでの利用を想定しているため、ユーザーあたりのクレジット消費量が Performance プランより高く設定されています。これは、エンタープライズレベルでの利用において、より多くのリソースやサポートが提供されることを反映したものです。

ここで注意したいのが「Unregistered User(未登録ユーザー)」の扱いです。CircleCI にログインしていない人がコミットしてビルドをトリガーした場合も、アクティブユーザーとしてカウントされます。意図しない課金を防ぐには「Prevent unregistered user spend」オプションを有効にする方法があります。この機能を有効にすると、CircleCI アカウントを持たないユーザーや、VCS アカウントと CircleCI アカウントが紐付いていないユーザーからのパイプライン実行がブロックされます。

ただし、この機能はセキュリティ機能として設計されていることには注意が必要です。これは本来想定外のユーザーやシステムからのパイプライン実行を防止することが主な目的です。 そのため、コスト管理の手段としては副次的な効果となります。

また、Renovate などの依存関係更新ボットを使用している場合、これらのボットも Unregistered User としてカウントされるため、機能を有効にするとビルドがブロックされる点にご注意ください。ボットユーザーを使用する場合は、この機能を無効にするか、ボットユーザーを CircleCI に登録する必要があります。

3: CircleCIのオプション機能利用料

CI / CD をより快適に利用するためのオプション機能が CircleCI にはいくつか用意されています。これらのオプションの中には、利用するためにクレジットを消費するタイプの機能もあります。ここでは代表的なものを2つ紹介しましょう。

1つ目の機能は Docker Layer Caching(DLC)です。Docker イメージのビルドを高速化できる機能で、頻繁に Docker ビルドを行うプロジェクトではパイプラインの実行時間を短縮する効果が期待できます。この機能を利用する場合、ジョブあたり200クレジットを消費します。 3つの並列ジョブで DLC を使えば、1回のパイプライン実行で600クレジットが追加で消費されるという計算です。

次に IP Ranges 機能です。これは CircleCI のクラウドサーバー上で実行されるジョブが、ファイアウォールの内側にあるシステム(プライベートなアーティファクトリポジトリや内部テスト環境など)にアクセスする際に使います。CircleCI のジョブを固定 IP レンジ経由でルーティングすることで、IP 制限のある環境との連携が可能になります。1GB ごとに 450 クレジットを消費します。

4: ストレージ・ネットワークの超過課金

各プランにはストレージとネットワーク転送量の無料枠があります。これはパイプライン内で利用するキャッシュやアーティファクトのアップロードなどで利用されるもので、超過分は420 credits/GB で課金されます。

プラン ネットワーク ストレージ
Free 1 GB 2 GB
Performance 6 GB 20 GB
Scale 50 GB 200 GB

キャッシュやアーティファクトを大量に使うプロジェクトでは、この部分のコストも意識しておく必要があるでしょう。

CircleCI の利用料金シナリオをシミュレーションする

具体的にどれくらいのコストになるか、3つのシナリオで試算してみます。

1: スタートアップの小規模チーム

まずは開発者5名の小規模チームを想定してみましょう。

  • 1日あたり平均20回のビルドで月400回
  • 1ビルドあたり平均5分
  • Docker Medium(10 credits/分)を使用
  • Docker Layer Caching(DLC) など、追加クレジットを消費する機能は使わない

月間のクレジット消費はコンピュート時間が400回×5分×10 で20,000クレジット、ユーザーは5名で無料枠内に収まるため0クレジットとなり、合計20,000クレジット/月です。

Free プランの30,000クレジット内に収まるため、月額$0で運用可能です。

2: 成長中の Web 開発チーム

次に開発者12名のチームで、全員がアクティブにコミットしている状況を考えてみます。1日あたり平均50回のビルドで月1,000回、1ビルドあたり平均8分、Docker Medium を主に使用し、週1回の Docker イメージビルドで DLC を使用(月20回、各3並列ジョブ)というケースです。

月間クレジット消費を計算すると、コンピュート時間が1,000回×8分×10 credits で80,000クレジット、ユーザーは12名から無料枠の5名を引いて7名×25,000で175,000クレジット、DLC が20回×3ジョブ×200 credits で12,000クレジットとなり、合計267,000クレジット/月です。

Performance プランの含有分30,000クレジットを差し引くと、追加購入が237,000クレジット必要になります。クレジットは25,000単位で購入するため、実際には250,000クレジット($150)程度の購入となり、月額約$142といえるでしょう。

3: エンタープライズのモバイルアプリ開発

3つ目では、開発者30名の大規模チームを想定します。

  • 1日あたり平均100回のビルドで月2,000回
  • iOS ビルド(macOS M4 Pro Medium: 200 credits/分)が40%、Android ビルド(Docker Large: 20 credits/分)が60%
  • 平均ビルド時間は iOS が15分、Android が10分
  • IP Ranges を使用して月間10GB のデータ転送
  • DLC を全 Android ビルドで使用(3並列)

月間クレジット消費は、iOS のビルドが 800回 × 15分 × 200 credits で 2,400,000クレジット、Android のビルドが 1,200回 × 10分 × 20 credits で 240,000クレジット、ユーザーが 30名から5名を引いて 25名 × 25,000 で 625,000クレジット、DLC が 1,200回 × 3 × 200 credits で 720,000クレジット、IP Ranges が 10GB × 450 credits で 4,500クレジットとなり、合計は約 3,990,000クレジット/月 です。

クレジット単価 $0.0006 で計算すると約 $2,394/月 になります。

このレベルになると Scale Plan での年間契約が視野に入ります。また、Self-hosted Runner の導入でコンピュートコストを削減する選択肢も検討に値するでしょう。

4: オープンソースプロジェクトの場合

CircleCI は、オープンソースコミュニティを支援するため、Free プランにおいてオープンソースプロジェクト向けの追加クレジットを提供しております。

リポジトリを public に設定している場合、以下の追加クレジットが利用可能です:

  • Linux ビルド: 月間 400,000 クレジット
  • macOS ビルド: 月間 30,000 クレジット

これらのクレジットは、通常の Free プランの 30,000 クレジットに追加で付与されます。オープンソースプロジェクトでは、実質的により多くのビルド時間を確保できるため、活発な開発活動を支援する仕組みとなっています。

なお、これらのオープンソース向けクレジットの利用状況は CircleCI の UI では表示されませんが、自動的に適用されます。

まとめ

CircleCI の料金体系は「クレジット」という共通通貨で、ジョブの実行時間・ユーザー数・追加機能・ストレージの4要素などに対して課金される仕組みです。

コストを最適化する上で重要なのは、まず必要十分なリソースクラスを選ぶことです。CircleCIのInsights機能などを利用し、CPUやRAMなどの利用率が低すぎず高すぎない値になっていることをチェックしましょう。また、macOS や GPU は高コストなので、本当に必要な場面でのみ使うよう心がけましょう。次に「Prevent unregistered user spend」を有効にして、意図しないユーザーからの課金を防ぐ必要があります。最後に、大量のビルドを実行する場合は Self-hosted Runner で自前のマシンを使うことで、コンピュートコストを大幅に削減できます。

まずは Free プランで試してみて、使用量が見えてきたら Performance、さらに大規模になれば Scale へとステップアップしていくのが一般的な流れといえます。

https://circleci.com/pricing

Hidetaka Okamoto profile photo

Hidetaka Okamoto

ビジネスデベロップメント

DigitalCubeのBizDev。EC ASPの開発やStripeのDeveloper Advocateとしての経験を元に、SaaSやECサイトの収益を増やすための方法・生成AIを使った効率化や新しい事業モデルの模索などに挑戦する。