Elastic Beanstalk
Elastic Beanstalk 発音は、「えらすてぃっく びーんすとーく」だそうです。 びーんずとーくだと思ってました(笑)
Beanstalkのイメージは下図な感じ↓ Applicationの大枠があり、 environmentがありまして、それぞれにendpointがついており、cnameを設定できます。 Ex)test.example.com environmentはいくつも作れます。 Versionという枠があり、ソースコードをバージョン毎に格納します。 裏側はS3のバケットです。 仮に上を本番環境、下をステージング環境とします。 Ver.1.0を本番に、Ver.1.1をステージングにでデプロイして、開発を進めていくこととします。 ステージングの検証が問題ないので、Ver.1.1を本番にデプロイしたい! そんな時もすぐできます! そしてすぐ戻せるのです。
environmentの中には大きく2種類あって、 ①Web Server環境 ②Worker環境 があります。 HTTPリクエストを処理するウェブアプリケーションならWebServer バックグラウンドプロセスタスクを処理するアプリケーションならWorker 環境で作成します。 Worker環境のものをデプロイしてSQSに書き込める バックグラウンド処理タスクを実行できます。 また、Versionのファイルの中に.ebextensionsフォルダを置いて、 その下の各ファイルにコマンドやオプション設定を記述して、デプロイ時に実行するコードを入れておくことができます。
全体の裏側が実はCloudFormationで、別のリージョンにもすぐにコピーできたりするらしい。 すごい!