Tags

By year

  1. 2014 (28)

Elastic Beanstalk で Docker が使えるようになったそうなので試してみる

AWS Elastic Beanstalk Docker

Posted on Apr 25


はじめに

  • 私自身 Elastic Beanstalk は初めて
  • タイトル通り Elastic BeanstalkDocker が使えるようになったそうなので試してみる


追記

複数の Port を晒すことが出来るのか?

ドキュメントを読むと現時点ではコンテナで Listen している複数のポートを晒すのは非対応のようだ。

You can specify multiple container ports, but AWS Elastic Beanstalk uses only the first one to connect your container to the host’s reverse proxy and route requests from the public Internet.

ああ、残念。EXPOSE させている最初のポートが ELB80 ポートにバインドされるようだ。

後始末の手順

  1. Elastic Beanstalk で生成されたインスタンスを Terminate
  2. Elastic Beanstalk で生成された Security GroupDelete
  3. 最後にアプリケーション環境を Terminate

って感じ。



とりあえずザックリ使う

Elastic Beanstalk とは

Elastic Beanstalk なのでちょっとだけ何者かを調べたが一言で言うと…

  • PaaS

HerokuEngine Yard 等(共に使用経験ほぼ無し)と同じ土俵な製品なのかなという位の理解しか無い。すいません。


参考

クラスメソッドさん仕事が速い!


やってみよー

マネジメントコンソールから Elastic Beanstalk を選んでプルダウンから Docker を選択して… Launch Now をクリックするだけ…

以下のような画面に切り替わる。

そして暫くすると以下のような画面になれば準備完了!!

この間に以下のようなことが行われているようだ。

  • ELB の作成
  • S3 のバケット生成
  • Security Group の生成(後になって環境を Terminate 出来ないよーとなる原因)
  • Auto Scaling のグループ作成
  • Cloud Watch の設定
  • EC2 インスタンスの作成

かなりのお仕事を裏でやっててスゴイなあと思いつつ Security Group を消さないと環境を Terminate 出来なかったりするのは要注意(私的見解)。


docker build

ウンチクはこれくらいにして、さっそく docker build してみる。参考にさせて頂いた資料を斜め読みすると従来の Dockerfile を直接利用出来る以外に以下から設定出来るとのこと。

  • Dockerfile
  • Docker.aws.json という JSON 形式のファイル
  • Dockerfile or Docker.aws.jsonADD する設定ファイル各種

そのまま Dockerfile 使えるのが嬉しいですな。ということで既に作成済である以下の Dockerfile を使ってみる。

上図の Upload and Deploy をクリック!

ローカル PC から Dockerfile をアップロード。同時に Version lable を記入する。この Verion Label をいい加減に設定すると怒られる。(何度か試すうちに同じ label とかになると…)アップロードして記入した後で Deploy をクリックすると…

おお、始まりましたな。暫くすると…

おやっと様でした。右上のリンクをクリックすると…

早速ログイン!といきたいところだったがログインが出来なかったので何か設定が足りないようだ…上記の画面が見れるということはInfluxDB8083 ポートが ELB80 ポートにバインドされているっぽい。では、その他のポートはどこで設定するかな調べなきゃ←イマココ



おまとめ申し上げます

  • 普通に EC2 インスタンスでも Docker は扱うことが出来るけどボタン一発は嬉しい
  • 既存の Dockerfile が一応、それなりに動くのも更に嬉しい
  • でも、細かい設定とかどうすれば良いのかは引き続き調べよう



2014 かっぱのほげふが