標準.NET Webアプリケーションのデプロイをすばやく開始するには、Elastic Beanstalkが最適なサービスです。
AWS CloudFormationを使用すると、開発者とシステム管理者は、関連するAWSリソースのコレクションを簡単に作成および管理し、整然とした予測可能な方法でプロビジョニングおよび更新できます。
CloudFormation(CFn)は、既存のAWS APIに対する軽量で低レベルの抽象化です。静的なJSON / YAML テンプレートドキュメントを使用して、AWS APIのCRUDオペレーションに対応する一連のリソース(EC2インスタンスやS3バケットなど)を宣言します。
CloudFormationスタックを作成すると、CloudFormationは対応するAPIを呼び出して関連するリソースを作成し、スタックを削除すると、CloudFormationは対応するAPIを呼び出してそれらを削除します。ほとんど(すべてではない)のAWS APIがサポートされています。
AWS Elastic Beanstalkは、Java、.NET、PHP、Node.js、Python、Ruby、Go、Dockerを使用して、Apache、Nginx、Passengerなどの使い慣れたサーバー上で開発されたWebアプリケーションおよびサービスをデプロイおよびスケーリングするための使いやすいサービスです、およびIIS。
コードをアップロードするだけで、Elastic Beanstalkが容量プロビジョニング、ロードバランシング、自動スケーリングからアプリケーションのヘルスモニタリングまで、デプロイメントを自動的に処理します。
Elastic Beanstalk(EB)は、Herokuと同様に、Webアプリケーションをホストするための上位レベルの管理された「サービスとしてのプラットフォーム」(PaaS)です。EBは、低レベルのAWSリソースを直接処理するのではなく、ウェブインターフェースを使用してアプリケーション環境を作成し、アプリケーションが使用するプラットフォームを選択し、ソースバンドルを作成してアップロードし、残りをEBが処理するフルマネージドプラットフォームを提供します。
EBを使用して、ための機能で、内蔵のすべての種類を取得するアプリケーション環境を監視し、アプリケーションの新しいバージョンを展開します。
内部では、EBはCloudFormationを使用して、アプリケーションのさまざまなAWSリソースを作成および管理します。アプリケーションと共にデプロイされたEB構成ファイルにCloudFormationリソースを追加することにより、デフォルトのEB環境をカスタマイズおよび拡張できます。
結論
アプリケーションがElastic Beanstalkのサポートされているプラットフォームのいずれかを使用する標準のWeb層アプリケーションであり、アプリケーションの管理が容易で拡張性の高いホスティングが必要な場合は、Elastic Beanstalkを使用します。
もし、あんたが:
- アプリケーションのすべてのAWSリソースを直接管理したい。
- インスタンスのプロビジョニングまたはデプロイメントプロセスを管理または大幅にカスタマイズしたい。
- Elastic Beanstalkでサポートされていないアプリケーションプラットフォームを使用する必要があります。または
- より高いレベルのElastic Beanstalk機能を必要としない/必要としない
次にCloudFormationを直接使用し、Elastic Beanstalkの追加の構成レイヤーを避けます。