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       # 格式化程式碼

會員專屬免費教學

本章節為註冊會員專屬的免費開放內容!請先登入或註冊會員,即可立即解鎖閱讀。

立即登入 / 註冊