模块 1:准备指南
学习模块
概览
App2Container 徽章表明您对 AWS App2Container(A2C)现代化工具的精通程度。此准备指南分主题逐一解释了您需要了解哪些内容才能通过评测,并提供了可供您查看的资源。您还应该将该工具与自己的应用程序或 AWS 研讨会结合使用,获得实践经验。
准备就绪后,前往“模块 2”参加评测考试。
用途
AWS App2Container(A2C)可帮助您对现有应用程序进行容器化并将其迁移到 AWS。A2C 是一种命令行工具,利用此工具,您可以直接迁移在本地数据中心或虚拟机上运行的应用程序,并在由 Amazon Elastic Container Service(Amazon ECS)、Amazon Elastic Kubernetes Service(Amazon EKS)或 AWS App Runner 托管的容器中运行这些应用程序。
信息图:App2Container
A2C 用户指南:什么是 AWS App2Container?
Hello App2Container
优势
借助 App2Container,您可以节省基础设施成本和训练成本,加快实现现代化,并在不更改代码的情况下实现应用程序容器化。
使用案例
支持的应用程序
App2Container 支持基于 Linux 的 Java 应用程序、基于 Windows 的 ASP.NET(.NET Framework)和基于 Linux 的 ASP.NET Core 应用程序。
- .NET Framework ASP.NET IIS Web 应用程序可以在 Amazon ECS 或 Amazon EKS 上的 Windows 容器中运行。
- 现代化 .NET Web 应用程序可以在 AWS App Runner、Amazon ECS 或 Amazon EKS 上的 Linux 容器中运行。
- Java 应用程序可以在 AWS App Runner、Amazon ECS 或 Amazon EKS 上 的 Linux 容器中运行。
流程
App2Container 的 4 步使用流程如下:
- 发现和分析:创建应用程序清单并分析运行时系统依赖关系
- 提取和容器化:提取有依赖关系的应用程序并创建 Docker 映像。
- 创建部署构件:生成 Amazon ECS 任务和 Kubernetes 容器组(pod)定义,并创建 CI/CD 管道。
- 部署到 AWS:在 Amazon ECR 中存储该映像,然后部署到 Amazon ECS 或 Amazon EKS。
AWS App2Container 产品详情页面 – 工作原理
A2C 用户指南:App2Container 的工作原理
功能
您应该了解以下功能:
- 应用程序清单:App2Container 会识别虚拟机中运行的受支持的 ASP.NET 和 Java 应用程序,以生成您环境中所有应用程序的全面清单。
- 详细依赖关系分析:App2Container 会分析正在运行的应用程序并识别依赖关系,包括已知的协作流程和网络端口依赖关系。
- 无缝部署:App2Container 会与 ECR、ECS 和 EKS 等各种 AWS 服务集成,遵循 AWS 针对安全性和可扩展性的最佳实践,为容器化应用程序生成 ECS 任务定义和 Kubernetes 部署 YAML。
- 与自动化管道的内置集成:App2Container 会为 Amazon DevOps(例如 CodeBuild 和 CodeDeploy)创建 CI/CD 管道,以构建和部署容器。
- 自动化应用程序预置:App2Container 会生成 CloudFormation 模板,用于配置所需的计算、网络和安全基础设施,以便在 AWS 中无缝部署容器化应用程序。
- 对多个来源的各种应用程序进行现代化改造:App2Container 可以容器化在本地、虚拟机、Amazon EC2 或其他云中运行的应用程序。
命令
您应该了解不同的 app2container 命令及其选项。
- app2container analyze 用于分析指定的应用程序并生成报告。
- app2container containerize 用于为您的应用程序创建 Docker 容器映像。
- app2container extract 用于为指定的应用程序生成应用程序存档。
- app2container generate app-deployment 用于生成所需的构件,以便在 AWS 中部署您的应用程序容器。
- app2container generate pipeline 用于生成所需的构件,以便使用 CodePipeline、Jenkins 或 Microsoft Azure DevOps 服务来创建 CI/CD 管道。
- app2container help 用于列出 App2Container 命令,并按照这些命令通常的运行阶段对其进行分组。
- app2container init 用于为 App2Container 执行一次性初始化任务。
- app2container inventory 用于记录应用程序服务器上运行的所有 Java 或 .NET 流程(Linux)或者所有 IIS 网站和 Windows 服务(Windows)。
- app2container remote analyze 用于分析目标应用程序服务器上的指定应用程序并生成报告。
- app2container remote configure 在 Worker 设备上运行,用以配置在应用程序服务器上运行远程工作流所需的连接。
- app2container remote extract 在 Worker 设备上运行,用以为目标应用程序服务器上的指定应用程序生成应用程序存档。
- app2container remote inventory 在 Worker 设备上运行,用以检索指定应用程序服务器上运行的所有 Java 或 .NET 流程(Linux)或所有 IIS 网站和 Windows 服务(Windows)的清单。
- app2container upgrade 用于升级您现有的 App2Container 安装。
- app2container upload-support-bundle 用于安全地将 App2Container 日志和支持构件上传给 AWS App2Container 支持团队,协助进行故障排除。
实践经验
您应该在使用 App2Container 容器化一个或多个应用程序并将其部署到 AWS 方面具有经验。如果您没有可用的应用程序,可以使用下面的研讨会。
演示和教程
AWS 使用经验
新手或中级
.NET 使用经验
中级
所需时间
最多 3 个小时,具体取决于以前的经验
所需费用
10 美元
使用的服务
Amazon ECS 和 AWS Fargate、Amazon Elastic Container Registry(ECR)、Amazon DynamoDB、Amazon VPC
上次更新日期
2022 年 4 月 28 日
模块
此教程分为以下模块。您可以根据自己的经验和准备情况全面学习各个模块,也可以略读和复习。
- 准备指南(3 小时)。
- 技能评测(16 个问题,不计时):评测您在针对 .NET 工作负载的 AWS App2Container 工具方面的技能。