8 個のガイド付きターミナルラボを通じて、Terraform の基本的な Infrastructure as Code ワークフローを学びます。Ubuntu へのインストールから始め、HCL 設定、provider の初期化、変更の plan と apply、変数、outputs、ローカル module、state の調査、制御された destroy を実践します。
コースでは意図的に hashicorp/local provider でラボ内のファイルを管理します。クラウドプラットフォーム、認証情報、課金対象のインフラを使わず、Terraform の概念とコマンド動作に集中できます。
学習内容
修了すると、次のことができるようになります。
- HashiCorp 公式 Ubuntu リポジトリから Terraform をインストールし、署名鍵を確認する。
- HCL で provider を宣言し、
terraform initで初期化してダウンロード済み plugin を調べる。 local_fileresource を定義し、terraform planで確認して apply し、生成ファイルを検証する。- 型付き入力変数を宣言して値を渡し、設定を柔軟かつ再利用可能にする。
- resource 属性から outputs を定義し、
terraform outputで取得する。 - inputs と outputs を持つローカル child module を作り、root 設定から呼び出す。
terraform show、terraform state list、state ファイルでローカル状態を調べ、resource address を移動して refresh する。terraform plan -destroyで削除を確認し、terraform destroyを実行して結果を検証する。
このコースの対象者
Terraform 初心者、初級 DevOps 学習者、クラウド provider を扱う前に宣言型 IaC の仕組みを理解したい開発者向けです。設定、provider plugin、plan、resource、outputs、modules、state の関係を重視します。
前提知識: Terraform の経験は不要です。Ubuntu ターミナルの操作、テキストファイルの作成・編集、コマンド出力の読解が必要で、設定ファイルやコマンドラインでのパッケージ導入の知識があると役立ちます。
学習環境: 8 個のラボは提供済みの Ubuntu 22.04 ターミナルで実行します。最初に Terraform をインストールし、その後はローカルプロジェクトと hashicorp/local を使います。ブラウザのクラウドコンソールは使用しません。
よくある質問
AWS、Azure、Google Cloud などに実際のリソースを作りますか?
いいえ。管理する resource はすべて hashicorp/local が作るローカルファイルです。クラウド provider と共通のワークフローを学びますが、クラウド認証情報や料金は発生しません。
state 管理はどこまで扱いますか?
ローカル state の確認、管理 address の一覧、resource address の移動、refresh を扱います。remote backend、locking、workspace、import、チーム運用は対象外です。
module ラボは公開 Terraform Registry を使いますか?
いいえ。ローカルの modules ディレクトリに child module を作り、inputs と outputs を定義して root から呼び出します。公開、バージョン管理、Registry module の利用は扱いません。
受講前に自分の PC へ Terraform を入れる必要がありますか?
必要ありません。インストールと演習は提供された Ubuntu ラボ内で行い、個人のマシンは変更しません。





