1. ホーム
  2. amazon-web-services

[解決済み] AWS ECSのタスクとサービスの違いは何ですか?

2022-04-22 04:56:54

質問内容

タスク定義に基づき、タスクまたはサービスを実行することができるようです。タスクとサービスの違いや共通点は何ですか?タスクの作成時にquot;タスクグループを指定することができますが、サービスの作成時にquot;タスクグループを指定することができないのは、何かヒントがありますか?タスクとサービスは、タスク定義の階層的なインスタンスなのか、それともサービスはタスクで構成されているのか?

解決方法は?

A タスク 定義 は、1つ以上の コンテナ コンフィギュレーション . タスクによっては、1つのコンテナしか必要としないものもあれば、2つ以上の潜在的にリンクしたコンテナを同時に実行する必要のあるタスクもあります。タスク定義では、使用するDockerイメージ、公開するポート、割り当てるCPUとメモリの量、ログの収集方法、環境変数の定義などを指定することができます。

A タスク は、タスクを直接実行すると作成され、コンテナ(タスク定義で定義)を停止または終了するまで起動し、その時点でコンテナは 自動的に置き換わらない . タスクの直接実行は、短期間のジョブに最適で、おそらくCRONを介して達成されたものの例として挙げられます。

A サービス は、常にある程度の数のタスクが存在することを保証するために使用されます。 常時稼働 . タスクのコンテナがエラーで終了した場合や、基盤となるEC2インスタンスが故障して交換された場合、ECSサービスは故障したタスクを交換する。このため クラスタ そのため、サービスにはCPU、メモリ、ネットワークポートの面で十分なリソースがあります。私たちにとって、タスクが実行される限り、どのインスタンスで実行されるかは本当に重要ではありません。サービスの構成 リファレンス タスクの定義です。サービスは以下を担当します。 タスクの作成 .

サービスは、通常、ウェブサーバのような長時間稼働するアプリケーションに使用されます。例えば、オレゴン州(us-west-2)に Node.JS で動くウェブサイトをデプロイした場合、高可用性のために 3 つの AZ(Availability Zone)で少なくとも 3 つの Tasks を走らせたいと思います。 セルフヒーリング !). これを実現するのが、サービスを作るということです。私のクラスタに6台のEC2インスタンスがあり、1つのAZに2台ずつあるとすると、サービスはCPU、メモリ、ネットワークのリソースも考慮しながら、できる限りゾーン間でタスクのバランスを自動的に取ってくれる。

UPDATE

こういうのは階層的に考えてもしょうがないと思うんですけどね。

タスクの作成、つまりタスク定義で定義されたコンテナを起動すると、コンテナのEC2インスタンスが自動的にロードバランサーに登録されます。タスクはロードバランサーを使うように設定できないが、サービスだけは設定できる。