本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
容器化和遷移
如果應用程式伺服器符合所有先決條件且可以執行所有 AWS App2Container (A2C) 任務,請遵循 App2Container 文件中的指示進行操作。
如果應用程式伺服器無法執行所有 App2Container 任務,請使用工作機器。在應用程式伺服器與工作機器之間分割 App2Container 任務。
在應用程式伺服器上,您可安裝並初始化 App2Container。然後,分析應用程式伺服器上執行的 Java 應用程式。分析會產生 analysis.json
檔案。然後,產生存檔並將其上傳 Amazon Simple Storage Service (Amazon S3) 儲存貯體或手動將存檔複製到工作機器。
在工作機器上,將應用程式容器化以產生 Docker 映像檔。根據應用程式類型,App2Container 採用保守的方法 (稱為程序模式) 來識別相依性。在流程模式中,應用程式伺服器上的所有非系統檔案都會包含在容器映像中。在這種情況下,可能會產生較大的映像。然後將應用程式部署到 Amazon ECS或 Amazon EKS。在容器化期間,會建立 deployment.json 檔案,然後由 generate-app-deployment命令使用。
如需有關在應用程式伺服器與工作機器之間分割任務的詳細資訊,請參閱 App2Container 文件。
如果只能遠端存取應用程式伺服器,請使用遠端命令從工作機器執行 App2Container 任務。如需詳細資訊,請參閱將內部部署 Java 應用程式遷移至 AWS 使用 AWS App2Container 模式。
解決方案架構
下圖顯示了使用 App2Container 容器化 Java 應用程式的流程和範例架構:
-
在應用程式伺服器上,設定先決條件、安裝 App2Container、探索應用程式並擷取應用程式。
-
在工作者機器上設定先決條件、安裝 App2Container 、將擷取的應用程式複製到工作者機器、容器化、產生部署、部署 AWS CloudFormation 範本和 CI/CD 管道。
-
App2Container 會將映像上傳至 Amazon Elastic Container Registry (AmazonECR)ECS、佈建 Amazon 和佈建管道。
-
AWS CodePipeline 從 提取程式碼 AWS CodeCommit。
Notice (注意)
AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解
-
CodePipeline 會將程式碼推送至 AWS CodeBuild。
-
CI/CD 管道會將 Docker 映像推送至 Amazon ECR。