在 Terraform 模組中引入可程式 AWS Landing Zone

大家好! XNUMX月,OTUS推出新課程— 雲端解決方案架構。 在本課程開始之前,我們將與您分享有關該主題的有趣材料的翻譯。

在 Terraform 模組中引入可程式 AWS Landing Zone

AWS登陸區 是一種解決方案,可協助客戶根據最佳實務快速設定安全的多帳戶 AWS 環境。

五年多來,我們 Mitoc Group 的團隊不懈努力,幫助大型組織成功進行數位轉型並建立或將其數位足跡遷移到 AWS 雲端。 換句話說,引用我們在 AWS 的朋友的話:“我們的客戶正在利用 AWS 重塑自己。” 代表客戶本身重新發明和簡化機制是一項永無止境的努力,AWS 在透過易於學習的解決方案解決複雜問題方面做得非常出色。

在 Terraform 模組中引入可程式 AWS Landing Zone
AWS 登陸區 ()

什麼是 AWS 登陸區?

根據官方消息來源的資訊:

AWS Landing Zone 是一種解決方案,可協助客戶根據 AWS 最佳實務快速建立具有多個帳戶的安全 AWS 環境。 由於選項眾多,設定多帳戶環境可能非常耗時,涉及配置多個帳戶和服務,並且需要對 AWS 服務有深入的了解。

AWS Landing Zone 顯著降低了交付給不同客戶的類似設計模式的複雜性和一致性。 另一方面,我們的團隊必須將一些 CloudFormation 元件重新配置為 Terraform 元件,以便進一步使用它們來實現自動化。

因此我們問自己,為什麼不在 Terraform 中建立整個 AWS Landing Zone 解決方案? 我們能做到嗎?它能解決客戶的問題嗎? 劇透:它將並且已經決定了! 🙂

什麼時候不該使用 AWS Landing Zone?

如果您在一兩個 AWS 帳戶中處理常規雲端服務和雲端資源,這些措施可能有些過頭了。 任何不涉及這一點的人都可以繼續閱讀:)

開始工作前你應該考慮什麼?

我們合作過的許多大型組織已經制定了某種雲端策略。 如果沒有明確的願景和期望,公司很難成功實施雲端服務。 請花時間定義您的策略並了解 AWS 如何融入其中。

在製定策略時,成功的 AWS Landing Zone 客戶會積極關注以下方面:

  • 自動化根本不是一種選擇。 雲端原生自動化是首選。
  • 團隊始終使用相同的機制和相同的工具集來配置雲端資源。 最好使用 Terraform。
  • 最高效的雲端用戶有能力建立可重複使用流程並將其作為可重複使用服務而不是可重複使用程式碼提供。 無伺服器架構是首選。

推出 AWS Landing Zone 的 Terraform 模組

經過幾個月的努力,很高興能向大家呈現 AWS Landing Zone 的 Terraform 模組. 源代碼 儲存在 GitHub 上,並且 穩定發布版本 發佈在 Terraform 模組註冊表上。

要開始使用,只需打開 main.tf 到你的程式碼:

module "landing_zone" {
  source     = "TerraHubCorp/landing-zone/aws"
  version    = "0.0.6"
  root_path  = "${path.module}"
  account_id = "${var.account_id}"
  region     = "${var.region}"
  landing_zone_components = "${var.landing_zone_components}"
}

注意:一定要開啟 variables.tf 以及您可能需要的一切 outputs.tf.

為了更容易理解,我們添加了預設值 terraform.tfvars:

account_id = "123456789012"
region = "us-east-1"
landing_zone_components = {
  landing_zone_pipeline_s3_bucket = "s3://terraform-aws-landing-zone/mycompany/landing_zone_pipeline_s3_bucket/default.tfvars"
  [...]
}

這意味著當使用該模組時 terraform 您將需要:

  1. 改變數值 account_id и region 您自己的數據,對應於 AWS 組織中的數據;
  2. 改變數值 landing_zone_components 那些與您的 AWS Landing Zone 使用案例相符的;
  3. 修改 s3://terraform-aws-landing-zone/mycompany 到你的街區 S3 和鍵前綴 S3您將在哪裡儲存文件 .tfvars (或檔案的絕對路徑 .tfvars 在您的本地儲存中)。

該模組可能有數十、數百或數千個可部署元件,但並非所有元件都應該或將部署。 在運行時,不屬於變數映射的元件 landing_zone_components 將被忽略。

結論

我們很高興也很自豪能夠分享我們幫助客戶建立雲端原生自動化的努力成果。 AWS Landing Zone 的 Terraform 模組是另一個解決方案,可協助組織根據 AWS 最佳實務快速設定具有多個帳戶的安全 AWS 環境。 我們深知 AWS 正在以驚人的速度成長,我們致力於快速開發一個涵蓋所有基礎並與其他 AWS 生產解決方案整合的 terraform 解決方案。

就這樣。 我們正在等待您的評論並邀請您 免費網絡研討會 在其中我們 讓我們來研究一下Cloud Landing Zone域架構的設計,並考慮一下主要領域的架構模式.

來源: www.habr.com

添加評論