Terraform 運用 #6 実行プラットフォーム比較 — 素の CI、HCP Terraform、Atlantis、Spacelift
#1から#4までに作ったものを振り返ると、PR の plan コメント、apply の自動化、同時実行制御、スキャン、コスト表示まで、すべて GitHub Actions の上に手作業で組み立てました。この組み立て品を製品として売る領域があります。Terraform 実行プラットフォームです。今回は「自作したもの vs 買って使うもの」の比較で、結論から言うと多くのチームには自作で十分であり、プラットフォームは特定の苦痛が実在するようになったときに買うものです。その苦痛が何なのかが今回の内容です。
自作(素の CI)の限界線 #
GitHub Actions 方式の強みは明確です。追加コストがなく、すでに知っている道具で、すべてが自チームの管理下にあります。弱点はチームが大きくなるにつれて表面化します。
- 実行履歴がログの山です: 「先週 prod に何が適用されたか」の答えが Actions のログ検索です。スタックが増えると、全体の状況を一目で見られる画面がありません。
- 権限モデルが粗いです: 「このチームはこのスタックだけ apply 可」のような細かい制御を、GitHub の権限と IAM の組み合わせで自作する必要があります。
- ポリシーがコードレビューに依存します: 「本番リソースにはタグ必須」「特定リージョンの使用禁止」のようなルールを、スキャナーのルールとレビュアーの目だけで防ぐのには限界があります。
- 組み立て自体がメンテナンス対象です: plan コメントのスクリプト、同時実行制御、スキャン連携のすべてが、チーム自身で直すべきコードです。
マネージド — HCP Terraform #
HashiCorp のマネージドプラットフォームです(Terraform Cloud という旧名のほうが有名で、セルフホスト版が Terraform Enterprise です)。リモート実行と state の保管、PR 連携、実行履歴の UI、RBAC を標準で備え、差別化ポイントは Sentinel によるポリシーのコード化です。「インスタンスタイプはこのリストのみ」「金曜午後の apply 禁止」のようなルールをポリシーコードとして強制できます。state の保管場所を兼ねるので、基礎 #9の S3 バックエンド構成自体が不要になるのも特徴です。無料ティアがあるので小規模なら無料で始められ、有料の範囲はリソース数ベースの課金です。具体的な料金とティアの境界は変動が多いため、導入時点で公式ページを確認することを前提にし、評価の観点は「ポリシー・RBAC・履歴 UI にその金額を払うか」に置けば十分です。
セルフホスト OSS — Atlantis #
Atlantis は PR のコメントで Terraform を操作するオープンソースのサーバーです。PR に atlantis plan、atlantis apply とコメントすると、サーバーが実行して結果をコメントで返します。#1 で作ったワークフローの完成形を、インストール型で提供してくれるわけです。無料でデータが自前のインフラの外に出ない代わりに、Atlantis サーバー自体が強い権限を持つ運用対象のインフラになります。外部の SaaS に認証情報を預けられない組織で特に好まれます。
商用専門プラットフォーム — Spacelift 系 #
Spacelift、env0 のような商用プラットフォームは、HCP Terraform と同じ領域を狙いながら、マルチツール対応(Terraform と OpenTofu はもちろん、Pulumi、Ansible まで)、OPA ベースのポリシー、柔軟なワークフローを差別化ポイントとして掲げています。スタック数十個以上の組織で、HCP Terraform と並べて見積もりを取る候補群と考えれば十分です。
選択基準 #
| 状況 | 無難な選択 |
|---|---|
| スタック数個、小規模チーム | 素の CI(このシリーズの構成) |
| 認証情報を外部に預けられない組織 | Atlantis |
| ポリシー強制・RBAC・履歴 UI が必要になった規模 | HCP Terraform または Spacelift 系の見積もり比較 |
| OpenTofu 採用またはマルチツールの組織 | Spacelift 系 |
判断の軸は結局 #5 と同じです。苦痛が実在するか、です。実行履歴を探してログを掘り返す時間、権限事故のリスク、ポリシー違反がレビューをすり抜ける頻度が体感され始めたら、プラットフォームの見積もりを取るときで、その前なら自作したワークフローがいちばん安くて透明な答えです。ちなみに表に OpenTofu が登場しましたが、どのツールを実行するか自体が選択になった時代背景は次回で整理します。
まとめ #
今回扱った内容です。
- 素の CI での自作の限界は、実行履歴の可視化、細かい権限、ポリシー強制、組み立て品のメンテナンスの 4 つです
- HCP Terraform はリモート実行・state 保管・Sentinel ポリシーを備えたマネージドで、料金はリソース数ベースなので導入時点での確認が必要です
- Atlantis は PR コメント駆動のセルフホスト OSS で、認証情報を外に出せない組織の答えです
- Spacelift 系の商用はマルチツール対応と OPA ポリシーが差別化ポイントです
- 選択基準はツールではなく苦痛の実在です。体感される前は素の CI がいちばん安くて透明です
次回(#7 OpenTofu とライセンス)はトラックの最終回です。BSL への転換とフォークの経緯、IBM による買収後の勢力図、そして Terraform と OpenTofu のどちらを使うかの判断基準を整理して、シリーズを締めくくります。