0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS 無料チュートリアルその5: Terraform を用いて構成を再現・削除する

0
Last updated at Posted at 2026-04-09

AWS チュートリアル

AWSの無料枠で出来る範囲のチュートリアルがあったので試してみた経過を簡単にまとめてみました。
AWS等の実際の画面や操作はどんな感じか知りたい方を読者対象としているつもりです。

著者はAWS クラウドプラクティショナー、ソリューションアーキテクト アソシエイト という資格を取得済みで「AWSってなんぞや?」という概要を知識としてある程度理解しているが、実際にAWSの画面を触ったことが無いという状態でAWSのチュートリアルをこなしていくという状況です。

今回の内容としては、Terraform を用いてAWSの構成を再現・削除する、というものです。

準備

Terraform インストール

ここからダウンロード、zipファイルを展開し、PATH を通す

image.png

PATH の通し方としては、Windows 11 のウィンドウズキーを押した際の検索窓に「PATH」と打つと出てくる「システム環境変数の編集」から、「環境変数」を選択し、

image.png

変数のところが「Path」となっている所を選択し、
・編集 → 新規 → 「terraform.exeの入っているフォルダのパス」
(僕の場合は

"D:\Program Files\terraform_1.14.8_windows_amd64\terraform.exe"

でした)

Git Bash をインストール

Windows では、公式サイトの「Click hete to download」から
Mac ではタブを切り替えコマンドから

行います。

AWS CLI のインストール

windows の場合は

ここからダウンロードします。

Macの場合は

ここを参照します。

Git Bash を起動している場合、ここで一度再起動しましょう。

Git Bash でこのような文が出ればOKのようです。

$ aws --version
aws-cli/2.34.20 Python/3.14.3 Windows/11 exe/AMD64

ここで画像のようなバージョン情報が出ない場合、Pathが通っていない可能性があります。

IAM でユーザーを作成する

作るべきユーザーの方針としては、
・Terraform操作用
・CLI操作用

ということで、以下のユーザーを作成します。

AdministratorAccess

学習段階なので
・今は学習優先
・権限不足で詰まるのを防ぐ

→ 後から絞るのが現実的


AWSホーム画面で「IAM」と検索し、ユーザーを選択、「ユーザーの作成」を選択

image.png

ユーザー名を適宜入れます。
image.png

・ポリシーを直接アタッチ
・AdministratorAccess を選択
image.png

確認してユーザーを作成
image.png

(この時点ではまだ「アクセスキー」は無い状態です)

アクセスキー作成(ここが本命)

作成したユーザーを選択

image.png

「セキュリティ認証情報」タブ
「アクセスキーを作成」
image.png

「CLI」または「ローカルコード」を選択
image.png

適宜説明を入れ、「アクセスキーを作成」を選択
image.png

アクセスキーはこの瞬間しか見られないので、必ず保存します。
image.png

Git Bash に移り、「aws configure」と打ちます。

・コピー: Ctrl + Insert
・ペースト: Shift + Insert

XXX@DESKTOP-KAKL1SL MINGW64 /D/Userdata/download
$ aws configure

// アクセスキーをコピペ
AWS Access Key ID [none]: ABCDEFGHIJKLMN0123456789

// シークレットアクセスキーをコピペ
AWS Secret Access Key [none]: abcdefghijklmnopqrstuvwxyz0123456789

// 地域を東京に設定
Default region name [none]:ap-northeast-1

// 出力をjsonに設定
Default output format [none]:json

うまく行っていれば、

{
  "UserId": "...",
  "Account": "...",
  "Arn": "arn:aws:iam::...:user/terraform-user"
}

となり、これはつまり「IAMユーザー(terraform-user)でAWSに正常ログインできている」ということです。

Terraform で自動化する

  1. 作業フォルダを作成

  2. main.tf 作成
    まずは最小構成から

main.tf
provider "aws" {
  region = "ap-northeast-1"
}

resource "aws_instance" "web" {
  ami           = "ami-0c3fd0f5d33134a76" # Amazon Linux 2 (東京)
  instance_type = "t3.micro"

  tags = {
    Name = "terraform-test"
  }
}

このようなファイルを作って作業フォルダに保存します。
(instance_type を無料枠の t3.micro ではなく t2.micro のような、無料枠ではないものを入れると後で警告が出ます。)


  1. いざ実行

terraform init」と打ってみる

$ terraform init
bash: terraform: command not found

…「コマンドが見つかりません」と出る。

→ Terraform の実行ファイルがあるフォルダをPATHに加えます。(上で既にPathに加えたはずなんだけどな…)(Pathに加える方法は上部該当箇所を参照願います)
僕の場合は

"D:\Userdata\documents\terraform-test\terraform_1.14.8_windows_amd64\terraform.exe"

にあったのでそのフォルダをPathに加えました。


それから Git Bash 再起動

して、再度実行した所、「terraform init」と打って実行すると

XXX@DESKTOP-KAKL1SL MINGW64 /D/Userdata/documents/terraform-test
$ terraform init
Initializing the backend...
Initializing provider plugins...
- Finding latest version of hashicorp/aws...
- Installing hashicorp/aws v6.38.0...
- Installed hashicorp/aws v6.38.0 (signed by HashiCorp)
()
Terraform has been successfully initialized!
()

となり、ようやくTerraformがAWSを操作する準備が整ったということです。

次のステップ

設計確認 (plan)

terraform plan」とコマンドを入力します。

XXX@DESKTOP-KAKL1SL MINGW64 /D/Userdata/documents/terraform-test
$ terraform plan

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_instance.web will be created

「作成されました」と出ればOKです。

作成 (apply)

次は「terraform apply」とコマンドを打ちます

XXX@DESKTOP-KAKL1SL MINGW64 /D/Userdata/documents/terraform-test
$ terraform apply

とすると、

Do you want to perform these actions?

と出るので

yes

と答えます。

何が起きるか

上部で作った main.tf に応じて

EC2インスタンスが1台作成される

→ AWS コンソールにも即時反映されます。

確認方法:
作成後、EC2 → インスタンス を確認し、「terraform-test」のような名前が出る

image.png

超重要(コスト対策)

終わったら必ず

terraform destroy

→ これで課金停止

このようにブラウザ上でもインスタンスが「終了済み」になっていることがわかります。

image.png

「終了済み」は一時的に見られる状態で、しばらくするとインスタンス画面から消えます。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?