コンテナ化と移行 - AWS 規範ガイダンス

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

コンテナ化と移行

アプリケーションサーバーがすべての前提条件を満たし、 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 タスクを実行します。詳細については、「Migrate on-premises Java applications to AWS using AWS App2Container pattern」を参照してください。

ソリューションアーキテクチャ

次の図は、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。

  5. CodePipeline はコードを にプッシュします AWS CodeBuild。

  6. CI/CD パイプラインが Docker イメージを Amazon ECR にプッシュします。

データセンター、CI/CD パイプライン、 AWS クラウド内の VPC の図。