

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ソースコードのコンテナ化
<a name="transform-containers"></a>

AWS Transform は、移行中のアプリケーションのコンテナへのリプラットフォームをサポートしています AWS。この章では、 AWS トランスフォームのエージェント 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 駆動型ソースコード分析** — アプリケーションのソースコードを分析し、Dockerfile や関連する設定ファイルなどの Docker アーティファクトを自動的に生成します。
+ **コンテナイメージの構築と公開** — AI 主導の Docker ビルドを使用してコンテナイメージを構築およびテストし、自動脆弱性スキャンを使用して Amazon Elastic Container Registry に公開します。
+ **コードとしてのインフラストラクチャの生成** — 自動検証とセキュリティスキャンを使用して、Amazon Elastic Kubernetes Service (Helm チャート) または Amazon Elastic Container Service (Terraform モジュール) のいずれかのデプロイインフラストラクチャを生成します。
+ **プライベート依存関係のサポート** — 必要に応じて、 AWS CodeArtifact リポジトリ (Maven、PyPI、npm) とプライベート Amazon ECR ベースイメージをビルドの依存関係ソースとして設定できます。
+ **反復テストとカットオーバーのデプロイ** — 検証用のテストインフラストラクチャをデプロイし、本番カットオーバー用に確定したインフラストラクチャをデプロイします。

## コンテナ化の仕組み
<a name="transform-containers-how-it-works"></a>

AWS Transform は AI を活用したエージェントを使用して、チャットベースのワークフローでコンテナ化プロセスをガイドします。 AWS Transform は、ソースコード分析、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: Infrastructure as Code を生成する](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 Transform ワークスペースに VMware 移行ジョブを作成します。ジョブ内から、スタンドアロンのコンテナ化ワークフローを実行するか、コンテナ化を含むend-to-endの移行フローを実行するかを選択できます。
+ **スタンドアロンコンテナ化** — 完全な VMware 移行を実行せずにソースコードをコンテナ化します。インフラストラクチャの移行とは別にアプリケーションをコンテナ化する場合は、このオプションを選択します。
+ **コンテナ化によるEnd-to-endの移行** — 1 つ以上のウェーブに割り当てられた*コンテナ化*移行戦略を使用して、完全な VMware 移行ワークフローを実行します。コンテナ化ワークフローは、これらのウェーブの移行の一部として実行されます。VMware 移行の詳細については、「」を参照してください[移行 (VMware を含む)](transform-app-vmware.md)。

**コンテナ化ジョブを開始するには**

1. ワークスペースのランディングページで、**ジョブの作成**を選択します。

1. **VMware 移行**を選択します。

1. スタンドアロンのコンテナ化ワークフローを実行するか、コンテナ化を含むend-to-endの移行フローを実行するかを選択します。

1. AWS Transform は、 から始まるワークフローステップをガイドします[ステップ 1: セキュリティの免責事項を確認する](transform-containers-step-disclaimer.md)。