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?

【実録】WSL2 + Terraformで始めるAWSインフラ構築:初期設定と基本コマンド備忘録

0
Last updated at Posted at 2026-04-04

1. はじめに

未経験からクラウドエンジニアを目指すにあたり、手動(マネジメントコンソール)ではなく、コードでインフラを管理するIaC (Infrastructure as Code) の学習を開始しました。
今回は、WSL2環境でTerraformを動かせるようにし、実際にAWS上にVPCを作成するまでの手順と、各コマンドの意味を備忘録として残します。


2. 開発環境の構成

今回の構築環境は以下の通りです。

  • OS: Windows 11 (WSL2 / Ubuntu)
  • ツール:
    • tfenv: Terraformのバージョン管理ツール
    • Terraform: v1.14.8
    • AWS CLI: AWS操作用コマンドラインツール

3. 環境構築のステップ

AWS CLIの認証設定

TerraformがAWSを操作できるように、アクセスキーを登録します。

# 認証情報の設定
aws configure
  • 設定内容: Access Key ID / Secret Access Key / Region (ap-northeast-1)
  • 確認コマンド: aws sts get-caller-identity
    • 自分のアカウント番号(Account: "1234...")が表示されれば、AWSへの接続準備は完了です。

tfenvによるTerraformのインストール

プロジェクトごとにバージョンを切り替えられるよう、tfenv を使用してインストールします。

# 最新版のインストール
tfenv install 1.14.8

# 使用するバージョンの切り替え(重要!)
tfenv use 1.14.8

# バージョン確認
terraform -v

4. Terraform基本コマンドの意味(逆引き)

実際に使用したコマンドの流れと、その「役割」を整理しました。

コマンド 役割 実行される内容
terraform init 初期化 設計図(.tf)を読み、AWS用プラグイン(Provider)をダウンロードする。
terraform plan 計画確認 設計図とAWSの現状を比較し、変更差分を表示する(まだ作成はされない)。
terraform apply 実行 実際にAWSへリソースを作成する。yes の入力で確定。
terraform destroy 一括削除 作成したリソースをすべて安全に削除する。

5. はじめての設計図 (main.tf)

今回作成した最小構成のコードです。VPC(仮想ネットワークの箱)を東京リージョンに作成します。

# 1. AWSプロバイダーの設定
provider "aws" {
  region = "ap-northeast-1"
}

# 2. VPCリソースの定義
resource "aws_vpc" "example" {
  cidr_block = "10.0.0.0/16" # ネットワークの範囲を指定

  tags = {
    Name = "my-first-vpc"   # AWSコンソール上で表示される名前
  }
}

6. 遭遇したエラーと解決法(ハマりポイント)

Command 'tfenv' not found

  • 原因: インストール直後で、実行ファイルのパス(PATH)が今のターミナルに反映されていなかった。
  • 解決: source ~/.bashrc を実行して設定を再読み込みした。

Apply cancelled

  • 原因: terraform apply の途中で出る確認メッセージに対し、yes と打たずにエンターを押したため。
  • 解決: プロンプトに対して正確に yes と入力して実行。

version: No such file or directory

  • 原因: tfenv install だけして、tfenv use によるバージョン指定を忘れていた。
  • 解決: tfenv use [バージョン番号] を打つことで、使用するTerraformが確定した。

7. まとめ

Terraformを使うことで、「設計図を書いてコマンドを打つだけ」でインフラが構築できる便利さを実感しました。
手動での設定漏れを防げるだけでなく、後から見返したときに「どのような構成になっているか」がコードで一目瞭然なのが最大のメリットだと感じています。

今後はこのVPCの中に「サブネット」や「EC2インスタンス」を追加し、より実践的なWebサーバー構成に挑戦していきます。

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?