本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 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 記錄,您的叢集管理員必須在部署之前完成下列先決條件:
-
在叢集中建立
amazon-cloudwatch命名空間。 -
使用 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 fmt和terraform validate檢查語法和組態正確性。 -
對於 Helm:驗證圖表,以確認產生的資訊清單格式正確。
-
使用 Checkov 進行安全性掃描,以識別所產生基礎設施程式碼中的潛在安全性錯誤設定。
AWS 轉換會報告任何驗證問題,並在繼續之前解決這些問題。
在沒有發佈映像的情況下產生 IaC
即使您未在上一個步驟中發佈容器映像,也可以產生基礎設施範本。產生的範本使用預留位置映像 URIs,您可以在稍後使用實際映像位置進行更新。
您需要執行的事項
產生基礎設施範本
-
出現提示時,請選擇您的目標平台:Amazon EKS 或 Amazon ECS。
-
如果您選擇 Amazon EKS, AWS Transform 會詢問是否包含 CloudWatch 記錄。回應是或否。
-
如果出現提示,請提供應用程式的運作狀態檢查端點詳細資訊 (例如
/health路徑)。 -
AWS 轉換會產生並驗證基礎設施範本。此步驟會自動執行, AWS 轉換會顯示進度更新,包括任何驗證或安全掃描結果。
-
AWS 轉換呈現範本時,請檢閱產生的範本。