View a markdown version of this page

ソースコードのコンテナ化 - AWS 変換

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

ソースコードのコンテナ化

AWS Transform は、移行中のアプリケーションのコンテナへのリプラットフォームをサポートしています 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 Transform には、アプリケーションをコンテナ化するための以下の機能があります。

  • AI 主導のソースコード分析。アプリケーションのソースコードを分析し、Dockerfile や関連する設定ファイルなどの Docker アーティファクトを自動的に生成します。Docker の専門知識は必要ありません。

  • コンテナイメージの構築と公開。コンテナイメージを自動的に構築してテストし、自動脆弱性スキャンを使用して Amazon Elastic Container Registry に公開します。

  • コード生成としてのインフラストラクチャ。自動検証とセキュリティスキャンを使用して、Amazon Elastic Kubernetes Service (Helm チャート) または Amazon Elastic Container Service (Terraform モジュール) のいずれかの本番環境対応のデプロイインフラストラクチャを生成します。IaC をゼロから書き込む必要はありません。

  • プライベート依存関係のサポート。必要に応じて、 AWS CodeArtifact リポジトリ (Maven、PyPI、npm) とプライベート Amazon ECR ベースイメージをビルドの依存関係ソースとして設定できます。

  • 反復テストとカットオーバーのデプロイ。検証用のテストインフラストラクチャをデプロイし、本番稼働用のカットオーバー用に確定したインフラストラクチャをデプロイします。

注記

ソースコードのコンテナ化は、まだコンテナ化されていないアプリケーション向けに設計されています。アプリケーションのソースコードにアクセスする必要があり、既存のコンテナ化されたワークロードの移行はサポートされていません。既存のコンテナを に移行するには AWS、Amazon Elastic Container Service または Amazon Elastic Kubernetes Service の標準デプロイ方法を使用します。

コンテナ化の仕組み

AWS Transform は AI を活用したエージェントを使用して、チャットベースのワークフローでコンテナ化プロセスをガイドします。エージェントは、コード分析からデプロイされたコンテナまでのプロセス全体を処理し、手動の Dockerfile オーサリングとインフラストラクチャ設定の日数を数時間に短縮します。 AWS は、ソースコード分析、Docker イメージ生成、インフラストラクチャ作成などの特殊なタスクを調整します。ワークフローの重要なポイントで、先に進む前に出力を確認して承認します。

移行ジョブを作成して、ソースコードのコンテナ化にアクセスします。ジョブ内では、コンテナ化をスタンドアロンワークフローとして、またはウェーブの移行戦略がコンテナ化に設定されている場合にend-to-endの移行の一部として実行できます。詳細については、「移行 (VMware を含む)」を参照してください。

前提条件

作業を開始する前に、次の項目が揃っていることを確認してください。

  • AWS 変換ワークスペース。ワークスペースの取得の詳細については、「開始方法」を参照してください。

  • AWS CodeConnections からアクセスできる、またはアップロード用の zip ファイルとしてパッケージ化された Git リポジトリ内のアプリケーションソースコード。個々のファイルは 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)。

コンテナ化ワークフロー

コンテナ化ワークフローは、次のステップで構成されます。 AWS Transform エージェントは、チャットインターフェイスの各ステップを案内します。

  1. ステップ 1: セキュリティの免責事項を確認する。 セキュリティの免責事項を確認して承諾します。

  2. ステップ 2: ソースコードのクローンを作成する。 アプリケーションのソースコードを指定します。

  3. ステップ 3: コンテナ化。 AI エージェントはコードを分析し、Docker アーティファクトを生成します。

  4. ステップ 4: Docker アーティファクトとコード変更を確認する。 生成されたアーティファクトを確認し、コードの変更を承認します。

  5. ステップ 5: イメージを公開する。 コンテナイメージを Amazon ECR に発行します。

  6. ステップ 6: Infrastructure as Code を生成する。 Amazon EKS または Amazon ECS デプロイテンプレートを生成します。

  7. ステップ 7: テストインフラストラクチャをデプロイする。 テストインフラストラクチャをデプロイして検証します。

  8. ステップ 8: テストインフラストラクチャをクリーンアップする。 テストリソースをティアダウンします。

  9. ステップ 9: カットオーバーインフラストラクチャをデプロイする。 本番稼働用インフラストラクチャをデプロイします。

コンテナ化ジョブの開始

アプリケーションをコンテナ化するには、まず AWS Transform ワークスペースに VMware 移行ジョブを作成します。ジョブ内から、スタンドアロンのコンテナ化ワークフローを実行するか、コンテナ化を含むend-to-endの移行フローを実行するかを選択できます。

  • スタンドアロンコンテナ化 — 完全な VMware 移行を実行せずにソースコードをコンテナ化します。インフラストラクチャの移行とは無関係にアプリケーションをコンテナ化する場合は、このオプションを選択します。

  • コンテナ化によるEnd-to-endの移行 — 1 つ以上のウェーブに割り当てられたコンテナ化移行戦略を使用して、完全な VMware 移行ワークフローを実行します。コンテナ化ワークフローは、これらのウェーブの移行の一部として実行されます。VMware の移行の詳細については、「」を参照してください移行 (VMware を含む)

コンテナ化ジョブを開始するには
  1. ワークスペースのランディングページで、ジョブの作成を選択します。

  2. VMware 移行を選択します。

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

  4. AWS Transform は、 から始まるワークフローステップをガイドしますステップ 1: セキュリティの免責事項を確認する