私が正しく理解していれば、Elastic BeanstalkはデプロイするアプリケーションごとにEC2インスタンスを作成します。ただし、アプリケーションは通常100%のCPUで実行されませんが、Amazonは使用されるインスタンスごとに課金します。したがって、Dockerfileを使用して5つのアプリをデプロイした場合、AWSは1か月あたり5つのEC2インスタンスの使用量を請求します。
これを念頭に置いて、単にEC2を起動し、Dockerをインストールしてそこでコンテナーを実行することはできませんか?それははるかにコスト効率が良くないでしょうか?
AWSは、Elastic Beanstalk(EB)をEC2 Container Service(ECS)と統合して、 multi-container Docker環境 をサポートしています。自動スケーリンググループ内の複数のインスタンスで構成されるEB環境は、ECSエージェントとそのAPIによって管理されるインスタンスごとに複数のコンテナーを実行できます。使用する .ebextensions
複数のELBリスナーをEC2インスタンスで実行されているコンテナーにマップします。
Nginx + PHP-FPMを個別のコンテナーで実行する場合は、 このチュートリアル を参照してください。
@Synturasにこのアップデートを教えてくれてありがとう。
はい、あなたの仮定は正しいです。違いは、EC2でそれを行うには、コンテナーをすべて自分で管理および監視する必要があるということです。したがって、本番環境では、そのための独自のチームが必要になるか、BeanStalkを使用する必要があると思います。
AmazonのDocker のドキュメントにも従ってください。
コメントありがとう@sajithpリンクを更新しました