2017-04-23 191 views
0

我在一个us-east-2 VPC中有一组AWS安全组,我想用Terraform进行定义。已经有很多手动配置的安全组。排除Terraform中的资源

如果我使用新配置创建计划,是否会清除旧的服务组?如果有,是否有排除现有资源的方法?

回答

3

Terraform会尽一切可能的尝试不干扰它无法管理的任何事情。通常情况下,这只是Terraform创建的并且在其state file中的东西,但是现在它可以包含在Terraform之外创建的东西,然后将imported包含到状态文件中。

如果你有一个具有某种形式的唯一标识符是由自己配置的资源(如ELB的名称)Terraform不会意识到有创建一个问题,并计划所述资源。在实际应用期间,提供者(例如AWS)应该返回一个错误,说明资源已经存在,但这在技术上取决于提供者的API,并且有可能某些提供者可能会更新该更新。在你的情况下,你正在使用AWS,所以AWS API将返回一个错误,说明资源已经存在。

(如EC2实例和确实安全组)如果资源,而不是唯一的东西发现你的控制之外,那么Terraform只会创造更多的资源,并简单地标记它们是相同的。

因为Terraform识别它允许通过其状态文件管理的事情,这就是为什么照顾这个状态文件并确保它始终对任何运行Terraform的任何人/任何东西都是可用的,因此应该使用remote state来允许共享这些状态文件。