プログラミング初学者がまとめる〜ECSについてまとめてみようと思う。ざっと理解する編〜
*自身の言葉で書いてますので、間違っていることもあるかと思いますが、ご了承ください。訂正のコメントを頂けるとありがたいです。*
ECSとは
ECSは(Elastic Container Service)の略です。一言で言うと、AWS上でコンテナ運用を簡単に行なってくれるものである。(コンテナ運用については省略)
主な機能一覧
◯クラスター
クラスターとは、一言で言うとECSサービスのグループのことです。またEC2インスタンスの集合体とも言えます。
それぞれのインスタンスはただそれぞれのインスタンスにはリソース量(CPU,メモリ,ポートを供給するリソース量)として捉えられています。つまり実態としてはそんなに重要ではないです。
まとめるとクラスターはグループの単位であって、その中にサービスやタスクが設定されている構造になっています。
◯サービス
サービスは、ECSクラスターにおいて、Dockerコンテナを使ってサービスを運用してくれるものです。(Dockerの説明はまた別の記事でまとめます。)つまりサービスがクラスターにおいて中心の役割を果たしてます。
具体的にはサービスがどのコンテナを利用するかを定義したり(タスク定義)、何個のコンテナを起動するか(タスク数)、ELBとの連携をしたりしています。ECSを利用する上で核となってくる機能になりますね!
◯タスク管理
タスクはコンテナ群のことを指す。
Dockerは、1コンテナで1サービスを運用することがベストであるとされている。
Dockerコンテナは1つのコンテナで起動するものではなく、全てのコンテナが連携することで動くものである。つまり塊として動く訳で、そういった一つ以上の強調して動作するコンテナ群のことをECSではコンテナと呼ぶ。
タスクとサービスとの違いは、、タスクはコンテナ群の一式で、このコンテナ群の数を調整したり、ELB/ALBとの連携をこなっているのがサービスである。
◯ロードバランサー機能
ロードバランサーは、アクセス数を調整をしてくれる機能であり、ECSを使う上では必須になる。
ECサイトのセールでいつもよりアクセスが集中することにより、サイトにアクセスできなくなることがある。これを防止するのがロードバランサーであり、クラスターの外に設置することで快適にサイトを利用できるようにすることができる。
◯オートスケーリング機能
EC2の台数をCPU使用率や、トラフィック量等の閾値に応じて、自動的に増減できるサービスである。
◯まとめ
ECSについてアウトラインをざっとまとめてみました。
細かい設定方法については別の記事でまとめてみようと思います!
最後まで読んでいただきありがとうございました!!