我有 EC2 实例与 Web 应用程序一起运行,这是我的 POC 环境计算机。这个实例是通过 terraform 自动化的,但是当我不需要它时它一直在运行,如果我不想使用它,我想编写 terraform 脚本来关闭这台机器,这样我就可以节省成本。
有
aws_ec2_instance_state
资源来处理 ec2 状态。
这可以通过以下代码轻松完成:
resource "aws_instance" "test" {
ami = data.aws_ami.ubuntu.id
instance_type = "t3.micro"
tags = {
Name = "HelloWorld"
}
}
resource "aws_ec2_instance_state" "test" {
instance_id = aws_instance.test.id
state = "stopped"
}
您还可以参考文档这里
要销毁特定的 EC2 实例 (demo_vm_1),可以将 --target 参数与资源路径一起提供给 destroy 命令,以识别正确的资源,如下所示:
terraform destroy --target aws_instance.demo_vm_1