1. 概要
- Terraform Cloudのremote実行モードとlocal実行モードの違い
- どちらを選ぶべきかの判断基準
- remote実行モードの特徴と制約
- local実行モードでState管理だけTerraform Cloudを使うパターン
Terraform Cloudには「実行環境をどこにするか」という選択があります。Remote実行(Terraform Cloud側でplan/applyを実行)とLocal実行(自分のマシンやCI/CDで実行し、StateだけTerraform Cloudに保存)の2択です。
2. Remote実行モード(デフォルト)
Developer / CI/CD
│ git push / API trigger
↓
Terraform Cloud Runner
│ terraform plan
│ terraform apply
↓
AWS / GCP 等
特徴:
- plan/applyはTerraform Cloudのインフラ(Runner)で実行される
- 実行ログ・StateはすべてTerraform Cloud上で管理される
- VCS連携で自動トリガー可能
# remote実行モードの設定
terraform {
required_version = ">= 1.9"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
cloud {
organization = "my-org"
workspaces {
name = "production"
}
}
}
provider "aws" {
region = "ap-northeast-1"
}
variable "environment" {
description = "環境名"
type = string
default = "dev"
}
3. Local実行モード
Developer / CI/CD(ローカル or セルフホストRunner)
│ terraform plan / apply(ローカルで実行)
│ State の読み書きだけTerraform Cloudへ
↓
Terraform Cloud(State管理のみ)
特徴:
- plan/applyはローカルマシンやCI/CDサーバーで実行される
- StateファイルだけTerraform Cloudに保存される(チーム間でのState共有・ロックが可能)
- Terraform CloudのRunnerのネットワーク制限を受けない(VPC内リソースへのアクセスが容易)
Workspace → Settings → Execution Mode → Local で設定します。
4. Agent実行モード
自社ネットワーク内のRunnerでplan/applyを実行するモードです。詳細はTerraform CloudのAgent設定ガイドを参照してください。
Terraform Cloud
│ RunキューをAgentに転送
↓
Self-hosted Agent(オンプレ / VPC内EC2等)
│ terraform plan / apply
↓
オンプレ / VPC内リソース
5. 実行モード比較
| 比較軸 | Remote | Local | Agent |
|---|---|---|---|
| 実行環境 | TF Cloud Runner | ローカル / CI | セルフホストAgent |
| VPC内リソースへのアクセス | 制限あり | 容易(ローカルと同じ) | 可能(Agentがネット内) |
| State管理 | TF Cloud | TF Cloud | TF Cloud |
| プラン | Free〜 | Free〜 | Business |
| 監査ログ | ✅(実行ログ含む) | ❌(ローカル実行のため) | ✅ |
6. どちらを選ぶべきか
Remote実行を選ぶケース:
- Terraform CloudのRunnerがAWSリソースに直接アクセスできる(パブリックAPIのみ)
- Terraform CloudのUI上で実行ログを一元管理したい
- VCS連携で自動plan/applyをしたい
Local実行を選ぶケース:
- VPC内のプライベートAPIやオンプレリソースにアクセスする必要がある
- GitHub Actionsなど既存のCI/CDと統合しつつ、StateだけTerraform Cloudを使いたい
- Terraform Cloudのネットワーク制限を回避したい
7. 関連記事
- Terraform CloudのAgent設定ガイド — Agent実行モード詳解
- Terraform Cloud vs GitHub Actions — どちらで運用すべきか — プラットフォーム比較
- Terraform CloudのVCS連携設定ガイド — Remote実行でのVCS連携
- Terraform Cloudは無料でどこまで使える? — 料金プラン
- backend — stateファイルの保存場所を設定 — backendの設定
- GitHub ActionsでTerraformを実行する方法 — Local実行のCI/CD例
8. まとめ
- Remote実行はplan/applyがTerraform Cloudで動く。VCS連携・監査ログが充実
- Local実行はplan/applyをローカルやCI/CDで実行し、StateだけTerraform Cloudに保存
- VPC内リソースにアクセスしたい場合はLocal実行かAgent実行を選ぶ
- 新規プロジェクトはRemote実行から始め、制限に当たったらLocal/Agentへ切り替えるのが現実的
対象バージョン: Terraform Cloud (2024) 公式ドキュメント: https://developer.hashicorp.com/terraform/cloud-docs/workspaces/settings#execution-mode