我有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"
}
你也可以参考这里的文件
使用Terraform有几种方法可以做到这一点。第一个解决方案是遵循此处的指导。这不是最优雅的解决方案,但它是有效的。您还必须自己跟踪当前状态。
如果你想要一天中更多基于时间的东西,比如在06:00打开实例,在17:30关闭实例,那么这个解决方案是非常好的。