クラウド
上級

Terraform/OpenTofu IaC(テラフォームオープントフ)

Infrastructure as Code。Terraform 1.12(HashiCorp・BSL License)・OpenTofu 1.10(OSS fork・Linux Foundation)・HCL言語・Provider(AWS/GCP/Azure/Cloudflare)・Atlantis(PR-based apply)・Terragrunt・Spacelift・Env0・Pulumi(Typescript/Python/Go)・Crossplane(Kubernetes CRD)・CDK for Terraform(cdktf)対応、2026年OpenTofu移行+Pulumi台頭。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
Terraform 1.12
OpenTofu 1.10
Pulumi
Crossplane

概要

Terraform/OpenTofu IaC は、インフラ構成をコードで管理する手法である。HashiCorp が開発した Terraform 1.12(BSL ライセンス)と、Linux Foundation が主導する OSS フォーク OpenTofu 1.10 が代表的である。両者は HCL(HashiCorp Configuration Language)を採用し、AWS、GCP、Azure、Cloudflare など多様な Provider を通じてクラウドリソースを宣言的に作成・更新できる。2026年には OpenTofu への移行が進み、Pulumi の TypeScript/Go/Python での IaC も台頭している。Crossplane は Kubernetes CRD を利用し、クラウドリソースを Kubernetes ネイティブに管理する点で差別化される。

主な特徴・仕組み

  • 宣言型構成:リソースの最終状態をコードで記述し、実行時に差分を自動で検知。
  • Provider エコシステム:AWS EC2 m5.large、GCP Compute Engine e2-standard-4、Azure VM D4s_v3、Cloudflare Workers KV など、主要クラウドが公式にサポート。
  • 状態管理:Terraform Cloud/Enterprise、OpenTofu Remote State、S3 バケットなどで状態を安全に保持。
  • モジュール化:再利用可能なモジュールを作成し、チーム間で共有。
  • CI/CD 連携:Atlantis(PR ベース apply)、Terragrunt、Spacelift、Env0 などで自動化。
  • CDK for Terraform (cdktf):TypeScript で HCL を生成し、開発者の慣れた言語で IaC を記述。
  • Crossplane:Kubernetes CRD を利用し、クラウドリソースをクラスタ内で管理。
  • Pulumi:プログラミング言語で IaC を記述し、型安全性と IDE サポートを提供。
  • 2025年に登場した Terraform 1.12 の新機能で、モジュールのバージョン解決が高速化。
  • 2026年の OpenTofu 1.10 では、セキュリティスキャン機能が標準装備。

スペック/製品比較表

Terraform 1.12OpenTofu 1.10PulumiCrossplaneCDK for Terraform
言語HCLHCLTypeScript/Go/PythonYAML/CRDTypeScript
ライセンスBSLOSSOSSOSSOSS
主な ProviderAWS/GCP/Azure/Cloudflare同上AWS/GCP/Azure/Cloudflare同上同上
状態管理S3/RemoteS3/RemoteS3/RemoteCRDS3/Remote
CI/CD 連携Atlantis, SpaceliftAtlantis, SpaceliftPulumi Automation APICrossplane CLICDK CLI
2025年更新速度向上なしなしなしなし
2026年更新なしセキュリティスキャンなしなしなし

具体例・対応製品

  • AWS EC2 m5.large:2 vCPU、8GB RAM、EBS 最適化。
  • GCP Compute Engine e2-standard-4:4 vCPU、16GB RAM、SSD ストレージ。
  • Azure VM D4s_v3:4 vCPU、16GB RAM、Premium SSD。
  • Cloudflare Workers KV:1000GB ストレージ、1Gbps 帯域。
  • HashiCorp Terraform 1.12:CLI 1.12.0、プラグイン 1.12.0。
  • OpenTofu 1.10:CLI 1.10.0、プラグイン 1.10.0。
  • Pulumi 3.0:TypeScript 4.8、Go 1.18、Python 3.10。
  • Crossplane 1.5:Kubernetes 1.24 互換。
  • CDK for Terraform 0.20:TypeScript 4.8、Node.js 16。

自作PCでの選び方・注意点

  • CPU:IaC の実行は CPU 集約的。Intel Core i7 12700K(12コア、3.6GHz)や AMD Ryzen 9 7950X(16コア、4.5GHz)を推奨。
  • メモリ:Terraform の状態管理やモジュール解析に 32GB RAM が最低。
  • ストレージ:NVMe SSD 1TB(PCIe 4.0 x4、速度 3500MB/s)で高速な状態ファイル読み書き。
  • ネットワーク:10Gbps LAN ポートでクラウド API へのレイテンシ低減。
  • 電源:650W 80+ Gold で安定供給。
  • 冷却:水冷クーラー 240mm で 120°C まで抑制。
  • OS:Ubuntu 24.04 LTS で公式 CLI が最適化。
  • バックアップ:S3 バケットに状態ファイルを自動同期。
  • セキュリティ:AWS IAM ポリシーは最小権限で設定。
  • 監視:Prometheus + Grafana で Terraform 実行ログを可視化。

関連用語との違い

  • Ansible:構成管理に対し、IaC はリソースのプロビジョニング。
  • Chef/Puppet:宣言型だが、主にサーバー設定。IaC はクラウドリソース全般。
  • Kubernetes:コンテナオーケストレーション。Crossplane は Kubernetes CRD でクラウドリソースを管理。
  • Pulumi:IaC だが、プログラミング言語で記述。Terraform は HCL で宣言型。
  • CDK:AWS CDK は CloudFormation を生成。Terraform はクラウドプロバイダを横断。

よくある質問

Q1. Terraform と OpenTofu の違いは何ですか?
A1. Terraform は BSL ライセンスで商用利用に制限がある一方、OpenTofu は OSS フォークで商用利用が自由。機能はほぼ同等で、OpenTofu はセキュリティスキャンが標準。

Q2. Pulumi は Terraform より優れていますか?
A2. Pulumi は TypeScript/Go/Python で書けるため、既存の開発者にとって学習コストが低い。Terraform は HCL で書くため、IaC 専門家に適している。

Q3. Crossplane を使うメリットは?
A3. Kubernetes ネイティブにクラウドリソースを管理でき、同一クラスタ内でアプリとインフラを統合できる。

まとめ

Terraform/OpenTofu IaC は、クラウドリソースをコードで管理し、再現性と自動化を実現する。2025年の Terraform 1.12 で高速化が進み、2026年の OpenTofu 1.10 でセキュリティ機能が強化される。Pulumi や Crossplane との併用で、言語選択や Kubernetes 連携が可能になる。自作PC で IaC を実行する際は、CPU、メモリ、ストレージを十分に確保し、状態管理とセキュリティを徹底することで、安定したインフラ運用が実現できる。

この記事について
カテゴリークラウド
難易度上級
作成日2026/4/22