【Part3】ぜんぜんわからなかったECSについてまとめてみました (概念と実際の画面で見ていくAWS ECS解説)
こんにちはこぐまです。
前回のAWSのサービス「ECS」の記事の続きです。
今回は「その3」です。「その2」は以下をご参照ください。
今回の記事も、AWSの前提知識を必要とせずに読める・・と思います。
まずは前回のおさらいです。
前回のまとめ
前回の専門用語は、「コンテナを載せる側」(つまりコンテナインスタンス)に関連するものでした。今回は、ECSで使われる「コンテナ側」の専門用語について説明していきたいと思います。
1.タスク
まず最初は、この言葉からです。
「タスク」・・・日常では、「ちょっと今タスクに追われてて・・」「このタスク片づけたらできます」みたいに、なんかちょっと気取って使う印象がありますね(笑)。
タスクは、「やるべきこと」「仕事」「課題」みたいな意味があります。ECSにおける「タスク」とは、上記と同じような意味ももちろん含んでいるのですが、端的に言うと「1つ以上のコンテナの集まり」です。
なんだか「クラスター」と似ていますね。
「クラスター」は「1つ以上のEC2インスタンスの集まり」でした。
「タスク」は「1つ以上のコンテナの集まり」です。コンテナ、コンテナインスタンス、それぞれに「集合」の概念があるんですね。
ちなみに、ECSで1つだけの「コンテナ」を動かすためにも、必ず「タスク」という形にして実行させる必要があります。
ひとりぼっちのコンテナでも必ずチーム名が必要ということです。
この「コンテナ」と「タスク」の違いはECS用語で自分がとても迷った部分です。
2.タスク定義
つぎは「タスク定義」です。
何となく、言葉から想像がつくかもしれません。
「タスク定義」とは、タスクを作るための「説明書」「設計書」です。
タスクとは「一つ以上のコンテナの集まり」であると説明しました。
つまり、このタスク定義(タスクの説明書)には、
を書きます。なお、タスク内に存在するコンテナが一つだけの場合でも、タスク定義は必要です。
また、それ以外にも、
なんかを書くことができます。(これ以外にもタスク定義にはたくさんの説明が書けます)
ECSでコンテナ運用をする場合、まず最初にクラスターを作成するという話を前回しましたが、クラスターを作った次に行うのが、この「タスク定義」の作成です。「タスク定義」の作成が終わると、クラスター上でタスクを実行できます。
3.サービス
3つ目の専門用語は「サービス」です。
サービスというと、「提供」とか「奉仕」みたいな意味合いがあります。料理をおいしくいただくために、笑顔で接客したり、おしぼりやお水の無料提供があったりしますね。また、あるところは、子供用に小さな椅子を用意してくれたり、特別な部屋を用意してくれたり、会計はお席で受けられたり・・など、レストランごとにサービスの形態は異なります。
ECSにおける「サービス」も同じで、「タスク」をより使いやすくするための「提供・奉仕内容」と考えてもらえるといいかもしれません。また、レストランのお客様へのきめ細かい接客が店の評判につながるように、タスクの運用状況を常にモニタリングして状況を管理者に通知することも「サービス」の役割です。
具体的には以下のような設定ができます。
ちなみに、「サービス」は、「タスク」をより使いやすくするための「提供・奉仕内容」なので、そもそも上記のような内容が不要のタスクの場合は、「サービス」を作成する必要はありません。
ECSにおいて、「サービス」の作成は必須ではありません。
4.Service Auto Scailing
4つ目はまた長い英語です。
「Service Auto Scailing(さーびすおーとすけーりんぐ)」とは、タスクの数を負荷に応じて増減します。つまり、3で説明した「サービス」でできることうちの1つです。
前回、「EC2 Auto Scailing」という専門用語を説明しました。「EC2 Auto Scailing」の意味は、「EC2インスタンス(コンテナインスタンス)を負荷や予定に応じて自動的に増減させること」でした。
今回の「Service Auto Scailing」は、サービス対象である「タスク」の数を負荷に応じて自動的に増減させることです。
前回の最後に、
コンテナインスタンス側には「EC2 Auto Scailing」があるんだから、コンテナ側にも、コンテナを自動で増やしたり減らしたりする仕組みがあるんじゃないの?
・・とお話ししましたが、その答えが「Service Auto Scailing」です。ただし(くどいようですが)「コンテナ」自体を自動増減するのではなく、「タスク(1つ以上のコンテナをまとめたもの)の数」を自動増減させます。(コンテナが1つのときは同じ意味合いとなるのですが、念のため・・)
「EC2 Auto Scaling」と「Service Auto Scailing」の違いとしてもう1点あげると、増減できる条件です。「EC2 Auto Scailing」は、「何月何日の何時から増やして~」みたいなスケジュール設定ができますが、「Service Auto Scailing」にはその機能はありません。
あくまであらかじめ決めた負荷条件(CPU使用率が〇%以上とか)を超えた場合に増減されます。
いかがだったでしょうか。
ここまでくると、「その1」で挙げたECSに関する以下の専門用語がすべて理解できたことになります。
・クラスター
・サービス
・タスク
・タスク定義
・Service Auto Scailing
・EC2 Auto Scailing
そして、ここまで理解できたうえで、もう一度、その1で掲載した資料「IT(ECS)におけるコンテナ、コンテナインスタンスの運用管理に必要な要素」についてみていきます。
それぞれの要素にこれまで紹介してきた専門用語がどのように対応するか、
見てみましょう。
A.ITにおける「コンテナ」の準備すべきこと・気にすべきこと
B.ITにおける貨物船=コンテナインスタンスの準備すべきこと・気にすべきこと
コンテナ、コンテナインスタンスの運用管理で必要な要素と、ECSでの専門用語が結びついたでしょうか。とっつきにくい専門用語が少しでもわかってもらえたらとてもうれしいです。
もちろん、これ以外にも専門用語はたくさんあるのですが、まずはここまでを理解すると、ECSはだいぶわかりやすくなるかな・・と思います。
次回はここまで説明した専門用語が実際の画面でどんなふうに見えるか、見ていきましょう。
そして、実際にゼロからECSをいじり、簡単なコンテナを運用してみましょう!
ここまで読んでくれてありがとうございました。
【マガジン紹介】
「ぜんぜんわからなかったECSシリーズ」のマガジンです!
鋭意更新中です!
AWS未経験者にもわかるように、優しく解説しています。
是非お読みいただけると嬉しいです!
この記事が気に入ったらサポートをしてみませんか?