■AWS Elastic Beanstalk の特徴
- ELB と Auto Scaling を利用してスケーラブルなデプロイを自動化できます。
- アプリケーションのバージョン管理を自動化することもできます。
- Java、.NET、PHP、Node.js、Python、Ruby、Go および Docker を使用して開発されたウェブアプリケーションやサービスを、Apache、Nginx、Passenger、IIS など使い慣れたサーバーでデプロイおよびスケーリングするためのサービスです。
- サービスを停止すると(リソースを停止すると)自動的にサービスが再起動します。(AWS OpsWorks の場合も自動的に再起動します。)
ECS や ECR や EKS と連携できる
■AWS Elastic Beanstalk で ECS の操作の自動化も可能
- ECS などの Docker サービスと連携して、容量のプロビジョニング、負荷の分散、スケーリング、およびアプリケーションの状態の監視の詳細を自動化することができます。
- Docker 環境の容量のプロビジョニング、負荷の分散、スケーリング、およびアプリケーションの状態の監視の詳細を自動的に処理できます。
- ECS、ECR、EKS を連携して Docker 経由のアプリケーション展開を設定しつつ、バージョン管理や状態の監視の詳細を自動化することが可能です。
Elastic Beanstalk は Docker を利用したデプロイが可能
Docker を利用することで Elastic Beanstalk でサポートされていない独自のランタイム環境も利用できます。
その為、バージョン等が理由でオンプレミス環境で利用しているアプリケーションを Elastic Beanstalk に持ってこれなくても Docker コンテナからのアプリのデプロイができます。
AWS Elastic Beanstalk と AWS OpsWorks の違い
https://aws.amazon.com/jp/opsworks/stacks/faqs/
- AWS OpsWorks スタックと AWS Elastic Beanstalk は対象のニーズと目的が異なります。
- AWS Elastic Beanstalk は、オペレーションについて心配せずにウェブアプリケーションをデプロイしたいとお考えの開発者向けに設計されています。開発者はコードをアップロードするのみで、キャパシティーのプロビジョニング、ロードバランシング、自動スケーリングからアプリケーションの状態のモニタリングまで、デプロイが自動的に処理されます。開発者側でインフラストラクチャやリソースの設定をすることなく、アプリケーションが使用できるようになります。
- 一方、AWS OpsWorks スタックは、高度なカスタマイズとオペレーションの制御が必要であるとお考えの IT 管理者および DevOps エンジニア向けの、統合された設定管理プラットフォームです。AWS OpsWorks スタックでは、Chef レシピを活用して、ソフトウェアの設定、パッケージのインストール、データベースのセットアップ、サーバーのスケーリング、コードのデプロイといった運用が自動化されます。
Elastic Beanstalk のチュートリアル
Elastic Beanstalk のチュートリアル
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/GettingStarted.html
コメント