做法
建立工作資料夾。
1 2
| mkdir -p terraform-practice/ec2 cd terraform-practice/ec2
|
使用 init
指令初始化工作資料夾,需要的供應商外掛(provider plugins)將會被下載下來。
在工作資料夾新增 main.tf
檔:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 3.0" } } }
# 指定為 AWS Provider provider "aws" { region = "ap-northeast-1" }
# 找出要使用的子網路 data "aws_subnet" "my-subnet" { id = "subnet-xxxxxxyyyyyyzzzzz" }
# 找出要使用的安全群組 data "aws_security_group" "my-security_group" { id = "sg-xxxxxxyyyyyyzzzzz" }
# 建立一個網路界面 resource "aws_network_interface" "my-interface" { # 指定子網路 subnet_id = data.aws_subnet.my-subnet.id # 指定安全群組 security_groups = [ data.aws_security_group.my-security_group.id ] }
# 建立一個實體 resource "aws_instance" "my-server" { ami = "ami-xxxxxxyyyyyyzzzzz" instance_type = "t2.micro" # 指定網路界面 network_interface { network_interface_id = aws_network_interface.my-interface.id device_index = 0 } }
|
使用 plan
指令查看執行計畫。
1
| aws-vault exec --backend=file playground-PowerUser -- terraform plan
|
使用 apply
指令建立實體。
1
| aws-vault exec --backend=file playground-PowerUser -- terraform apply
|
使用 destroy
指令刪除實體。
1
| aws-vault exec --backend=file playground-PowerUser -- terraform destroy
|
參考資料