Terraform知道哪些AWS资源

时间:2018-06-27 12:46:42

标签: amazon-web-services terraform

最近,我们遇到了在S3上删除tfstate的问题。

结果,仍有许多EC2实例仍在运行(如果有,则重复)

是否可以查询Terraform并列出Terraform可以控制的EC2实例(和其他资源)?我想删除重复的AWS资源而不弄乱Terraform状态。

1 个答案:

答案 0 :(得分:1)

根据您是否关心可用性,您可以删除所有内容,然后让Terraform重新创建所有内容。

或者您可以使用terraform state list,然后使用terraform state show(例如terraform state list | xargs terraform state show)进行遍历以显示所有内容。

terraform import用于importing的东西,它们已经恢复到您的状态,这听起来不像您想要的,因为听起来您已经重新创建了一些东西,所以重复了。如果您在Terraform重新创建状态文件之前就已经从状态文件中发现了资源的丢失(例如,通过在计划中看到意外的创建,并且看到该资源已经在AWS控制台中存在),那么您可以使用它来导入资源返回状态文件,以便Terraform然后为这些资源显示一个空计划。

将来请确保您使用state locking来防止这种情况再次发生!