容器化和迁移 - AWS 规范性指导

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

容器化和迁移

如果应用程序服务器满足所有先决条件,并且可以运行所有 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 应用程序进行容器化的过程和示例架构:

  1. 在应用程序服务器上,设置先决条件,安装 App2Container,发现应用程序和提取应用程序。

  2. 在工作器计算机上,设置先决条件,安装 App2Container,将提取的应用程序复制到工作器计算机,容器化,生成部署,部署 AWS CloudFormation 模板和 CI/CD 管道。

  3. App2Container 将映像上传到 Amazon Elastic Container Registry(Amazon ECR),预置 Amazon ECS,并预置管道。

  4. AWS CodePipeline 从中提取代码。 AWS CodeCommit

    Notice

    AWS CodeCommit 不再向新客户提供。的现有客户 AWS CodeCommit 可以继续照常使用该服务。了解更多

  5. CodePipeline 将代码推送到 AWS CodeBuild。

  6. CI/CD 管道将 Docker 映像推送到 Amazon ECR。

AWS Cloud中的数据中心、CI/CD 管道和 VPC 示意图。