負荷分散、監視、自動スケーリングなど、あなたが言及したすべてのことは間違いなく利点です.
ただし、次のように考える必要があります。真のサービスとしてのプラットフォーム(PAAS) では、アプリケーションをプラットフォームから分離することが目標です。開発者は、自分のアプリケーションについてのみ心配します。プラットフォームはあなたに「レンタル」されています。プラットフォームの「インスタンス」は、自動的に更新、管理、スケーリング、バランス調整などが行われます。WAR ファイルをアップロードするだけで機能します (少なくとも理論的には)。
EC2 自体は PAAS ではありません。IAAS ( Infrastructure as a Service ) に似ています。サーバー インスタンスの管理、ソフトウェアのインストール、更新の維持などを行う必要があります。
Elastic Beanstalk は PAAS システムです。App EngineやAzureも同様です。
真の PAAS システムでは、DBMS は Web アプリケーション サーバーとは別のコンポーネントです。理由は明らかです。アプリケーション サーバーに使用されているインスタンスに DBMS をインストールできない可能性があります。トラフィックに基づいてインスタンスが作成および破棄されるため、DBMS が失われるからです。いずれにせよ、DBMS とアプリケーション サーバーを同じマシン/インスタンスに配置することは、一般的には良い考えではありません。
PAAS システムでは、DBMS は別のサービスです。Amazon の場合、Amazon RDSになります。アプリケーション サーバーを気にする必要がなく、WAR ファイルをアップロードするだけの Elastic Beanstalk と同様に、RDS を使用すると、DBMS を気にする必要がなく、データベースをデプロイするだけです。
Elastic Beanstalk と RDS は、特にレイテンシーが非常に低い同じアベイラビリティーゾーンにデプロイされた場合に、非常にうまく連携します。
最後に、Elastic Beanstalk を使用しても、デプロイされたリソース (EC2 インスタンスとロード バランサー) 以外の費用はかかりません。ただし、RDS は安価ではなく、アプリケーション サーバーと DBMS の両方に単一の EC2 インスタンスを使用するよりも確実に高価になります。