以下の内容はhttps://dk521123.hatenablog.com/entry/2019/12/09/222057より取得しました。


【Terraform】Terraform ~ 入門編 ~

■ はじめに

Terraform (テラフォーム)について、学ぶ。

目次

【1】Terraform
 1)使用言語
 2)サポートOS
【2】Core Terraform Workflow
 1)Write
 2)Plan
 3)Apply
【3】主なTerraformコマンド一覧
【4】その他の便利コマンド一覧

【1】Terraform

* Vagrant を開発しているHashiCorp社が提供する
 環境構築するためのIaC(Infrastructure as Code)ツール
 => 独自の設定ファイル (拡張子 .tf) から IaC できる

1)使用言語

* HCL(HashiCorp Configuration Language)という
 HashiCorp社製品で使われている独自の言語で記述

2)サポートOS

* 主要なOSは全て網羅
 + Windows
 + Mac
 + Linux

https://developer.hashicorp.com/terraform/downloads

【2】Core Terraform Workflow

* 以下の公式ドキュメントより
 => こういうシンプルなコンセプトは、非常にいいと思う

https://developer.hashicorp.com/terraform/intro/core-workflow

1)Write

* まずは、環境設定をTerraformコードとして書く。

2)Plan

* 「terraform plan」などで、デプロイ前に差分を見て、計画する

3)Apply

* Terraformコードを適用して、デプロイする

【3】主なTerraformコマンド一覧

* 詳細は、以下の関連記事を参照

Terraform ~ terraformコマンド ~
https://dk521123.hatenablog.com/entry/2025/09/25/213557

Command Explanation Memo
terraform init 初期化処理
terraform plan 変更内容を確認する yesを省略するには「terraform apply -auto-approve」
terraform apply Terraformコードを実行する
terraform destroy Terraformコードで作成したリソースを削除 実行前に「terraform plan -destroy」がよさげ

Terraform ~ terraform initコマンド ~
https://dk521123.hatenablog.com/entry/2025/09/24/221918

【4】その他の便利コマンド一覧

* 詳細は、以下の関連記事を参照

Terraform ~ terraformコマンド ~
https://dk521123.hatenablog.com/entry/2025/09/25/213557

Command Explanation Memo
terraform state stateに関するコマンド
terraform show 管理しているリソースを表示
terraform refresh stateと実際のInfra状況を同期するようなコマンド
terraform workspace workspaceに関するコマンド
terraform fmt HCLファイルをフォーマット terraform fmt -recursive
terraform graph Terraformの依存関係をグラフ化 dot -Tpng > graph.png
terraform import 既存のインフラストラクチャをTerraformの管理下に置くためのコマンド terraform import [tfファイルのtypeとName] [対象リソース]

参考文献

https://minegishirei.hatenablog.com/entry/2023/01/27/120400

関連記事

