メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

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

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

Elastic Beanstalk で Docker を使用することにより、容量のプロビジョニング、負荷の分散、スケーリング、およびアプリケーションの状態の監視の詳細を自動的に処理するインフラストラクチャが提供されます。VPCRDSIAM などの Elastic Beanstalk と統合できるさまざまなサービスをサポートする環境でウェブアプリケーションを管理できます。Docker の詳細については、Docker: the Linux container engine を参照してください。Docker のインストール方法、Docker が必要とするソフトウェア、Docker イメージを使用した Docker コンテナの起動方法などを確認できます。

注記

Elastic Beanstalk 環境で実行されている Docker コンテナが何らかの理由でクラッシュするか強制終了された場合、Elastic Beanstalk は自動的にそのコンテナを再起動します。

この章のトピックでは、Elastic Beanstalk 環境についてある程度の知識があることを前提としています。Elastic Beanstalk を使用したことがない場合は、入門ガイドチュートリアルで基本知識を得てください。

Docker プラットフォームの設定

Elastic Beanstalk 対応の Docker プラットフォームには、2 つの一般的な設定(単一のコンテナとマルチコンテナ)と複数の設定済みコンテナがあります。

各設定で現在サポートされているバージョンの詳細については、「事前設定済みプラットフォーム」ページをご覧ください。

単一コンテナの Docker

単一コンテナの設定は、Docker イメージ(Dockerfile あるいは Dockerrun.aws.json の定義に示される)とソースコードを Elastic Beanstalk 環境で実行される EC2 インスタンスにデプロイするために使用できます。 単一コンテナ設定は、インスタンスごとに 1 つのコンテナを実行する必要がある場合にのみ使用します。

単一コンテナの Docker 環境を使い始めるためのサンプルとヘルプは、「Single Container Docker」をご覧ください。 コンテナ定義形式および使用の詳細については、「単一コンテナの Docker の設定」を参照してください。

マルチコンテナの Docker

もう 1 つの基本的な設定であるマルチコンテナ Docker は、Amazon Elastic Container Service を使用して、Elastic Beanstalk 環境における複数の Docker コンテナの Amazon ECS クラスターへのデプロイを調整します。 環境におけるインスタンスはそれぞれ、Dockerrun.aws.json ファイルに定義される同じセットのコンテナで実行されます。 各インスタンスに複数の Docker コンテナをデプロイする必要がある場合、マルチコンテナ設定を使用します。

マルチコンテナ Docker の設定と使用についての詳細は、「複数コンテナの Docker 環境」を参照してください。 「複数コンテナの Docker 設定」のトピックには Dockerrun.aws.json 形式のバージョン 2 が詳細説明されていますが、これは単一コンテナ設定に使用されるバージョンとは類似しているが互換性のない形式です。 近くにある別のコンテナで実行される nginx プロキシを使って、PHP ウェブサイトを実行するマルチコンテナの環境のデプロイを初めから作成する手順を説明する「チュートリアル」も利用できます。

事前設定済み Docker コンテナ

2 つの一般的な Docker 設定に加えて、事前設定された Docker プラットフォーム設定がいくつも存在し、Glassfish の Java または uWSGI を使用する Python などの人気ソフトウェアスタックでアプリケーションを実行するために使用できます。 事前設定のコンテナは、アプリケーションが使用するソフトウェアと一致する場合に使用してください。

詳細については、「事前設定済み Docker コンテナ」を参照してください。

トピック

    このページの内容: