2017-04-23 194 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來允許共享這些狀態文件。