Terraform ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/04/05/000224
Terraform ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2023/05/03/000000
Terraform ~ Data Sources ~
https://dk521123.hatenablog.com/entry/2024/01/16/191006
Terraform ~ Module ~
https://dk521123.hatenablog.com/entry/2023/05/19/113544
Terraform ~ local ~
https://dk521123.hatenablog.com/entry/2023/12/24/173633
Terraform ~ variable / 入門編 ~
https://dk521123.hatenablog.com/entry/2025/09/19/093537
Terraform ~ variable / 基本編 ~
https://dk521123.hatenablog.com/entry/2025/09/20/002058
Terraform ~ tfstate / Backend ~
https://dk521123.hatenablog.com/entry/2023/05/05/004939
Terraform ~ Workspace ~
https://dk521123.hatenablog.com/entry/2024/06/01/144048
Terraform ~ null_resource / terraform_data ~
https://dk521123.hatenablog.com/entry/2024/06/02/222341
Terraform ~ テンプレート ~
https://dk521123.hatenablog.com/entry/2023/05/22/101325
Terraform ~ 条件分岐 ~
https://dk521123.hatenablog.com/entry/2024/08/13/134030
Terraform ~ ループ ~
https://dk521123.hatenablog.com/entry/2024/08/12/231256
Terraform ~ terraformコマンド ~
https://dk521123.hatenablog.com/entry/2025/09/25/213557
Terraform ~ terraform initコマンド ~
https://dk521123.hatenablog.com/entry/2025/09/24/221918
Terraform ~ terraform linter ~
https://dk521123.hatenablog.com/entry/2025/09/26/143659
Terraform ~ Terraformあれこれ ~
https://dk521123.hatenablog.com/entry/2023/05/15/205352
Terraform ~ Provider ~
https://dk521123.hatenablog.com/entry/2024/06/03/001929
Terraform ~ AWS S3 ~
https://dk521123.hatenablog.com/entry/2023/04/09/104204
Terraform ~ AWS IAM ~
https://dk521123.hatenablog.com/entry/2023/04/12/214311
Terraform ~ AWS Glue ~
https://dk521123.hatenablog.com/entry/2023/04/08/220411
AWS上に合成データ生成システムを構築する 〜 インフラ編 〜
https://dk521123.hatenablog.com/entry/2025/12/25/000120
Terraform ~ AWS KMS ~
https://dk521123.hatenablog.com/entry/2023/05/26/000000
Terraform ~ AWS Secrets Manager ~
https://dk521123.hatenablog.com/entry/2023/04/11/152801
Terraform ~ AWS CloudWatch ~
https://dk521123.hatenablog.com/entry/2023/05/17/123335
Terraform ~ AWS EC2 ~
https://dk521123.hatenablog.com/entry/2023/05/21/003048
Terraform ~ AWS Lambda / 入門編 ~
https://dk521123.hatenablog.com/entry/2024/05/30/010920
Terraform ~ AWS Lambda / あれこれ ~
https://dk521123.hatenablog.com/entry/2024/05/31/005406
Terraform ~ AWS MWAA ~
https://dk521123.hatenablog.com/entry/2023/12/25/000152
Terraform ~ AWS ECR ~
https://dk521123.hatenablog.com/entry/2023/05/23/002314
Terraform ~ AWS CodeArtifact ~
https://dk521123.hatenablog.com/entry/2024/01/26/232109
Terraform ~ AWS MSK ~
https://dk521123.hatenablog.com/entry/2023/05/14/122215
Terraform ~ AWS MSK Connect ~
https://dk521123.hatenablog.com/entry/2023/05/25/000000
AWS MSK Connect 内の 接続情報を設定を考える
https://dk521123.hatenablog.com/entry/2023/06/04/230737
Terraform ~ tag あれこれ ~
https://dk521123.hatenablog.com/entry/2023/06/05/224944
Terraform ~ Docker ~
https://dk521123.hatenablog.com/entry/2023/04/10/193239
Terraform ~ Datadog / 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/05/12/000000
Terraform ~ 特定リソースのみデプロイ・削除する ~
https://dk521123.hatenablog.com/entry/2023/04/20/172823
Terraform ~ 複数環境へデプロイすることを考える ~
https://dk521123.hatenablog.com/entry/2023/05/06/003645
Terraform ~ 機密情報の扱いを考える ~
https://dk521123.hatenablog.com/entry/2023/05/18/005103
Terraform ~ s3 ファイル到達の監視を考える ~
https://dk521123.hatenablog.com/entry/2025/09/18/003116
Terraform ~ s3 access log with EventBridge ~
https://dk521123.hatenablog.com/entry/2025/09/22/184009
Terraform ~ tfenv / バージョン管理 ~
https://dk521123.hatenablog.com/entry/2023/01/14/000000
Terraform ~ direnv / プロジェクト隔離 ~
https://dk521123.hatenablog.com/entry/2023/01/15/000000
Terraformer ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2024/05/29/201119
AWS CloudFormation ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/10/26/224812
Python + DOT言語で図作成するには
https://dk521123.hatenablog.com/entry/2023/06/14/174104
DOT言語 ~ 環境設定編 ~
https://dk521123.hatenablog.com/entry/2023/07/18/120407




以上の内容はhttps://dk521123.hatenablog.com/entry/2019/12/09/222057より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14