本文へスキップ

Terraformとは?

てらふぉーむ

Terraformとは、コードインフラ定義して複数のクラウドやサービスに対して一貫してリソースを作成・管理できる、HashiCorp製のオープンソースIaCツールです。

Terraform(テラフォーム)は、HashiCorpが開発したInfrastructure as Code(IaC)ツールで、2014年にリリースされました。クラウドインフラリソース仮想マシンネットワーク・ストレージ・DNSなど)をコードとして定義し、その定義に基づいてインフラを自動で構築・変更・破棄できます。

設定ファイルはHCL(HashiCorp Configuration Language)というJSON互換の独自言語で記述します。HCLは人が読み書きしやすく、複雑な依存関係も直感的に表現できます。

Terraformの中心概念は宣言的アプローチです。「こういう状態にしたい」と記述するだけで、現在の状態との差分を自動計算して必要な操作だけを実行します。主な特徴は次の通りです。

  • マルチクラウド対応: AWS・Google Cloud・Azure・Oracle Cloudなど1,000以上のプロバイダーを統一した書き方で扱える
  • 状態管理(State): 現在のインフラ状態をtfstateファイルに記録し、差分だけを適用する
  • プランの可視化: terraform planで変更内容を事前確認できるため安全な運用が可能
  • モジュール化: 再利用可能なモジュールとして設定をパッケージ化し、チームで共有できる

DevOpsやSREの現場では、インフラをGitで管理する「GitOps」のアプローチと組み合わせてよく使われます。AnsibleやPuppetが「OSインストール後の設定管理」を担うのに対し、Terraformは「インフラリソース自体の作成・削除」を担うという役割分担が一般的です。

使い方・例文

Terraformは「AWSに本番環境のVPC・サブネット・EC2・RDSをまとめて構築し、その構成をGitで管理したい」という場面で活躍します。コードのレビューを通じてインフラ変更を安全に追跡できます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語