BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース AmazonがElastic BeanstalkにDockerサポートを追加

AmazonがElastic BeanstalkにDockerサポートを追加

原文(投稿日:2014/04/25)へのリンク

Amazonは,同社の自動スケール機能を備えたインフラストラクチャ・アズ・ア・サービス(IaaS)であるElastic Beanstalkで,Dockerをサポートすると発表した。既存のNode.js, PHP, Python, .Net, Java, Rubyに加えて,Dockerベースのアプリケーションが実行できるようになる。Dockerコンテナを使うことで,Elastic Beanstalkで使用可能な言語とフレームワークのサポートは大幅に拡張され,ほとんどすべてのものがコンテナ内に配置可能になる。Elastic Beanstalk上でDockerが使えることにより,ローカルマシンで開発を行って,その結果をクラウドスケールでデプロイする,という開発方法の実現が期待される。

Amazonはすでに,自身のAmazon Linuxである2014.03リリースでのDockerサポートを発表している。これ(あるいはDockerの実行に必要なカーネルを持つ,他のLinux)を使用すれば,DockerコンテナをAmazonクラウド上のVMで実行することは,以前から可能だった。Elastic Beanstalkでのサポートは,これに自動プロビジョニング,ロードバランス,スケール,アプリケーションの状態監視の機能を追加するものだ。ただしシステムがVMベースであることは変わっていない。また,コンテナのスケールアップは可能だが,1インスタンス上に複数のコンテナを共存できないことも欠点のひとつと言えるだろう。

サービスの設定はDockerfileをベースとして行う。プレーンなDockerfileの他,Amazon独自のDocker.aws.json形式も使用可能だ。いずれの形式でも,Dockerfile(あるいはDocker.aws.jsonファイル)と合わせてzipアーカイブ形式にすることで,アプリケーションにファイルを追加することができる。Dockerfileの使用が必須であっても,公開リポジトリやプライベートなリポジトリから既存のDockerイメージを利用することは不可能ではない。ただしその場合,それぞれのDockerfileはベースイメージを示すFROM命令から始まる必要がある。ベースイメージ自体は最少のオペレーティングシステムでも,あるいは必要な依存ファイルをすべて含んだアプリケーションでも構わない。

今回のElastic Beanstalkリリースで使用されているDockerのバージョンは,LXCに代えてlibcontainerを採用した最初のバージョンである0.9だ。0.9は3月にリリースされたが,0.9.1でフィックスされた多数のバグが残っている。もっとも注意すべきなのは,デーモンモードのSSHの動作が停止してしまうというコンソールの問題だ。 Dockerは現在,1か月周期のリリースサイクルを採用している。0.10.0(1.0リリース候補の初版)が2014年4月8日に提供開始されているので,Amazonは最新版よりも6週間ほど遅れていることになる。

Elastic Beanstalkが最初にローンチされたのは2011年1月だが,製品のホームページにはいまだ(ベータ)ラベルが掲載されている。EC2やS3, SNS, ELBなど,数あるAWSサービスのひとつとして,自動スケーリングを提供する製品だ。RDSのようなAmazonのデータ管理サービスとも簡単に統合できる。サービス自体には課金されず,ユーザは下位サービスで利用するリソースの料金を支払うことになる。

この記事に星をつける

おすすめ度
スタイル

BT