【AWS】ESCを調べてみた
インフラのイの文字も知らない素人が、Amazon ESCに関して興味が出てきたので、調べてみました。
もし誤っている箇所があったとしても、お手柔らかにお願いします。
Amazon ECSとは
Amazon ESCとは、AWS上でDockerコンテナを実行するサービスです。
コンテナ化されたアプリケーションを管理することで、インフラ基盤を1から構築する手間を省くことができます。
つまり、予めDockerfileなどで構築したインフラ環境をAWS上で実行することで、AWSでのインフラ基盤構築を最小限にしてしまおうということでしょうか。
登場人物
以下がAmazon ECSの主要な登場人物です。それぞれ見ていきます。
- クラスター
- タスク定義
- タスク
- サービス
クラスター
タスクまたはサービスのグループです。タスクやサービスを囲っている大枠のイメージです。(クラスターは英語で集団という意味です)
クラスターにはインフラストラクチャを設定することができ、タスクやサービスはそのインフラストラクチャで実行されます。
タスク定義
コンテナの実行方法が定義されたものです。1つのタスク定義で複数のコンテナを実行することができます。
タスク
タスク定義を元に起動されたコンテナ(群)です。
1タスク1コンテナではなく、1タスクで複数のコンテナを実行することができます。
つまり、タスクとは1つ以上のコンテナをまとめたものということです。
サービス
クラスター内で、タスクの数を希望数に維持する機能です。
何らからの理由でクラスター内のタスクが停止した場合に、タスク定義に基づいてタスクを起動する機能です。
つまり、サービスによってタスク定義を元にクラスター内のタスクが維持されることになります。
全体のイメージ
登場人物を元にESCの全体のイメージを掴みたいと思います。
クラスター、タスク、サービスは1つのグループとして認識します。
このグループのうち、一番外枠はクラスターです。
クラスター内に複数のタスクが起動しています。(タスク内に1つ以上のコンテナが起動しています)
タスクを正常な状態に管理するのが、サービスです。
これとは別物として認識した方がいいのが、タスク管理です。
タスク管理は単なる指示書のようなイメージです。タスク管理を見て、サービスがタスクを管理します。
全体のイメージはこんな感じでしょうか
次回は実際の構築方法をまとめてみたいと思います。
以上!!!!!!!