Docker コンテナからの Elastic Beanstalk アプリケーションのデプロイ - AWS Elastic Beanstalk

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

Docker コンテナからの Elastic Beanstalk アプリケーションのデプロイ

Elastic Beanstalk では、ウェブアプリケーションを Docker コンテナからデプロイできます。Docker コンテナを使用すると、独自のランタイム環境を定義できます。通常は他のプラットフォームでサポートされていない、独自のプラットフォーム、プログラミング言語、およびアプリケーションの従属関係 (パッケージマネージャやツールなど) を選択することもできます。Docker コンテナは自己完結型で、これにはすべての設定情報と、ウェブアプリケーションが実行する必要のあるソフトウェアが含まれています。Elastic Beanstalk コンソールで定義されたすべての環境変数は、コンテナに渡されます。

この章のトピックは、Elastic Beanstalk 環境についてある程度の知識がある方向けであることを前提としています。Elastic Beanstalk を使用したことがない場合は、入門ガイドチュートリアルで基本知識を得てください。また、この章は、ユーザーが Docker の基本と仕組みを理解していることを前提としています。詳細については、Docker Docs ウェブサイトの「Docker overview」 (Docker の概要) を参照してください。

Docker プラットフォームのブランチ

Elastic Beanstalk の Docker プラットフォームでは、以下のプラットフォームブランチがサポートされています。

Docker running Amazon Linux 2 と Docker running AL2023

Elastic Beanstalk は Docker コンテナとソースコードを EC2 インスタンスにデプロイして管理します。これらのプラットフォームブランチはマルチコンテナをサポートします。Docker Compose ツールを使用すると、アプリケーションの設定、テスト、デプロイを簡素化できます。このプラットフォームブランチの詳細については、「Docker プラットフォームブランチの使用」を参照してください。

Amazon Linux 2 上で動作する ECS と AL2023 上で動作する ECS

このブランチは、廃止されたプラットフォームブランチである (Amazon Linux AMI) 上で動作するマルチコンテナ Docker から AL2023/AL2 への移行パスが必要なお客様に提供されます。最新のプラットフォームブランチは、廃止されたプラットフォームブランチのすべての機能をサポートします。ソースコードを変更する必要はありません。詳細については、「Amazon Linux 上で動作するマルチコンテナ Docker の Amazon Linux 2023 上の ECS への移行」を参照してください。ECS ベースのプラットフォームブランチで動作する Elastic Beanstalk 環境がない場合は、Docker Running on 64bit AL2023 プラットフォームブランチを使用することをお勧めします。これにより、よりシンプルなアプローチが提供され、必要なリソースが少なくなります。

このプラットフォームブランチは、Amazon ECS を使用して、Elastic Beanstalk 環境で複数の Docker コンテナを Amazon ECS クラスターにデプロイするように調整します。ECS クラスターには、Docker コンテナをホストする EC2 インスタンスが含まれています。このデプロイオーケストレーションを実現するために、Elastic Beanstalk はコンテナ定義も含む ECS タスク定義を作成します。環境におけるインスタンスはそれぞれ、Dockerrun.aws.jsonv2 ファイルに定義される同じセットのコンテナで実行されます。詳細については、「Amazon ECS プラットフォームブランチの使用」を参照してください。

Amazon Linux AMI (AL1) で実行されている廃止されたプラットフォームブランチ

2022 年 7 月 18 日、Elastic Beanstalk では Amazon Linux AMI (AL1) に基づくプラットフォームブランチのステータスがすべて廃止されます。廃止された各プラットフォームブランチと Amazon Linux 2 または Amazon Linux 2023 (推奨) 上で動作する最新のプラットフォームブランチへの移行パスの詳細については、次の各セクションを展開してください。

このプラットフォームブランチは、Dockerfile または Dockerrun.aws.json v1 定義で説明されている Docker イメージをデプロイできます。このプラットフォームブランチは、インスタンスごとに 1 つのコンテナのみを実行します。その後継プラットフォームブランチである Docker running on 64bit AL2023と Docker running on 64bit Amazon Linux 2 は、インスタンスごとに複数の Docker コンテナをサポートします。

サポートされている新しいプラットフォームブランチ Docker running on 64bit AL2023 を使用して環境を作成することをお勧めします。その後、アプリケーションを新しく作成した環境に移行できます。これらの環境の作成の詳細については、「Docker プラットフォームブランチの使用」を参照してください。移行に関する詳細については、「Elastic Beanstalk Linux アプリケーションを Amazon Linux 2023 または Amazon Linux 2 に移行する」を参照してください。

このプラットフォームブランチは、Amazon ECS を使用して、Elastic Beanstalk 環境で複数の Docker コンテナを Amazon ECS クラスターにデプロイするように調整します。現在この廃止されたプラットフォームブランチを使用している場合は、最新の Amazon Linux 2023 上で動作する ECS プラットフォームブランチに移行することをお勧めします。最新のプラットフォームブランチでは、この廃止されたプラットフォームブランチのすべての機能がサポートされています。ソースコードを変更する必要はありません。詳細については、「Amazon Linux 上で動作するマルチコンテナ Docker の Amazon Linux 2023 上の ECS への移行」を参照してください。

前述の Docker プラットフォームに加えて、Amazon Linux AMI オペレーティングシステム (AL1) 上で動作する Preconfigured Docker GlassFish プラットフォームブランチもあります。

このプラットフォームブランチは、Docker running on 64bit AL2023 と Docker running on 64bit Amazon Linux 2 プラットフォームブランチに置き換えられました。詳細については、「Docker プラットフォームへの GlassFish アプリケーションのデプロイ」を参照してください。