0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

若手エンジニアがTerrafrom使ってみたった!|Terraformとは? & インストール

Posted at

概要

「Terraform」
新卒研修のときに初めて触って、「インフラをコードで?」って思ったのが最初の印象でした。
正直そのときは「なんだこいつ、GUIポチポチでええやろ」と思いつつ、本気で感動してました。
「これ、クラウドの召喚魔法やん」
おもろいなと思ったので初学者向けに全5回のなんとなくわかるシリーズをお届けします!


シリーズ目次(全5回)

第1回.Terraformとは? & インストール ←この記事
第2回.terraform init を通してみよう!
第3回.AWS S3を作って壊してみよう!
第4回.StateとPlanの裏側を覗いてみよう!
第5回.便利な引数とTips集


Terraformとは?

概要

Terraformは、HashiCorp が作った「Infrastructure as Code(IaC)」ツールです。つまりインフラストラクチャをコードとして表現したもの(クラウドの設定(VPCとかS3とか)をコードで管理できるようにする仕組み)です。

たとえばこんなの

resource "aws_s3_bucket" "example" {
  bucket = "my-terraform-example"
}

なんとこの数行でAWSにS3バケットが作れちゃいます。
AWSコンソールをポチポチするより早いし、Gitで管理できるのが最高。

Terraformを使うメリット

個人的に「ここが強いな」と思ったポイントをまとめました。

メリット 内容
再現性 同じ構成を何度でも再現できる(他環境にコピペでいける)
変更履歴 Gitで“インフラの変更”をレビューできる
マルチクラウド AWS / GCP / Azure / Snowflake どれでもOK
チーム向け 誰が何を変えたか分かる=属人化が減る

GUIベースだと、同じEC2を100個作るのに毎回ポチポチしないといけないのが、Terraformでは一括でできちゃいます!!(ポチポチ地獄からの解放…!)

どの会社が使ってるの?

TerraformはNetflix、Slack、Shopifyみたいな海外大手でもガッツリ使われてます。
日本でもLINE、リクルート、ZOZO、Sansanなどなど。
導入事例の一部:https://edge-work.com/column/2172/

どんなクラウドサービスを扱えるの?

Terraformの魅力は、**「どんなクラウドでも使える」**こと!
たとえば、ざっくりこんな感じのプロバイダーが使えます。

カテゴリ 主なプロバイダー ひとこと
パブリッククラウド AWS / GCP / Azure 主要クラウド全部OK。VPC、IAM、EC2、S3など全部コード化可能!
データ基盤系 Snowflake / Databricks / BigQuery データウェアハウスやML環境の構築もIaCで管理。データエンジニア必見。
コンテナ / オーケストレーション Kubernetes / Docker / EKS / GKE クラスタやPodをTerraformからデプロイ可能。

などなど、、、これでも一部です!
Terraform Registryを覗くと、公式・コミュニティ合わせて数千種類以上のプロバイダーが登録されています。
(なんとAWSだけでも700以上のリソースタイプが管理対象!多すぎ!)

Terraformをインストールしてみる

ではでは、ここから実際に環境を作っていきます!
(今回はまだAWSのリソースとか作らないので安心してください)
windowsの方はGitBash前提です。

# Mac
brew tap hashicorp/tap
brew install hashicorp/tap/terraform

# Windows
choco install terraform

# Linux(Ubuntu/Debianの場合)
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform

これが出来たらバージョンを確認してみましょう!

terraform -v

出力例

Terraform v1.13.3

これが表示されたらTerraform本体の準備OKです!
早いですね!

執筆時点(2025年11月)での公式インストール方法です。
最新版は以下の公式サイトを見てください。
https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli

tfenvを使おう

Terraformってバージョンアップ頻度が高いので、複数案件やると「このPJは1.7系、このPJは1.9系」みたいになりがちなんですよ。

そんな時に便利なのがtfenv。Terraform版バージョン管理ツールです!

インストール

# Mac
brew install tfenv

# Windows & Linux 
git clone https://github.com/tfutils/tfenv.git ~/.tfenv
echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

これが出来たら

tfenv --version

でインストールできているか確認しましょう!

最新バージョンをインストールしたい時は、、

tfenv install latest
tfenv use latest

特定バージョン入れたい時は、、

tfenv install 1.9.5
tfenv use 1.9.5

これで気軽にバージョン変更が出来ます!

tfenvは2022年を最後に更新が途絶えており、現在は tenv が用いられることもあります。好みに合わせて使ってください。

トラブルのFAQ的なの

症状 対応
terraform: command not found PATHが通ってない。which terraform で確認。
tfenv: command not found PATHに ~/.tfenv/bin がない。~/.bashrc / ~/.zshrc に追記。
バージョン変わらない 古いバイナリが /usr/local/bin に残ってる可能性あり。削除して再実行。

まとめ

Terraformは「インフラをコードで管理」できるIaCの一つ!
tfenv入れとくと、Terraformのバージョン管理がめっちゃ楽。
今日は“環境構築”だけ。次回は実際に動かしてみます!
次回は terraform init あたりを触っていく予定です〜。
フォローしといてもらえると更新見逃さないですョ!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?