

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 原始程式碼容器化
<a name="transform-containers"></a>

AWS 轉換支援在遷移至 期間將應用程式轉換至容器 AWS。本章說明 AWS Transform 的代理式 AI 功能，以自動化原始程式碼的容器化。您可以平行遷移和現代化，減少從內部部署遷移到雲端原生架構的時間和複雜性。您可以從 GitHub、Bitbucket、GitLab 或 .zip 檔案容器化原始碼、產生 Docker 映像、發佈至 Amazon Elastic Container Registry (Amazon ECR)，以及部署至 Amazon Elastic Container Service (Amazon ECS) 或 Amazon Elastic Kubernetes Service (Amazon EKS)。這將容器化帶入您用來規劃和執行重新託管遷移的相同工作流程。

**注意**  
原始程式碼容器化是專為尚未容器化的應用程式所設計。它需要存取您的應用程式原始碼，且不支援遷移現有的容器化工作負載。若要將現有容器遷移至 AWS，請使用 Amazon Elastic Container Service 或 Amazon Elastic Kubernetes Service 的標準部署方法。

## 功能和主要功能
<a name="transform-containers-capabilities"></a>

AWS Transform 提供下列將應用程式容器化的功能。
+ **AI 驅動的原始程式碼分析** — 分析您的應用程式原始程式碼，並自動產生 Docker 成品，包括 Dockerfile 和相關的組態檔案。
+ **容器映像建置和發佈** — 使用 AI 驅動的 Docker 組建建置和測試容器映像，並透過自動漏洞掃描將其發佈至 Amazon Elastic Container Registry。
+ **基礎設施即程式碼產生** — 透過自動驗證和安全性掃描，為 Amazon Elastic Kubernetes Service (Helm Charts) 或 Amazon Elastic Container Service (Terraform 模組） 產生部署基礎設施。
+ **私有相依性支援** — 您可以選擇性地將 AWS CodeArtifact 儲存庫 (Maven、PyPI、npm) 和私有 Amazon ECR 基礎映像設定為建置的相依性來源。
+ **反覆測試和切換部署** — 部署測試基礎設施以進行驗證，然後部署最終基礎設施以進行生產切換。

## 容器化的運作方式
<a name="transform-containers-how-it-works"></a>

AWS 轉換使用 AI 代理程式，在聊天式工作流程中引導您完成容器化程序。 AWS 轉換會協調特殊任務，例如原始程式碼分析、Docker 影像產生和基礎設施建立。在工作流程的關鍵點，您可以在繼續之前檢閱和核准輸出。

您可以透過建立 VMware 遷移任務來存取原始程式碼容器化。在任務中，您可以將容器化作為獨立工作流程執行，或在將波的遷移策略設定為*容器化*時作為end-to-end遷移的一部分執行。如需 VMware 遷移的詳細資訊，請參閱 [遷移 （包括 VMware)](transform-app-vmware.md)。

## 先決條件
<a name="transform-containers-prerequisites"></a>

開始之前，請務必備妥下列項目：
+  AWS 轉換工作區。如需取得工作區的相關資訊，請參閱[入門](https://docs.aws.amazon.com/transform/latest/userguide/getting-started.html)。
+ 您可以透過 AWS CodeConnections 存取的 Git 儲存庫中的應用程式原始碼，或封裝為 zip 檔案以進行上傳。個別檔案不得超過 1 GB，且所有原始碼的總大小不得超過 8 GB。
+ （選用） 用於發佈容器映像的 Amazon ECR 儲存庫。當您準備好發佈時，可以在工作流程中稍後設定 Amazon ECR 存取。
+ 對於 Amazon EKS 部署：現有的 Amazon EKS 叢集，或建立所需基礎設施的許可。
+ 對於 Amazon ECS 部署：使用 Terraform 或 建立 Amazon ECS 叢集 AWS CloudFormation、服務和相關資源的許可 AWS Cloud Development Kit (AWS CDK)。

## 容器化工作流程
<a name="transform-containers-workflow-overview"></a>

容器化工作流程包含下列步驟。 AWS 轉換代理程式會引導您完成聊天界面中的每個步驟。

1. [步驟 1：檢閱安全性免責聲明](transform-containers-step-disclaimer.md) — 檢閱並接受安全性免責聲明。

1. [步驟 2：複製原始程式碼](transform-containers-step-clone.md) — 提供您的應用程式原始碼。

1. [步驟 3：容器化](transform-containers-step-containerize.md) — AI 代理器會分析您的程式碼並產生 Docker 成品。

1. [步驟 4：檢閱 Docker 成品和程式碼變更](transform-containers-step-review.md) — 檢閱產生的成品並核准程式碼變更。

1. [步驟 5：發佈映像](transform-containers-step-publish.md) — 將容器映像發佈至 Amazon ECR。

1. [步驟 6：產生基礎設施做為程式碼](transform-containers-step-iac.md) — 產生 Amazon EKS 或 Amazon ECS 部署範本。

1. [步驟 7：部署測試基礎設施](transform-containers-step-test-deploy.md) — 部署和驗證測試基礎設施。

1. [步驟 8：清除測試基礎設施](transform-containers-step-cleanup.md) — 縮減測試資源。

1. [步驟 9：部署切換基礎設施](transform-containers-step-cutover.md) — 部署生產基礎設施。

## 啟動容器化任務
<a name="transform-containers-starting"></a>

若要容器化應用程式，您必須先在 AWS 轉換工作區中建立 VMware 遷移任務。在任務中，您可以選擇執行獨立容器化工作流程或包含容器化的end-to-end遷移流程。
+ **獨立容器化** — 在不執行完整 VMware 遷移的情況下容器化原始程式碼。當您想要獨立於任何基礎設施遷移容器化應用程式時，請選擇此選項。
+ **使用容器化End-to-end遷移** — 使用指派給一或多個波的*容器化*遷移策略來執行完整的 VMware 遷移工作流程。容器化工作流程會做為這些波遷移的一部分執行。如需 VMware 遷移的詳細資訊，請參閱 [遷移 （包括 VMware)](transform-app-vmware.md)。

**啟動容器化任務**

1. 在工作區登陸頁面上，選擇**建立任務**。

1. 選擇 **VMware 遷移**。

1. 選擇是否執行獨立容器化工作流程或包含容器化的end-to-end遷移流程。

1. AWS 轉換會引導您完成工作流程步驟，從 開始[步驟 1：檢閱安全性免責聲明](transform-containers-step-disclaimer.md)。