View a markdown version of this page

步驟 6:產生基礎設施做為程式碼 - AWS 轉換

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

步驟 6:產生基礎設施做為程式碼

在此步驟中, AWS Transform 會產生部署容器化應用程式的 AWS 基礎設施範本。您可以選擇 Amazon Elastic Kubernetes Service 和 Amazon Elastic Container Service 作為目標平台。

Amazon Elastic Kubernetes Service (Kubernetes)

如果您選擇 Amazon EKS, AWS Transform 會為您的應用程式產生具有 Kubernetes 資訊清單的 Helm Chart。產生的範本包括:

  • 部署和服務

  • 傳入規則

  • ConfigMaps 和 SecretProviderClass 資源

  • 服務帳戶

  • 持久性磁碟區宣告 (EBS 和 EFS)

  • Route 53 DNS 記錄

  • 運作狀態檢查組態

選用:CloudWatch 記錄

AWS 轉換會詢問您是否要為 Amazon EKS 部署包含 CloudWatch 記錄。如果您選擇加入, AWS Transform 會產生 Fluent Bit DaemonSet 組態,收集 Pod 日誌並將其傳送至 CloudWatch Logs。

如果您選擇 CloudWatch 記錄,您的叢集管理員必須在部署之前完成下列先決條件:

  1. 在叢集中建立amazon-cloudwatch命名空間。

  2. 使用 CloudWatch Logs 寫入許可為 Fluent Bit 服務帳戶建立 IAM 角色。在部署期間,系統會提示您輸入角色 ARN。

Amazon Elastic Container Service (Terraform)

如果您選擇 Amazon ECS, AWS Transform 會產生 Terraform 模組來部署您的應用程式。產生的範本包括:

  • ECS 叢集

  • 具有任務定義的 ECS 服務

  • 具有存取記錄的 Application Load Balancer

  • 適用於持久性儲存的 Amazon EFS

  • 用於服務探索的私有託管區域

  • 運作狀態檢查組態

自動化驗證和安全性掃描

AWS 轉換會自動驗證產生的基礎設施範本,然後再提供給您。驗證包括:

  • 對於 Terraform: terraform fmtterraform validate檢查語法和組態正確性。

  • 對於 Helm:驗證圖表,以確認產生的資訊清單格式正確。

  • 使用 Checkov 進行安全性掃描,以識別所產生基礎設施程式碼中的潛在安全性錯誤設定。

AWS 轉換會報告任何驗證問題,並在繼續之前解決這些問題。

在沒有發佈映像的情況下產生 IaC

即使您未在上一個步驟中發佈容器映像,也可以產生基礎設施範本。產生的範本使用預留位置映像 URIs,您可以在稍後使用實際映像位置進行更新。

您需要執行的事項

產生基礎設施範本
  1. 出現提示時,請選擇您的目標平台:Amazon EKSAmazon ECS

  2. 如果您選擇 Amazon EKS, AWS Transform 會詢問是否包含 CloudWatch 記錄。回應是或否。

  3. 如果出現提示,請提供應用程式的運作狀態檢查端點詳細資訊 (例如/health路徑)。

  4. AWS 轉換會產生並驗證基礎設施範本。此步驟會自動執行, AWS 轉換會顯示進度更新,包括任何驗證或安全掃描結果。

  5. AWS 轉換呈現範本時,請檢閱產生的範本。