多个实例的 terraform tf 状态文件
terraform tf state file for multiple instances
我想在 aws 中使用 terraform.But 为不同的组件创建不同的实例如果我想销毁组件的特定实例,它将同时销毁不同组件的所有不同实例,因为它们共享共同点tfstate 文件中的一个 folder.So 解决方法是我需要在不同的文件夹中创建不同的组件实例 运行 terraform 用于单独的 tfstate file.Should 我们需要为单独的组件创建单独的文件夹并且 运行 terraform 那里?
除此之外还有其他解决方法吗?
谢谢
好吧,问题没那么详细,我猜猜看吧
你希望运行宁terraform destroy
摧毁你的一些'instances'。
但您不希望它破坏您所有的资源。
您考虑过将资源分成不同状态的不同文件夹。
但这不需要。如果您想销毁某些特定的 'instance'/'resource' -- 只需将其从您的配置(.tf
文件)和 运行 terraform apply
中删除。这将破坏一些 'instance' 但保留所有其他。
假设您有以下配置:
resource "aws_instance" "api" {
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "t2.micro"
}
resource "aws_instance" "web" {
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "t2.micro"
}
resource "aws_instance" "app" {
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "t2.micro"
}
3 个实例:网络、应用程序,api。你想摧毁 web
。
而不是运行宁terraform destroy
,这会破坏你所有的状态,只留下你需要的任何东西和运行 terraform plan
。
P.S. 将不同文件夹中的状态分开也是有道理的。例如,非常非常推荐将不同的环境分成不同的状态文件。此外,您可以将一些更常见的东西(例如 VPC 或 S3 存储桶配置)移动到一个单独的状态,该状态很少更改,以免在对 EC2 实例应用一些更频繁的更改时将其置于风险之中。
只需在 .tf 文件中注释掉您不再需要的部分,然后再次 运行 plan/apply。它只会破坏你注释掉的部分。
我想在 aws 中使用 terraform.But 为不同的组件创建不同的实例如果我想销毁组件的特定实例,它将同时销毁不同组件的所有不同实例,因为它们共享共同点tfstate 文件中的一个 folder.So 解决方法是我需要在不同的文件夹中创建不同的组件实例 运行 terraform 用于单独的 tfstate file.Should 我们需要为单独的组件创建单独的文件夹并且 运行 terraform 那里?
除此之外还有其他解决方法吗?
谢谢
好吧,问题没那么详细,我猜猜看吧
你希望运行宁terraform destroy
摧毁你的一些'instances'。
但您不希望它破坏您所有的资源。
您考虑过将资源分成不同状态的不同文件夹。
但这不需要。如果您想销毁某些特定的 'instance'/'resource' -- 只需将其从您的配置(.tf
文件)和 运行 terraform apply
中删除。这将破坏一些 'instance' 但保留所有其他。
假设您有以下配置:
resource "aws_instance" "api" {
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "t2.micro"
}
resource "aws_instance" "web" {
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "t2.micro"
}
resource "aws_instance" "app" {
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "t2.micro"
}
3 个实例:网络、应用程序,api。你想摧毁 web
。
而不是运行宁terraform destroy
,这会破坏你所有的状态,只留下你需要的任何东西和运行 terraform plan
。
P.S. 将不同文件夹中的状态分开也是有道理的。例如,非常非常推荐将不同的环境分成不同的状态文件。此外,您可以将一些更常见的东西(例如 VPC 或 S3 存储桶配置)移动到一个单独的状态,该状态很少更改,以免在对 EC2 实例应用一些更频繁的更改时将其置于风险之中。
只需在 .tf 文件中注释掉您不再需要的部分,然后再次 运行 plan/apply。它只会破坏你注释掉的部分。