Amazon EC2 Container Serviceでサービスを作成したとき、サービスタイプにはREPLICAとDAEMONの2つのオプションがありました。
それらの間の正確な違いは何ですか?
レプリカサービスは、クラスター全体で必要な数のタスクを配置および維持します。デーモンサービスは、コンテナーインスタンスごとにタスクの1つのコピーを配置および維持します
ECSクラスターは、複数のEC2インスタンス(=コンテナーインスタンス)から存在している可能性があります。
AWSドキュメント によると
Replica:レプリカのスケジューリング戦略は、クラスター全体で必要な数のタスクを配置および維持します。デフォルトでは、サービススケジューラはアベイラビリティーゾーン全体にタスクを分散させます。タスク配置戦略と制約を使用して、タスク配置の決定をカスタマイズできます
Daemon:デーモンスケジューリング戦略は、クラスターで指定したすべてのタスク配置制約を満たすアクティブなコンテナーインスタンスごとに1つのタスクのみをデプロイします。この戦略を使用する場合、必要なタスク数やタスク配置戦略を指定したり、サービスのAuto Scalingポリシーを使用したりする必要はありません。
つまり、3つのEC2インスタンスを持つECSクラスターがあり、4つのタスクで新しいサービスを起動する場合は、次のようになります。
Replica:4つのタスクがコンテナインスタンスにランダムに分散して開始されます。これは、1つのインスタンスで4つすべて、またはその他のランダムな分布にすることができます。これは、通常のマイクロサービスの使用例です。
Daemon:デーモンの場合、実行するタスクの数を指定しません。デーモンサービスは、EC2インスタンスの数に応じて自動的にスケーリングします。この場合は3つです。デーモンタスクは、タスクがクラスター内の各インスタンスにデプロイされ、アプリケーションコードを実行するタスクのロギング、モニタリング、バックアップなどの共通のサポート機能を提供するマイクロサービスを構築するときに使用されるパターンです。