1. はじめに
こんにちは。
実は私、8月からAWS案件に参画したばかりのエンジニアで、インフラ構築の経験がほとんどありませんでした。正直、「Terraformって名前は聞いたことあるけど、何者なの……?」というレベルからのスタートでした。
そんな私が今回、意を決してチャレンジしたのは、
Terraform × AWS CLIを使って、EC2インスタンスを1台自動で構築する
という、IaC(Infrastructure as Code)の世界への第一歩です。
この記事は、私と同じように「ほぼゼロの状態からTerraformを動かしてみたい」という初学者の方に向けた記録です。「まずは何か作ってみたい」と考えている方に、ぜひ読んでいただければうれしいです。
2. Terraformって結局なに?
Terraform を簡単に説明すると、インフラの構築・変更・削除をすべてコードで管理できるツールです。
普段AWSコンソールでポチポチと設定していた作業が、Terraformを使うと main.tfというファイルに「こうしてほしい」と記述するだけで完結します。
例えば、EC2インスタンスの構築、セキュリティグループやIAMユーザーの作成、さらにはRDSやS3バケットの構築まで、コード化が可能です。
インフラをコード化するメリットは多岐にわたります。
- 再現性が高く、誰が実行しても同じ環境が構築できる。
- コードとして残るのでレビューしやすく、設定内容も明確になる。
- 手作業による人的ミスが減る。
- 変更時の差分が明確になり、管理しやすい。
- 開発、ステージング、本番といった複数環境の準備が非常に楽になる。
今回は、このIaCの基礎として、EC2を1台立ち上げてみる作業に取り組みます。
3. 今回の前提条件・検証環境
3-1. 構築する環境
今回Terraformで作成するのは、操作方法に集中するための最小構成です。
- EC2インスタンスを1台構築します。
- VPCやサブネット、セキュリティグループは、新しく作成せず、既存のデフォルト設定を使用します。
まずは「EC2が立ち上がる」ことを第一のゴールとし、Terraformの基本的な動きを体験することを重視しました。
3-2. ローカル環境
| 項目 | 内容 |
|---|---|
| OS | Windows 11 |
| Terraform | v1.13.5 |
| AWS CLI | v2.31.33 |
| リージョン | ap-northeast-1(東京) |
| IAM | terraform 用ユーザーのアクセスキーを使用 |
4. AWS CLI をインストールする
4-1. AWS CLI をダウンロード
AWSの公式ページからWindows版のMSIをダウンロードし、実行します。
https://awscli.amazonaws.com/AWSCLIV2.msi
インストーラーは画面の指示通りに進めれば完了です。
4-2. インストール確認
PowerShellを開き、AWS CLIが正しくインストールされたかを確認します。
aws --version
PS C:\Users\yourname> aws --version
aws-cli/2.31.33 Python/3.13.9 Windows/11 exe/AMD64
このように バージョン情報が表示されればOK です。
💡AWS CLIは、インストール直後からすぐに使えるシンプルなツールです。
5. Terraformをインストールする
Terraformはインストーラー不要で、実行ファイルを配置するだけで使えます。
5-1. Terraform をダウンロードして展開
- 公式サイトから Windows用のZIPをダウンロードします。
https://developer.hashicorp.com/terraform/install - 展開した
terraform.exeをC:\terraformなど任意の場所に配置します。
5-2. PATH を通す
Windowsの環境変数「Path」 に C:\terraform を追加します。
5-3. 動作確認
PowerShellを開き、Terraformが動作するか確認します。
terraform -v
PS C:\Users\yourname> terraform -v
Terraform v1.13.5
on windows_amd64
このようにバージョン情報が返ってくればインストール完了です! 🎉
💡terraform.exe を置いてPATHを通すだけで使える手軽さも魅力です。
6. AWS CLI の設定
6-1. IAMユーザーを作成(Terraform 用)
AWSコンソールでIAMユーザーを作成します。
- アクセスタイプ:アクセスキー
- 権限:今回は検証用途なので
AdministratorAccessを設定します。(本番環境では必ず最小限の権限に設定してください)
6-2. AWS CLI に認証情報を登録
PowerShellでaws configureを実行し、アクセスキーなどを登録します。
aws configure
PS C:\Users\yourname> aws configure
AWS Access Key ID [Name]:AKIAxxxxxxxxx
AWS Secret Access Key [Name]:xxxxxxxxxxxxxx
Default region name [Name]:ap-northeast-1
Default output format [Name]: json
6-3. 認証の確認
通常は以下のコマンドで認証情報を確認できます。
aws sts get-caller-identity
もしSSLエラーに遭遇した場合は、検証環境限定の暫定対処としてaws sts get-caller-identity --no-verify-sslを試してみてください。
aws sts get-caller-identity --no-verify-ssl
{
"UserId": "XXXXXXXXXXXXXXXXXXXXX",
"Account": "123456789012",
"Arn": "arn:aws:iam::123456789012:user/terraform-test"
}
Account が返ってくれば認証成功です。
7. Terraform プロジェクトを作る
7-1. ディレクトリ作成
作業用のディレクトリを作成し、移動します。
mkdir C:\terraform\ec2-test
cd C:\terraform\ec2-test
7-2. main.tfの作成
以下の内容で main.tf を作成します。
# ------------------------------
# AWS Provider 設定
# ------------------------------
provider "aws" {
region = "ap-northeast-1" # 東京リージョン
# ▼ SSL エラー回避用(検証環境のみ使用)
# 通常は不要な設定です。本番では絶対に使わないでください。
skip_credentials_validation = true
skip_metadata_api_check = true
skip_requesting_account_id = true
insecure = true
}
# ------------------------------
# EC2 インスタンス作成
# ------------------------------
resource "aws_instance" "example" {
ami = "ami-0f9ae750e8274075b" # Amazon Linux 2 (東京)
instance_type = "t2.micro" # 無料枠対象
tags = {
Name = "terraform-test"
}
}
💡 Terraform は宣言的ツール
「最終的にこうなってほしい状態」をコードに書けば、Terraformが自動的にその状態を実現してくれます。
8. Terraformを実行する
8-1. 初期化
まずはterraform initで初期化を行います。
terraform init
成功すると「Terraform has been successfully initialized!」と表示されます。
8-2. 実行プランの確認
terraform planで、実際にどんな変更が起こるかを確認します。
terraform plan
Plan: 1 to add, 0 to change, 0 to destroy.のように、「1 to add」となっていれば、構成は問題ありません。
💡Terraformは実行前に「何が変わるか」を見せてくれるので、安心して作業を進められます。
8-3. EC2を作成
いよいよapplyでリソースを作成します。今回は確認なしで進めるため--auto-approveをつけます。
terraform apply --auto-approve
「Apply complete! Resources: 1 added.」という成功メッセージが出れば完了です。
9. AWSコンソールで確認
AWSコンソールからEC2のインスタンス一覧を見てみましょう。
terraform-test という名前の t2.micro インスタンスが起動していれば成功です。

10. 後片付け(課金防止)
使い終わったら、terraform destroyで忘れずに削除しましょう。
terraform destroy --auto-approve
Destroy complete! Resources: 1 destroyed.これでお片付けも完了です。
11. まとめ
Terraformの基本的なステップは、シンプルに整理できます。
- AWS CLIに認証情報を設定
-
main.tfになってほしい状態を宣言 -
init→plan→applyで反映 -
destroyで削除
Terraformを使うことで、クリック操作のコード化、変更点の明確化、高い再現性といった大きなメリットを実感できたかと思います。
12. おわりに
今回の検証はシンプルにEC2を1台作るだけでしたが、「宣言するだけで環境ができる」Terraformの便利さとパワーを体感できました。
今後は、セキュリティグループのコード化、キーペア作成、SSH接続の自動化といった部分にも挑戦していく予定です。
読んでいただきありがとうございました! 🙏
We Are Hiring!
