本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
容器化和迁移
如果应用程序服务器满足所有先决条件,并且可以运行所有 AWS App2Container(A2C)任务,请按照 App2Continer 文档中的说明操作。
如果应用程序服务器无法运行所有 App2Container 任务,请使用工作计算机。在应用程序服务器和工作计算机之间拆分 App2Container 任务。
在应用程序服务器上,安装并初始化 App2Container。然后,分析应用程序服务器上运行的 Java 应用程序。分析生成 analysis.json
文件。然后,生成存档并将其上传到 Amazon Simple Storage Service(Amazon S3)存储桶,或手动将存档复制到工作计算机。
在工作计算机上,将应用程序容器化以生成 Docker 映像。根据应用程序类型,App2Container 采用一种保守的方法(进程模式),来识别依赖项。在进程模式下,应用程序服务器上的所有非系统文件都包含在容器映像中。在这种情况下,可能会生成较大的映像。然后,将应用程序部署到 Amazon ECS 或 Amazon EKS。在容器化过程中,会创建一个 deployment.json 文件,然后由命令使用。generate-app-deployment
有关在应用程序服务器和工作计算机之间拆分任务的更多信息,请参阅 App2Container documentation。
如果只能远程访问应用程序服务器,请使用远程命令从工作计算机运行 App2Container 任务。有关更多信息,请参阅将本地 Java 应用程序迁移到 AWS 使用 A AWS pp2Container 模式。
解决方案架构
下图显示了使用 App2Container 对 Java 应用程序进行容器化的过程和示例架构:
-
在应用程序服务器上,设置先决条件,安装 App2Container,发现应用程序和提取应用程序。
-
在工作器计算机上,设置先决条件,安装 App2Container,将提取的应用程序复制到工作器计算机,容器化,生成部署,部署 AWS CloudFormation 模板和 CI/CD 管道。
-
App2Container 将映像上传到 Amazon Elastic Container Registry(Amazon ECR),预置 Amazon ECS,并预置管道。
-
AWS CodePipeline 从中提取代码。 AWS CodeCommit
Notice
AWS CodeCommit 不再向新客户提供。的现有客户 AWS CodeCommit 可以继续照常使用该服务。了解更多
-
CodePipeline 将代码推送到 AWS CodeBuild。
-
CI/CD 管道将 Docker 映像推送到 Amazon ECR。
