AWS Elastic Beanstalkは、拡張性をゼロから設計した方法で実行中のアプリをデプロイするように設計されています。このため、Elastic Beanstalkは1つ以上のEC2インスタンスを起動し、それらをElastic Load Balancerインスタンスに接続し、CloudWatchモニタリングとAutoScalingトリガーを設定します。
また、スケーラビリティの基本的な設計により、Elastic Beanstalkは環境ごとに1つのアプリを中心に設計されています(「環境」とは、これらのEC2 + ELB + CloudWatch + AutoScalingクラスターの1つを意味します)。
2つの別々のアプリ(PHPとJava)で2つの別々のWebサーバーを実行することは、基本的にスケーラブルな設計ではないため、ElasticBeanstalkが最適化されるユースケースではありません。
スタンドアロンEC2インスタンスを自由にスピンアップして、好きなものをインストールできますが、その通りですgit aws.push
。スタンドアロンEC2インスタンスのサポートは利用できません。gitサポートが重要な場合は、各アプローチの長所と短所を比較検討する必要があります。