Terraform 運用 #6 実行プラットフォーム比較 — 素の CI、HCP Terraform、Atlantis、Spacelift

読了 4分

#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 のどちらを使うかの判断基準を整理して、シリーズを締めくくります。

X