【世界一わかりやすいTerraform入門②】リソースを見てみよう!変数と複数リソースもばっちり解説

投稿更新日: 2025/7/1

サムネイル

こんにちは!Terraform入門シリーズ、第2回にようこそ。 前回はTerraformを使って、最初のS3バケットを作成してみましたね。

今回はその続きとして、

  • 作ったリソースをどう確認するか?

  • 複数のリソースをどう管理するか?

  • 変数を使ってコードをもっと便利にするには?

この3つを、わかりやすく解説していきます!


スクリーンショット

1. 作ったリソースの確認方法

Terraformで何かを作ったら、まず「本当にできたの?」と確認したくなりますよね。以下の方法でチェックできます!

✅ AWSコンソールで確認

  • たとえばS3バケットなら、AWSのS3管理画面でバケット一覧を見てみましょう。Terraformで作成したバケットが見つかるはずです。

terraform show コマンドを使う

# bash
terraform show

このコマンドで、Terraformが現在管理しているインフラの状態を一覧できます。何がどの名前で作られているか確認するのに便利です。

.tfstate ファイルを覗いてみる Terraformはリソースの状態を terraform.tfstate というファイルに記録しています。中を見るだけならOKですが、直接編集は厳禁!


2. 複数リソースを管理するには?

  • 現実のインフラは、バケットだけじゃ終わりません。ここでは、S3バケットとIAMユーザーを同時に作ってみましょう

▼ 複数リソースの例(main.tf

# hcl
provider "aws" {
  region = "ap-northeast-1"
}

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

resource "aws_iam_user" "example_user" {
  name = "terraform-sample-user"
}

これだけで、Terraformは、2つのリソースを一度に管理してくれます。便利!


3. 変数でコードをスマートに!

毎回バケット名やユーザー名をベタ書きするのは面倒…そんな時に便利なのが**変数(variables)**です。

▼ 変数を定義(variables.tf

# hcl
variable "bucket_name" {
  description = "作成するS3バケット名"
  type        = string
}

variable "user_name" {
  description = "作成するIAMユーザー名"
  type        = string
}

▼ 使用側(main.tf)で参照

# hcl
resource "aws_s3_bucket" "example" {
  bucket = var.bucket_name
}

resource "aws_iam_user" "example_user" {
  name = var.user_name
}

▼ 変数に値を渡す(terraform.tfvars

# hcl
bucket_name = "my-terraform-sample-bucket"
user_name   = "terraform-sample-user"

これでコードの再利用性がグッと上がり、他の環境にも使いまわせます。


まとめ

今回は、Terraformの理解を一歩深めるために:

  • 作ったリソースの確認方法
  • 複数リソースの管理
  • 変数の使い方 を紹介しました。Terraformのコードは、まるでレゴブロックのように組み合わせていけるのが面白いですね!

この記事をシェアする

合同会社raisexでは一緒に働く仲間を募集中です。

ご興味のある方は以下の採用情報をご確認ください。