如何通过terraform停止/启动运行ec2实例



我有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关闭实例,那么这个解决方案是非常好的。

最新更新