初心者向け Terraform

このコースでは、Terraform を使用した Infrastructure as Code(IaC)の基礎を学びます。インストール、プロジェクト設定、リソース作成、変数、出力、モジュール、ステート管理、リソースの破棄について探求します。

DevOps

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

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_file resource を定義し、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 ラボ内で行い、個人のマシンは変更しません。

講師

labby
Labby
Labby is the LabEx teacher.