比較
CRACIとDepotの比較
DepotはGitHub ActionsのジョブとDockerイメージのビルドを高速化します。CRACIもGitHub Actionsのジョブを実行しますが、各ビルドが何を取り込んだかを記録し、どこにアクセスできるかを制御します。
更新日
結論
Depotはビルドの高速化を担います。GitHub Actionsランナー、永続的なレイヤーキャッシュを備えたリモートDockerビルドサービス、BazelやGradleなどのツール向けリモートキャッシュ、そして独自のCIエンジンを提供しています。CRACIは、サプライチェーンセキュリティを中心に設計されたGitHub Actions互換のランナーです。すべてのジョブが実際に取得したもののSBOMを生成し、ユーザーが定義したエグレスポリシーのもとで実行されます。
一言でいえば、Depotはビルドの実行速度を最適化し、CRACIはビルドに入り込むものを記録・制御します。どちらもGitHubホステッドランナーを置き換えるため、選ぶのはどちらか一方です。
早見表
| 機能 | CRACI | Depot |
|---|---|---|
| 各ジョブが取得したものの記録 | パッケージを認識するプロキシが全ジョブを記録 | |
| SBOM | ジョブごと、完全性の状態付き | depot buildイメージのSyftによるSPDXスキャン |
| ランナーのエグレスポリシー | パッケージソースのプリセット、ジョブ前に検証 | 許可・拒否ルール、Linuxランナー |
| ビルドの来歴 | API経由で来歴データを提供、署名なし | イメージへのBuildKitアテステーション |
| 出荷済みSBOMの監視 | 脆弱性を継続的に再評価 | |
| CRAのエビデンスとレポート | CycloneDXまたはSPDXのSBOM、API経由の記録、レポートのエクスポートなし | |
| Dockerイメージビルドの高速化 | ローカル、リモート、バインドマウントのレイヤーキャッシュ | リモートBuildKit、永続NVMeキャッシュ |
| WindowsとmacOSのランナー | 現在はLinuxのみ | 全プランでWindowsとmacOSに対応 |
| 自社クラウド内のランナー | 顧客ホスト型ランナー、Enterprise | 自社のAWSアカウント、Businessプラン |
| 料金(2 vCPU Linux) | 1分あたり$0.004(RAM 6 GB)。ARM64も同料金。 | 付属分を超えると1分あたり$0.006(RAM 8 GB)。Armも同料金。 |
| プラン | 2 vCPU 1分あたり$0.004、秒単位で計測。月額料金なし。 | Developerは月額$20(2,000分)、Startupは$200(20,000分)。 |
- 対応
- 一部対応
- 非対応
- ロードマップに掲載
Depotの強み
Depotは、幅広く、ドキュメントの充実したランナーおよびビルドプラットフォームを構築しています。同社のドキュメントから主な点を挙げます。
- 豊富なランナーカタログ。AMD EPYC(Intelラベル)とAWS Graviton4(Arm)のLinuxランナーを、2 vCPU・RAM 8 GBから64 vCPU・256 GBまで提供し、さらにWindows Server 2022と2025、そしてmacOSランナーを全プランで利用できます。
- キャッシュ。ランナーはDepotの分散キャッシュに接続されており、Depotによればアップロードとダウンロードの速度は最大1000 MiB/sに達します。Depotは自社のランナーを「up to 3x faster than a GitHub-hosted runner」(GitHubホステッドランナーより最大3倍高速)で「10x faster caching」(キャッシュが10倍高速)と説明しています。
-
Dockerビルド。
depot buildはdocker buildのドロップイン置き換えで、チーム全体で共有される永続NVMeレイヤーキャッシュを備えたリモートBuildKitホスト上で実行され、x86とArmのイメージをQEMUエミュレーションなしでネイティブにビルドします。Depotによれば、ローカルやCIプロバイダー上でのビルドより最大40倍高速です。 - 分離。GitHub Actionsの各ジョブは、再利用されることのない新しいシングルテナントのEC2インスタンス上で実行されます。
- エグレスフィルタリング。IP、CIDR、ホスト名に対する許可・拒否ルールと、許可または拒否を選べるデフォルトルールを備えています。現在はLinuxランナーに適用されます。
- エンタープライズ向けオプション。Businessプランでは、Depot Managedがデータプレーンを自社のAWSアカウントにデプロイし、AWS PrivateLink、固定の送信元IP、SSOを利用できます。DepotはSOC 2 Type IIレポートを掲げています。
Dockerイメージのビルド時間がCIの主なボトルネックであれば、Depotはまさにその課題のために作られています。
CRACIの違い
CRACIは、出荷するものの信頼できる情報源をビルドそのものと捉えています。ランナーは、そのエビデンスを収集する場所です。
ビルドが取得したものの記録
各ジョブの実行中、パッケージを認識するプロキシがパッケージソースへの通信を記録します。対象はnpm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、apt、apk、Gitの各ソースに加え、ダウンロードプリセットです。依存関係のエビデンスはCIキャッシュとともに引き継がれるため、キャッシュから復元されたパッケージも記録に含まれます。各ジョブのSBOM(CycloneDXまたはSPDX)は、ジョブごと・キャッシュごとに完全性の状態を持つため、記録が完全かどうかがわかります。
DepotもSBOMを生成できます。--sbom=trueをdepot buildに付けると、SyftでSPDX
SBOMを生成します。これはビルドが生成したイメージのスキャンです。CRACIの記録はジョブ全体を対象とし、イメージに含まれないビルドツールやパッケージ、さらにイメージをまったくビルドしないジョブもカバーします。
ソフトウェアソース向けに設計されたエグレスポリシー
どちらの製品も、ランナーからの想定外の外向き通信をブロックできます。CRACIのポリシーはデフォルト拒否またはデフォルト許可で、24の組み込みソフトウェアソースプリセット、npm、PyPI、apt、apk、Goプロキシ、Nix、Cargo、OCIレジストリ、HTTPSおよびSSH経由のGit向けの型付きカスタムソース、そして明示的なTLS、TCP、UDP、ICMPルールを備えています。ポリシーはジョブの開始前に検証され、フェイルクローズで動作し、違反時にはアラートを送信します。DepotのルールはIP、CIDR、ホスト名のレベルで機能するため、それだけで十分であれば理解しやすい仕組みです。
来歴と監視
-
来歴データ。APIはSBOM、ネットワークトレース、来歴を返します。CRACIは来歴に署名しません。Depotのイメージビルドでは、
--provenanceフラグでBuildKitの来歴アテステーションを付与できます。 - 出荷したものの監視。監視対象のSBOMは新しい脆弱性に対して継続的に再評価され、検出結果はビルドやリポジトリをまたいで集約されます。
料金とサイズ
2026年11月時点で、Depotは2 vCPU・8 GBのLinuxランナーについて、プランに含まれる分数を超えると1分あたり$0.006を請求し、より大きなサイズは比例して増えます。32 vCPUは1分あたり$0.096です。Developerプランは月額$20で2,000分のGitHub Actions分数が含まれ、Startupプランは月額$200で20,000分が含まれます。Depotは使用量を秒単位で計測し、実行ごとの1分の最低課金はなく、7日間の無料トライアルを提供しています。
CRACIは1 vCPU分あたり$0.002を請求するため、2 vCPUは1分あたり$0.004、32 vCPUは1分あたり$0.064で、ARM64も同料金です。計測は秒単位で、月額料金はありません。Depotのプラン付属分を超えた部分と比べると、どのサイズでも1分あたり約33%安くなります。比較の際はメモリをそろえてください。CRACIのコンピュートユニットは1 vCPUあたりRAM 3 GBですが、Depotのランナーは1 vCPUあたり4 GBです。最新の条件はCRACIの料金をご覧ください。
どちらが適しているか
Depotが適しているケース
- DockerイメージのビルドがCI時間の大半を占めている。
- WindowsやmacOSのランナーが必要。CRACIは現在Linuxのみで、WindowsとmacOSはロードマップに掲載されています。
- 自社のAWSアカウント内でランナーを動かす必要がある。CRACIはまだ顧客ホスト型ランナーを提供しておらず、Enterprise向けにロードマップに掲載されています。
- Bazel、Gradle、Turborepo、sccacheのリモートキャッシュに依存している。
CRACIが適しているケース
- リリースに何が含まれたかを、ビルドそのものから完全性の状態付きで示す必要がある。
- ビルドのエグレスをパッケージソース単位で制御し、各ジョブの前に検証したい。
- 出荷済みSBOMの監視を一か所で行いたい。
- EUのデータレジデンシーが必要(CRACIのEnterpriseプランで利用可能)。
Cyber Resilience Actへの対応
Cyber Resilience Actは製造業者に対し、製品に含まれるコンポーネントを把握し、その脆弱性に対処し、エビデンスを保持することを求めています。Depotの製品はビルドインフラであり、ドキュメントの焦点は速度、キャッシュ、分離にあります。CRACIは、企業がより広範なCRAコンプライアンスプロセスに必要とするソフトウェアサプライチェーンの可視性とエビデンスのかなりの部分を自動化します。ビルド時SBOM、脆弱性トラッキング、来歴、そしてCycloneDXまたはSPDX形式でのSBOMエクスポートです。
DepotからCRACIへの移行
組織にCRACI GitHub Appをインストールし、すべてのリポジトリまたは選択したリポジトリへのアクセスを許可したうえで、ジョブのランナーラベルを変更します。
runs-on: craci
ワークフローもGitHubのUIもそのままです。出荷するものをビルドするジョブから始めて、1つずつ移行してください。そのSBOMとネットワークトレースを確認し、必要なソースを許可するエグレスポリシーを作成します。CI/CD連携とビルド時のSBOM生成についてもご覧ください。
キャッシュ、OIDCの信頼ポリシー、IP許可リスト、フォールバックについては、GitHub Actionsのランナープロバイダーを切り替える方法をお読みください。