Beanstalk使用してDockerのクラスター環境を構築する手順を解説します。
下記のDockerrun.aws.jsonを作成します。
{ "AWSEBDockerrunVersion": "1", "Image": { "Name": "test/docker-repo", "Update": "true" }, "Ports": [ { "hostPort": 80, "ContainerPort": "80" } ], "Logging": "/var/log/httpd" }
「AWSマネージメントコンソール」よりBeanstalkを選択し、「Create New Application」を選択します。
「Application name」を入力し、「Next」をクリックします。
「WebEnvironment」を選択し、「Create web server」をクリックします。
次に、Beanstalkを使用できるロールを選択します。
「Environment Type」で「Predifind Configuration」をDockerに設定し、「Environment type」で「Load balancin,auto scaling」を選択し、「Next」をクリックします。
「Application Version」で「Upload your own」を選択し、先ほどの「Dockerrun.aws.json」ファイルをアップロードし、「Next」をクリックします。
「Environment Info」で「Environment name」を設定し、「Next」をクリックします。
「Additional Resources」では、何も設定しないまま「Next」をクリックします。
「Configuration Details」では「key pair」などを設定します。
「Environment Tags」では、タグが必要な場合にタグを設定します。
「Launch」をクリックして環境が構築されることを確認します。
Elastic Load BalancingのURLにアクセスしてアップロードしたコンテナーのHTMLファイルが見られることを確認します。
Dockerイメージを更新するには、該当コンテナーの「Overview」で「Upload and Deploy」ボタンを押します。
新しいイメージ(または既存jsonファイル)を選択します。
HTMLファイルを開いて、Dockerイメージが更新されたことを確認します。
Beanstalkで複数のDockerコンテナーを構築するには、Beanstalkで「Environment Type」を作成するときに「Multi-Container Docker」を選択します。
複数コンテナーかどうかは「Dockerrun.aws.json」の「AWSEBDockerrunVersion」プロパティでサポートされます。そのため、「"AWSEBDockerrunVersion": 2」としてコンテナーを作成してください。
次ページでは、Beanstalkでのさまざまな運用テクニックを紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.