本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 6:以代码形式生成基础架构
在此步骤中,Trans AWS form 会生成用于部署容器化应用程序 AWS 的基础架构模板。您可以选择亚马逊 Elastic Kubernetes Service 和亚马逊弹性容器服务作为目标平台。
亚马逊 Elastic Kubernetes Service(Kubernetes)
如果你选择 Amazon EKS,T AWS ransform 会为你的应用程序生成包含 Kubernetes 清单的 Helm 图表。生成的模板包括:
-
部署和服务
-
入口规则
-
ConfigMaps 和 SecretProviderClass 资源
-
服务账户
-
永久卷声明(EBS 和 EFS)
-
Route 53 的 DNS 记录
-
Health 检查配置
可选: CloudWatch 日志
AWS Transform 会询问您是否要为自己的 Amazon EKS 部署添加 CloudWatch 日志记录。如果你选择加入,Trans AWS form 会生成 Fluent Bit DaemonSet 配置,用于收集 pod 日志并将其发送到 CloudWatch 日志。
如果您选择 CloudWatch 日志记录,则您的集群管理员在部署之前必须满足以下先决条件:
-
在集群中创建
amazon-cloudwatch命名空间。 -
为具有 CloudWatch 日志写入权限的 Fluent Bit 服务账户创建一个 IAM 角色。在部署期间,系统会提示您输入角色 ARN。
亚马逊弹性容器服务 (Terraform)
如果你选择 Amazon ECS,Trans AWS form 会生成用于部署应用程序的 Terraform 模块。生成的模板包括:
-
ECS 集群
-
带有任务定义的 ECS 服务
-
带有访问日志功能的 Application Load Balan
-
用于永久存储的 Amazon EFS
-
用于服务发现的私有托管区域
-
Health 检查配置
自动验证和安全扫描
AWS Transform 会自动验证生成的基础架构模板,然后再将其呈现给您。验证包括:
-
对于 Terraform:
terraform fmtterraform validate并检查语法和配置的正确性。 -
对于 Helm:进行图表验证,以验证生成的清单格式是否正确。
-
使用Checkov进行安全扫描,以识别生成的基础设施代码中潜在的安全错误配置。
AWS Transform 会报告任何验证问题并在继续操作之前解决这些问题。
在没有已发布图像的情况下生成 IaC
即使您在上一步中没有发布容器镜像,也可以生成基础设施模板。生成的模板使用占位符图像 URI,您可以稍后使用实际图像位置对其进行更新。
您需要了解的内容
生成基础架构模板
-
出现提示时,选择您的目标平台:Amazon EK S 或 A mazon ECS。
-
如果您选择了 Amazon EKS,T AWS ransform 会询问是否包含 CloudWatch 日志记录。回答 “是” 或 “否”。
-
如果出现提示,请提供应用程序的运行状况检查端点详细信息(例如
/health路径)。 -
AWS Transform 会生成并验证基础架构模板。此步骤会自动运行,T AWS ransform 会显示进度更新,包括所有验证或安全扫描结果。
-
当 Transfor AWS m 呈现生成的模板时,请查看它们。