この章で学べること
1. なぜTerraformを学ぶのか
手動でAWSリソースを作成していると、「誰がいつ何を変更したかわからない」「本番と同じ環境をもう一つ作れない」「手順書どおりにやったのに設定が違う」といった問題が起きがちです。Terraformを使えばインフラをコードで定義・管理でき、変更履歴の追跡、環境の複製、チームでのレビューが可能になります。インフラエンジニアの求人でも「Terraform経験」は頻出の要件です。
この章では、Terraformの基本文法から、モジュール・リモートバックエンドなどの応用までを学び、実務レベルのインフラコード管理ができるようになることを目指します。
2. 学べること・身につくこと
この章を修了すると、以下のスキルが身につきます。
| スキル | 内容 |
|---|---|
| HCLの基本 | TerraformのHCL構文でAWSリソースを定義できる |
| 変数管理 | variable・locals・outputを使い分けて柔軟な構成を作れる |
| リソース間参照 | リソースの属性参照やdata sourceを使ってリソース同士を連携できる |
| 制御構文 | count・for_each・lifecycleで効率的にリソースを定義できる |
| モジュール化 | モジュールでコードを再利用可能にし、複数環境で使い回せる |
| 既存リソースの取り込み | terraform importで既存のAWSリソースをコード化できる |
| チーム開発 | リモートバックエンド(S3 + DynamoDB)でtfstateをチームで共有管理できる |
3. こんな方におすすめ
- AWSの構築を自動化・コード化したいインフラエンジニアの方
- 手動構築の手間や設定ミスに悩んでいる方
- チームでインフラをレビューしながら管理したい方
- 開発・ステージング・本番環境を同じコードから作りたい方
4. 講座一覧
| 講座名 | 種別 | 概要 | 目安時間 | 料金の目安 |
|---|---|---|---|---|
| IaCの概要 | 講座 | IaCの概念とTerraformの特徴 | 20分 | – |
| Terraformの基本 | 講座 | リソース定義・plan・applyの基本操作 | 45分 | – |
| 変数の利用 | 講座 | variableとlocalsによる値の管理 | 30分 | – |
| リソース間の参照 | 講座 | リソースの属性参照とdata sourceの活用 | 30分 | – |
| TerraformでシンプルなAWS構成を作ろう | ハンズオン | Terraformによる基本的なAWSインフラの構築 | 60分 | 無料枠内 |
| 制御構文 | 講座 | count・for_each・lifecycleによる繰り返しと制御 | 30分 | – |
| モジュール | 講座 | モジュールによるコードの再利用 | 30分 | – |
| 既存リソースを取り込む | 講座 | terraform importによる既存リソースのコード化 | 20分 | – |
| リモートバックエンド管理 | 講座 | S3・DynamoDBを使ったtfstateの共有管理 | 20分 | – |
| terraformコマンド | 講座 | 主要なterraformコマンドの使い方 | 20分 | – |
| TerraformでWebアプリをデプロイしよう | ハンズオン | Terraformによる本格的なWebアプリインフラの構築 | 120分 | 約200〜500円 |
5. この章を学んだら
この章で学んだ内容を実際の成果物に落とし込みたい場合は、章末尾の応用課題に挑戦してみてください。タスク管理APIを動かすAWSインフラを Terraform でコード化し、再現性のあるデプロイを実現する課題です。
応用課題の課題内容は誰でも閲覧できます。メンターによる成果物レビューや、設計判断の壁打ち(メンタリング)はポートフォリオプランでご提供しています。
6. 前提知識
7. 関連する章
- CI/CDパイプライン講座では、本講座のTerraformコードをGitHub Actionsで自動適用するCI/CDパイプラインの構築を学べます