【Part1】ぜんぜんわからなかったECSについてまとめてみました(概念と実際の画面で見ていくAWS ECS解説)
はじめに
こんにちはこぐまです。
本日はAWSの記事です。といっても・・
この記事はAWSの前提知識なしで読めます。
ぜひ、「クラウド」や「IT」を全く知らなくても、気軽に読める内容を目指していますので、読んでいただけたら嬉しいです!
これからしばらく、AWSの「ECS」というサービスについて、
自分が学んだことを備忘録としてまとめていきたいと思います。
AWSにはいろんなサービスがあるのですが、Noteで連載していく記事として
なぜまず最初にこのテーマを選んだかというと、
自分にはめっちゃむずかったから
自分自身がECSを理解するのにめちゃめちゃ時間がかかったから
・・です。
ECSを含めた「コンテナ」という世界は、本当に面白い(と私は思っている)のですが、専門用語もたくさん出てくるし、最初は何を設定していいのかわからずうまく動かないし、「あーもうなんか難しい!とっつきにくい!」という印象がありました。
ちなみに、自分は「ECSのことは何でも聞いてね!」というECS博士では断じてありません。この記事を書いている現段階でも新しい発見はたくさんあります!私自身も一緒にECSを学ぶ一人です。
ただ少しでも、ECSをかじり始めた人も、これからECSを知っていきたいという人にも、またITに全く接していない方にも、なるべくわかりやすく、自分が躓いた部分も含めて、体験できたことを共有できればいいなと思いました。
ぜひコーヒーでも飲みながら気軽に読んでいただき、新しい発見の一助となれば幸いです。
それでは、本編です。
ECSとは? コンテナとは?
「ECS(Elastic Container Service)」とは、
AWSが提供する「コンテナ統合運用管理サービス」のことです。
「コンテナ?何それ?」って人は、貨物船が載せてるような、
あの「箱」をイメージしてもらえばいいです。
まさしく「コンテナ」という名前はここからきていると思います
(多分・・)
それぞれの箱の中には、外国からのいろんな商品が入っていそうです。
(食べ物だったり、洋服だったり、おもちゃだったり・・)
でも注目すべきは、サイズは違えど、すべて同じような直方体の形をした「箱」に入っているので、整理整頓(箱を並べたり重ねたり)や、港での積み下ろしが容易であるということです。
ITにおける「コンテナ」も同じで、
その中にはいろんなIT資産が入っています。
(Webアプリケーションだったり、データベースだったり、基本機能しかないOSだったり・・)
リアルな世界で様々なモノを「コンテナ」に入れて(「コンテナ化」して・・と表現します)運ぶととても管理が楽なように、
ITの世界でも「コンテナ化」という仕組みを取り入れることで、運用管理が楽になるというわけですね。そして、AWSではその運用管理を担ってくれているのが、ECSというサービスです。(IT資産をどうやって「コンテナ化」するのかという点については別の機会で説明します。)
では、その運用管理とはどのようなものなのか・・
貨物船の例えがわかりやすそうなので、もう少し貨物船で話を続けます。
貨物船がその甲板にたくさんの箱(コンテナ)を載せて、目的地まで安全に運ぶという業務を思い浮かべます。
この業務を安定して遂行していくためには、箱と貨物船それぞれについて
以下のような「準備すべきこと・気にすべきこと」が浮かびます。
・・・ひとまずこんな感じですかね。私は貨物船業務などやったことがないので、実情を細く理解しているわけでは全くないですが、少なくとも、「物を効率的かつ安全にまとめて運ぶ」という任務には上記のような要素は必要なのかなと思います。依頼人(コンテナの中の荷物の持ち主や企業)の要望に応えるために、なかなか大変な作業な気もします。
さて、なぜこのような例を出したかというと、ITの世界における「コンテナの運用管理」というのもこれと全く同じ話だからです。
すなわち、
リアルな世界では、「コンテナ」は「貨物船」に載せて運ぶように、
ITの世界では、「コンテナ」は「サーバ」に載せて運用します。
ECSではこの「サーバ」のことを「コンテナインスタンス」と呼びます。
では、先ほどの貨物船の要素をIT(ECS)に置き換えたらどうなるか。
貨物船業務での運用管理の要素(先ほどの図の再掲)と
IT(ECS)の世界での運用管理の要素を上下に並べました。
各項目を比較しながら見ると面白いと思います。
結局、貨物船業務もITも、運用管理で気にしなくてはいけないことは
そんなに変わらないんですね。
ここで最初に戻って、ECSとは、AWSが提供する「コンテナ統合運用管理サービス」であると書いた話に続けたいと思います。
つまり、上記の要素の、
A-5「これらを総合的に指示・管理してくれるサービスってある?」
B-4「これらを総合的に指示・管理してくれるサービスってある?」
に対する回答は、
「はい!あります。それがまさしくECS(Elastic Container Service)です。」となります。
ただ、ECSというサービスの中には、
上記の要素を概念的に定義していくような専門用語がたくさん出てきます。
そこがなかなかとっつきにくい部分でもあるかもしれません。
(自分もそうでした)
先に示したような、コンテナ、コンテナインスタンス以外にも例えば、
・クラスター
・サービス
・タスク
・タスク定義
・Service Auto Scailing
・EC2 Auto Scailing
・・・などのような専門用語が出てきます。
これらがしっかり理解できないと、なかなかECSのコンソール画面を見ても
何が何だか・・という状況になります。
一応、AWSのマニュアル等にもそれぞれの言葉の定義は説明されているのですが、自分にはなかなか理解が難しかったので、同じような方もいらっしゃるかなと思い、この記事を書こうと思いました。
次回は、図示したECSの運用管理に必要な要素と、上記のECSの各用語がどのように絡んでくるのか、そして、実際の画面ではどのように表示されるのかを記事にしていきたいと思います。
読んでくれてありがとうございました。
【マガジン紹介】
「ぜんぜんわからなかったECSシリーズ」のマガジンです!
鋭意更新中です!
AWS未経験者にもわかるように、優しく解説しています。
是非お読みいただけると嬉しいです!
この記事が気に入ったらサポートをしてみませんか?