Terraform CLI について
Terraform CLI は HashiCorp のインフラストラクチャ・アズ・コードツールで、宣言的な設定でクラウドリソースを定義・デプロイします。複数のクラウドプロバイダ、プラン・アプライワークフロー、リモート状態管理をサポートしています。
主な機能
- 01.tf ファイルで宣言的にインフラストラクチャリソースを定義する
- 02terraform plan でインフラストラクチャの変更をプレビューしてから適用する
- 03リモート状態を管理し、チーム間でインフラストラクチャ設定を共有・バージョン管理する
活用シーン
- 01バージョン管理でインフラストラクチャ変更を追跡し、リソースデプロイメントを確認する
- 02AWS、Azure、GCP など複数のクラウドプラットフォームにリソースを一貫してデプロイする
- 03インフラストラクチャモジュールとベストプラクティスをチーム間で再利用・共有する
インストール
OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。
インストール後にterraform --versionを実行して確認します。
コマンド例
よく使うコマンドを使う順に並べています。
詳細
Terraform
- ウェブサイト: https://developer.hashicorp.com/terraform
- フォーラム: HashiCorp Discuss
- ドキュメント: https://developer.hashicorp.com/terraform/docs
- チュートリアル: HashiCorp's Learn Platform
- 認定試験: HashiCorp Certified: Terraform Associate
Terraform は、インフラストラクチャを安全かつ効率的に構築、変更、バージョン管理するためのツールです。Terraform は、既存の一般的なサービスプロバイダーだけでなく、独自の社内ソリューションも管理できます。
Terraform の主な機能は次のとおりです。
-
Infrastructure as Code: インフラストラクチャは高水準の構成構文を使用して記述されます。これにより、データセンターの設計図をバージョン管理し、他のコードと同様に扱うことができます。さらに、インフラストラクチャは共有および再利用できます。
-
Execution Plans: Terraform には「planning」ステップがあり、実行プランを生成します。実行プランは、apply を呼び出したときに Terraform が何を行うかを示します。これにより、Terraform がインフラストラクチャを操作する際の予期しない事態を回避できます。
-
Resource Graph: Terraform はすべてのリソースのグラフを構築し、依存関係のないリソースの作成と変更を並列化します。このため、Terraform は可能な限り効率的にインフラストラクチャを構築し、運用担当者はインフラストラクチャの依存関係を把握できます。
-
Change Automation: 複雑な変更セットを、最小限の人手でインフラストラクチャに適用できます。前述の実行プランとリソースグラフにより、Terraform が何をどの順序で変更するかを正確に把握でき、起こりうる多くの人為的ミスを回避できます。
詳細については、Terraform のウェブサイトにある What is Terraform? ページを参照してください。
はじめに & ドキュメント
ドキュメントは Terraform のウェブサイト で入手できます。
Terraform を初めて使用し、インフラストラクチャの作成を始めたい場合は、HashiCorp の学習プラットフォームにある Getting Started ガイド をご覧ください。学習を続けるための 追加のガイド も用意されています。
認定試験に合格して、Terraform の知識をアピールしましょう。試験に関する情報は 認定ページ を参照し、HashiCorp の学習プラットフォームで 学習教材 を見つけてください。
Terraform の開発
このリポジトリには Terraform コアのみが含まれており、これにはコマンドラインインターフェイスとメインのグラフエンジンが含まれます。プロバイダーはプラグインとして実装されており、Terraform は the Terraform Registry で公開されているプロバイダーを自動的にダウンロードできます。一部のプロバイダーは HashiCorp が開発しており、その他は他の組織によって開発されています。詳細については、Plugin development を参照してください。
-
Terraform のコンパイルと提案された変更の貢献について詳しくは、コントリビューションガイド を参照してください。
-
バグレポートの取り扱い方法について詳しくは、バグトリアージガイド を参照してください。
-
Terraform のドキュメントへの貢献方法について詳しくは、Web Unified Docs リポジトリ を参照してください。