InfraAcademy
DevOps講座

Terraform入門

TerraformによるIaCの基礎を学びます。設定ファイルの書き方、主要コマンド、リソース管理の流れをハンズオンで理解します。

0%
スタートする

Terraform入門のレッスン

0 / 17 完了
1 今回の講座で学ぶ内容 インフラをコード化するツールTerraformについて学ぶ講座の導入回です。IaC(Infrastructure as Code)の概要、Terraformとは何か、Terraformの使い方やインフラ構築の実践、設定ファイルの書き方、コマンドの使い方など、インフラエンジニアが知っておきたい本講座の内容全体を概観します。 有料会員のみ 次に学習 2 IaCとは? インフラをコードとして定義するIaC(Infrastructure as Code)の考え方を学びます。サーバーやネットワーク、ストレージなどのインフラ構成をコード化することで、手作業での設定が不要になり自動化が可能になるといったメリットを、Webサーバー設定を例にした図解を交えながら丁寧に理解します。 有料会員のみ 未受講 3 Terraformとは? HashiCorp社が提供するIaCツールTerraformについて学びます。AWSやAzure、Dockerなどさまざまなプラットフォームに対応していることや、HCL(HashiCorp Configuration Language)という独自言語で設定ファイルを記述し、コマンドを実行するだけでインフラが作成される仕組みを理解します。 有料会員のみ 未受講 4 今回構築する構成 Terraformのハンズオンとして、DockerのWebサーバーコンテナをコードから構築する演習の全体構成を確認します。Terraformのインストール、HCLファイルの記述、デプロイという3つの手順で進めることを図解で把握し、次のステップであるTerraformのインストール作業へとつなげます。 有料会員のみ 未受講 5 Terraformのインストール シミュレーター環境でwgetコマンドを使いTerraformのAlpine用パッケージを取得し、apk addでインストールする手順を解説する。terraform --versionでバージョン表示を確認し、環境構築が正しく完了したかを確認するところまでを、実際にコマンドを打ちながら体験できる内容になっている。 有料会員のみ 未受講 6 コードの記述 vi main.tfコマンドでmain.tfファイルを開き、Dockerプロバイダの設定やnginxイメージ、コンテナリソースの定義を実際に記述する。terraform{}やprovider、resourceブロックの書き方を、Dockerでnginxコンテナを構築する具体例を通して学べるハンズオン形式の内容になっている。 有料会員のみ 未受講 7 インフラをデプロイする terraform planコマンドで擬似的な構築結果を事前確認してから、実際にインフラをデプロイする流れを解説する。デプロイ前後でOPEN PORTからWebページの表示を比較し、DockerコンテナがWebサーバーとして正しく機能するようになる様子を、実際に手を動かしながら確認していくハンズオン内容を扱う。 有料会員のみ 未受講 8 インフラの設定を変更する main.tfファイルを編集してDockerのポート番号を8000から8001に変更する例をもとに、terraform validateコマンドで構文チェックを行い、変更内容を再デプロイするまでの一連の流れを学ぶ。既存インフラの設定変更をコードベースで安全に反映させる、実践的な手順をハンズオン形式で扱う。 有料会員のみ 未受講 9 インフラを削除する terraform destroyコマンドを使い、これまで作成したDockerコンテナなどのインフラを削除する手順を解説する。確認プロンプトへの応答方法やDestroy complete表示の確認方法まで、構築したリソースを安全に破棄する流れを、実際にコマンドを実行しながら体験できるハンズオン内容になっている。 有料会員のみ 未受講 10 設定ファイル Terraformの設定ファイルを構成する、プロバイダの設定、リソースの定義、変数の定義、データソースの定義、出力の定義という5つの要素の全体像を解説する。すでに作成したmain.tfの記述内容と対応付けながら、それぞれの要素が持つ役割と設定ファイル全体の構造を整理して理解できるように、以降のレッスンで詳しく解説していく導入となる内容。 有料会員のみ 未受講 11 プロバイダの設定 Terraformのプロバイダの役割と、terraform{}内のrequired_providersでバージョンを指定し、provider"docker"{}でプロバイダ本体の設定を行う記述方法を解説する。AWSやDockerなど、対象とするインフラの種類ごとに異なるプロバイダが必要になる仕組みについても具体的に学べる内容。 有料会員のみ 未受講 12 リソースの定義 Terraformのresourceブロックについて、resource "<provider_type>" "<resource_name>"という書式を用いて、EC2やVPCなど作成・更新・削除するインフラを定義する方法を解説する。プロバイダとリソースを組み合わせてインフラを構築するTerraformの基本的な仕組みを具体例とともに学べる。 有料会員のみ 未受講 13 変数の定義 AWSのregionやavailability_zoneなど繰り返し使う値をvariableブロックで変数化し、設定の柔軟性と再利用性を高めるTerraformの変数定義の書き方を解説する。同じ値が複数箇所に登場するコード例をもとに、共通部分を変数としてまとめて管理する具体的な記述方法を学べる内容になっている。 有料会員のみ 未受講 14 データソースの定義 Terraformのdataブロックを使い、外部APIや既存リソースの情報を取得するデータソースの定義方法を解説する。data "[プロバイダ]_[ソースタイプ]" "[データソース名]"という書式と、AWSインスタンスからIPアドレスを取得する具体例を通して、他のリソースの情報を活用する仕組みを学べる。 有料会員のみ 未受講 15 出力の定義 outputブロックを使い、Terraformの実行結果から作成したリソースの情報を出力する方法を解説する。output "[出力名]"にvalueとしてaws_instance.example.public_ipなどを指定し、構築したサーバーのIPアドレスを画面に表示させる具体的な記述例をもとに学べる内容になっている。 有料会員のみ 未受講 16 Terraform設定ファイルの作成ハンズオン これまで学んだプロバイダ、リソース、変数、データソース、出力の5要素を踏まえ、apk add terraformでのインストールからvi main.tfでのファイル作成まで、実際にDockerでWebサーバーを構築するTerraformの設定ファイルを一からまとめて作成する、総復習のハンズオンとなっている。 有料会員のみ 未受講 17 Terraformの関連コマンド terraform init、terraform fmt、terraform validate、terraform planなど、講座内で使用したTerraformコマンドを一覧でまとめて復習する。それぞれのコマンドが持つ役割と実行するタイミングを整理し、初期化から構文チェック、擬似実行までの一連の流れを改めて確認できる内容になっている。 有料会員のみ 未受講