AWS EB&Dockerを使うなら下のようなリリース作業になるはず・・・— xiaca@aahub.org (@scrpgil) February 19, 2018
1.ローカルでdocker build でdocker image作成
2.docker pushでAWS ECSにアップロード
3.eb create で新しい環境を作成&確認
4.問題なければRoute53でアクセス先変更
5.前Verの環境を削除
全部が終わるのは大体10〜15分くらい
AWSでElastic Beanstalk + Docker使ってます。
結構使ってて長いんですが、リリース作業自体は去年の今頃に色々調べて落ち着いた手順です。誰かに相談とかしたわけじゃないので、いまいち不安なんですよね・・・。
それで、自分のリリース手順を振り返ることにしました。
何をやっているのか?
ざっくり振り返ると以下の手順を踏んでいます。
1.ローカルでdocker build でdocker image作成
2.docker pushでAWS ECS(旧ECR?)にアップロード
3.eb create で新しい環境を作成&確認
4.問題なければRoute53でアクセス先を3で作成した環境に変更
5.前Verの環境を削除
3.eb create で新しい環境を作成&確認
4.問題なければRoute53でアクセス先を3で作成した環境に変更
5.前Verの環境を削除
上記の手順ですね。dockerは最初に書いたDockerfileを後生大事に使ってる感じです。
作業時間は?
上記の作業を全部行うのに大体10〜15分くらいかかります。時間の内訳としてはdocker buildと確認の時間がほとんどです。なので、もっと軽いプロジェクトだったらもうちょっと時間が短くてすむかも。
不安点は?
正直、問題なく作業はできています。しかし、現状はほぼ一人作業だから問題ないのだと思います。
複数人で作業する際に、「ebの環境ってどうやって共有するの?」という疑問があります。
ebの環境ってgitで管理する感じだからgit経由で共有すれば問題なく動くのかなーって感じです。
まあ、これは人が増えた時にでも考えますかね。
正直、細かい設定はよくわかっていない
Elastic Beanstalkって便利なんですけど正直私は細かい設定をよく解っていないんですよね・・・。なので、カリカリにコストをチューニングするとなるともう少し工夫が必要になるかもしれません。
まとめ:簡単に使えて便利。だけど・・・
EB簡単です!でも、細かい所よく分っていません!て感じです。
いつかAWSにめちゃ詳しい人が入ってきた時に一蹴りしてくれるかもしれませんね。
あと、そろそろコストチューニングするかもなので、そこでムダが明るみにでるかもしれませんね。それでは。