Posted on Apr 25
Elastic Beanstalk
は初めてElastic Beanstalk
で Docker
が使えるようになったそうなので試してみるドキュメントを読むと現時点ではコンテナで 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
させている最初のポートが ELB
の 80
ポートにバインドされるようだ。
Elastic Beanstalk
で生成されたインスタンスを Terminate
Elastic Beanstalk
で生成された Security Group
を Delete
Terminate
って感じ。
初 Elastic Beanstalk
なのでちょっとだけ何者かを調べたが一言で言うと…
PaaS
Heroku
や Engine Yard
等(共に使用経験ほぼ無し)と同じ土俵な製品なのかなという位の理解しか無い。すいません。
クラスメソッドさん仕事が速い!
マネジメントコンソールから Elastic Beanstalk
を選んでプルダウンから Docker
を選択して… Launch Now
をクリックするだけ…
以下のような画面に切り替わる。
そして暫くすると以下のような画面になれば準備完了!!
この間に以下のようなことが行われているようだ。
ELB
の作成S3
のバケット生成Security Group
の生成(後になって環境を Terminate
出来ないよーとなる原因)Auto Scaling
のグループ作成Cloud Watch
の設定EC2
インスタンスの作成かなりのお仕事を裏でやっててスゴイなあと思いつつ Security Group
を消さないと環境を Terminate
出来なかったりするのは要注意(私的見解)。
ウンチクはこれくらいにして、さっそく docker build
してみる。参考にさせて頂いた資料を斜め読みすると従来の Dockerfile
を直接利用出来る以外に以下から設定出来るとのこと。
Dockerfile
Docker.aws.json
という JSON
形式のファイルDockerfile
or Docker.aws.json
と ADD
する設定ファイル各種そのまま Dockerfile
使えるのが嬉しいですな。ということで既に作成済である以下の Dockerfile
を使ってみる。
上図の Upload and Deploy
をクリック!
ローカル PC
から Dockerfile
をアップロード。同時に Version lable
を記入する。この Verion Label
をいい加減に設定すると怒られる。(何度か試すうちに同じ label
とかになると…)アップロードして記入した後で Deploy
をクリックすると…
おお、始まりましたな。暫くすると…
おやっと様でした。右上のリンクをクリックすると…
早速ログイン!といきたいところだったがログインが出来なかったので何か設定が足りないようだ…上記の画面が見れるということはInfluxDB
の 8083
ポートが ELB
で 80
ポートにバインドされているっぽい。では、その他のポートはどこで設定するかな調べなきゃ←イマココ
EC2
インスタンスでも Docker
は扱うことが出来るけどボタン一発は嬉しいDockerfile
が一応、それなりに動くのも更に嬉しい2014 かっぱのほげふが