使用地形作為 IaC 工具 AWS 雲端 - AWS 規範指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用地形作為 IaC 工具 AWS 雲端

HashiCorp Terraform 是一種基礎架構即程式碼 (IaC) 工具,可協助您管理雲端基礎架構。使用 Terraform,您可以在組態檔案中定義雲端和內部部署資源,以進行版本化、重複使用和共用。然後,您可以使用一致的工作流程,在其整個生命週期中佈建和管理所有基礎結構。

開發人員使用稱為 Terraform 語言的高級配置語言。地形語言的本機低級語法是HashiCorp配置語言(HCL)。Terraform 語言旨在讓人類易於閱讀和寫入。您可以使用 Terraform 語言來描述所需的雲端或內部部署基礎結構的結束狀態。Terraform 接著會產生達到該結束狀態的計畫,然後您執行規劃來佈建基礎結構。

使用地形的優點:

  • 地形是平台不可知論者。您可以將其與任何雲服務提供商一起使用。您可以在其他許多雲端提供者之間設定、測試 AWS 和部署基礎結構。如果您的組織使用多個雲端供應商,Terraform 可以是單一、統一且一致的解決方案來管理雲端基礎架構。如需有關多雲端支援的詳細資訊,請參閱 Terraform 網站上的多雲端佈建

  • 地形是無代理的。它不需要在受管理的基礎架構上安裝任何軟件。

  • Terraform 模塊是重用代碼並堅持不要重複自己(DRY)原則的強大方法。例如,您可能有一個應用程式的特定組態,其中包含 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體、Amazon Elastic Block Store (Amazon EBS) 磁碟區,以及其他邏輯分組的資源。如果您需要建立此組態或應用程式的多個副本,您可以將資源封裝到 Terraform 模組中,並建立模組的多個執行個體,而不必多次複製整個程式碼。這些模組可協助您組織、封裝及重複使用組態。它們還提供了一致性並確保最佳實踐。

  • Terraform 能夠檢測和管理基礎架構中的漂移(Terraform 博客文章)。例如,如果 Terraform 管理的資源在 Terraform 之外進行修改,您可以使用 Terraform CLI 偵測漂移並將其還原到所需的狀態。

使用地形的缺點: