View a markdown version of this page

步骤 6:以代码形式生成基础架构 - AWS 转换

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 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 日志记录,则您的集群管理员在部署之前必须满足以下先决条件:

  1. 在集群中创建amazon-cloudwatch命名空间。

  2. 为具有 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,您可以稍后使用实际图像位置对其进行更新。

您需要了解的内容

生成基础架构模板
  1. 出现提示时,选择您的目标平台:Amazon EK S 或 A mazon ECS

  2. 如果您选择了 Amazon EKS,T AWS ransform 会询问是否包含 CloudWatch 日志记录。回答 “是” 或 “否”。

  3. 如果出现提示,请提供应用程序的运行状况检查端点详细信息(例如/health路径)。

  4. AWS Transform 会生成并验证基础架构模板。此步骤会自动运行,T AWS ransform 会显示进度更新,包括所有验证或安全扫描结果。

  5. 当 Transfor AWS m 呈现生成的模板时,请查看它们。