AWS チュートリアル
AWSの無料枠で出来る範囲のチュートリアルがあったので試してみた経過を簡単にまとめてみました。
AWS等の実際の画面や操作はどんな感じか知りたい方を読者対象としているつもりです。
著者はAWS クラウドプラクティショナー、ソリューションアーキテクト アソシエイト という資格を取得済みで「AWSってなんぞや?」という概要を知識としてある程度理解しているが、実際にAWSの画面を触ったことが無いという状態でAWSのチュートリアルをこなしていくという状況です。
今回の内容としては、Terraform を用いてAWSの構成を再現・削除する、というものです。
準備
Terraform インストール
ここからダウンロード、zipファイルを展開し、PATH を通す
PATH の通し方としては、Windows 11 のウィンドウズキーを押した際の検索窓に「PATH」と打つと出てくる「システム環境変数の編集」から、「環境変数」を選択し、
変数のところが「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」と検索し、ユーザーを選択、「ユーザーの作成」を選択
・ポリシーを直接アタッチ
・AdministratorAccess を選択

(この時点ではまだ「アクセスキー」は無い状態です)
アクセスキー作成(ここが本命)
作成したユーザーを選択
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 で自動化する
-
作業フォルダを作成
-
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 のような、無料枠ではないものを入れると後で警告が出ます。)
- いざ実行
「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」のような名前が出る
超重要(コスト対策)
終わったら必ず
terraform destroy
→ これで課金停止
このようにブラウザ上でもインスタンスが「終了済み」になっていることがわかります。
「終了済み」は一時的に見られる状態で、しばらくするとインスタンス画面から消えます。











