2017-07-12 96 views
1

我正在使用Terraform自動部署帶有VM的Azure資源組。它工作得很好,現在我正在進入下一步。如何管理多個Terraform狀態

我的項目的目的是爲用戶提供部署其用戶定義的Azure RG的方法。因此,一個典型的用戶將使用我的門戶在窗體上輸入一些關於他們如何調用RG的信息,VM的位置,用戶名和SSH密鑰等,然後在後端填充一個Terraform模板及其輸入,然後運行terraform apply

到目前爲止這麼好,因爲我是唯一的用戶。

當這項工作投入生產時,會有多個用戶。他們可以創建一個或多個資源組,我想知道如何用Terraform來處理這個問題。我應該只爲每個用戶和RG創建一個文件夾(或者在數據庫中創建一些條目),這樣我可以保持狀態?還是有更好的方法來做到這一點?我需要這樣做才能做到銷燬用戶資源或檢查資源狀態等。

我正在使用Terraform,如果可以的話我不想使用Azure SDK躲開它。

+0

你看過[遠程狀態](https://www.terraform.io/docs/state/remote.html)了嗎? – RaGe

回答

2

您可以使用terraform後端https://www.terraform.io/docs/backends/index.html將狀態存儲到您選擇的雲存儲解決方案中。使用$ var來標識部署,並將此標記作爲URI元素之一。例如,用戶'A'可以將狀態保存在gs:// bucket/A/state中,這爲我們使用GCS做了訣竅。