AWSを始めとするクラウドが主流になってきたこともあってDockerを使う方もかなり増えました。
多くの方はEC2インスタンスを立ち上げて使っていますがECSとECRを使うことでもっと効率的にWebサービスを運営することが出来ます。
キーペアが不要
EC2のインスタンスを立ち上げるとインスタンス内の環境を整えるために必ずキーペアを作り、インスタンス作成時にインスタンスと繋ぎます。
ECSでWebサービスを作る場合はコンテナの起動に必要なプログラムがECSでインスタンスを立ち上げることでプリインストールされているため、わざわざSSHでログインをする必要がありません。
コンテナの管理が容易になる
ECSの場合はECRからイメージをpushするので容易にコンテナを管理できます。
セキュリティもデフォルトではIAMの権限があるユーザーとECS等のroleが付与されていなければイメージをpushすることもpullすることも出来ません。
自動ビルド、デプロイを効率的に作れる
まず最初にほとんどの場合は自動ビルドを作ると思います。
自動ビルドにはdocker-composeのようなymlファイルが必要なのですがECRに一度でもpushしてECSで起動させたことがあればほぼコピペで実装することが出来ます。
自動デプロイの方もECSの設定を元に2つほどファイルを作れば簡単に実装することが出来ます。
ただAWSのCodePipelineはネット上に情報が少なく、最初は非常に手こずります。
WebアプリならECSを使うべき
EC2でECSぐらいの機能を作ろうとすればそれなりに手間と時間が掛かり、管理もめんどくさいです。
個人で開発する場合でもチームの場合でもECSを使って開発をするべきだと思います。