Terraform 基礎
Vibe Prompt
「幫我寫 Terraform 設定檔:在 AWS 建立一個 t3.micro EC2,安裝 Nginx,開啟 80 埠。」
provider "aws" {
region = "ap-northeast-1"
}
resource "aws_security_group" "web_sg" {
name = "web-server-sg"
description = "Allow HTTP"
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}
resource "aws_instance" "web" {
ami = "ami-0d527b8c"
instance_type = "t3.micro"
vpc_security_group_ids = [aws_security_group.web_sg.id]
user_data = <<-EOF
#!/bin/bash
apt update && apt install -y nginx
systemctl start nginx
EOF
tags = { Name = "Vibe Tutor Web" }
}
output "public_ip" {
value = aws_instance.web.public_ip
}
常用指令
terraform init # 初始化
terraform plan # 預覽變更
terraform apply # 套用變更
terraform destroy # 銷毀資源
terraform fmt # 格式化程式碼