Service」通称「ECS」ECSの主要な構成要素を自分の言葉で説明することはできますか?......。..................。説明できましたでしょうか?本記事では「ECS」の構成要素について、初心者にわかりやすいよう図解付きで解説していきます。「は?なんで遊園地?」と思った方。今は理解できなくて正常です!本記事を読んだ後に「ECSの構成要素をこういう風に捉えると覚えやすいなぁ」って共感して頂けると嬉しいです。目次そもそもコンテナって何?ECSとは:コンテナを管理するためのフルマネージドなAWSサービスコンテナオーケストレーターの目的ECSの構成要素1タスク定義:タスクを作成するテンプレート定義2タスク:タスク定義に基づいて起動するコンテナの集まり3サービス:実行中のタスクを管理する4クラスター:サービスとタスクを実行する基盤ECSのコンテナ起動方法まとめ参考文献そもそもコンテナって何?ECSはDockerコンテナの管理を行うツールのことですが、そもそもコンテナとは何でしょう?コンテナとはアプリケーションとその実行環境を1つにまとめあげて動作させる技術のことです。簡単にいうと、アプリケーションに必要な物をまとめた箱です。AWS初学者もうちょっとわかりすく教えてほしいな〜こちらの記事で詳しく解説しているので、良ければ参考にしてみて下さい。【初心者向け・図解】コンテナとは?現役エンジニアがわかりやすく解説コンテナとは、アプリケーションとその実行環境を1つにまとめあげる技術のことです。本記事ではIT初心者向けにコンテナの仕組みとメリット、デメリットを図解でわかりやすく解説しています。コンテナの全体像を掴みましょう!o2mamiblog.com2022.07.12ECSとは:コンテナを管理するためのフルマネージドなAWSサービスECSはコンテナを管理するためのフルマネージドなAWSサービスです。このコンテナを管理するサービスのことを、オーケストレーターといいます。ちなみにオーケストレーターでコンテナ管理すること、そのものはオーケストレーションといいます。注意点としては、ECSはコンテナを動かす実行環境ではないという点です。EC2やFargateといった別のサービスを使用します。AWS初学者なんで管理するサービスが必要なの?まずはECSの構成要素を確認する前に、オーケストレーターを使う目的を理解しましょう!コンテナオーケストレーターの目的コンテナオーケストレーターを使う目的は、複数ホストで起動するコンテナを一元管理するためです。コンテナオーケストレーターがない場合を考えてみましょう。このように各Dockerホスト毎にコンテナが複数起動しているとします。この場合、管理者は各Dockerホスト毎にログインし、コンテナを運用・管理するといった手間が発生します。管理者の操作が非効率になってしまいます。不具合によりコンテナがいつの間にか停止し、提供しているサービスも停止しているなんてこともあります。AWS初学者えええ!それは大変だなぁ?ずっと運用者が確認していないといけないの?そんなことやってられませんよね。コンテナオーケストレーターを導入してみましょう!コンテナオーケストレーターであるECSの導入により、ECSが複数のDockerホストそしてコンテナを管理してくれます。よって、管理者はECSだけを確認すればよくなります。万一、コンテナが停止した場合もあらかじめ定義した設定に従ってコンテナを再起動し、サービス提供可能な状態にしてくれます!他にもコンテナオーケストレーターには、このような役割があります。コンテナオーケストレーターの役割コンテナのスケジューリングコンテナ配置時に、サーバーの負荷状況から配置に適したサーバーを自動的に判断する。コンテナのオートスケーリング起動中のコンテナの負荷状況により、自動的にコンテナのスケールイン・スケールアウトを行う。コンテナの死活監視コンテナが停止していないかを監視する。障害によりコンテナが停止していた場合、そのコンテナを削除し、新しいコンテナを起動する。ロードバランシング適切なコンテナに通信を振り分ける。コンテナオーケストレーターの概要や役割は理解できましたか?それでは早速、コンテナオーケストレーターであるECSの構成要素をみてみましょう!ECSの構成要素ECSは大まかにこのような要素があります。ECSの構成要素タスク定義:タスクを作成するテンプレート定義タスク:タスク定義に基づいて起動するコンテナの集まりサービス:実行中のタスクを管理するクラスター:サービスとタスクを実行する基盤ECSはコンテナを管理するサービスということで、今回は遊園地の運営会社に例えて各要素を解説していきます!(某ネズミの国を運営している〇〇ランドさんとイメージしてもらえると理解しやすいと思います笑)1つ1つ解説していきますね!1タスク定義:タスクを作成するテンプレート定義タスク定義はタスクを作成するテンプレート定義です。後ほど解説するタスクをどう実行するのかをここでは定義しています。具体的にはこのような設定を定義します。起動タイプ(EC2・Fargate・外部)コンテナ定義(デプロイするコンテナイメージ等)タスクサイズ(要求CPUやメモリ)タスクに割り当てるIAMロールなどなどここではタスク定義を遊園地内の各アトラクション、飲食店を運営するためのガイドラインと例えておきましょう。運営するためには、きっとこのようなガイドラインが必要ですよね。ガイドラインにありそうな設定内容どのエリアで運営する?どんなイメージのアトラクション、飲食店にする?どのくらいの人員、広さにする運営許可のレベル(天気・混雑具合)などなどしかし、タスク定義は実際のコンテナ実行環境ではありません。次に説明するタスクが実際のコンテナ実行環境となります。2タスク:タスク定義に基づいて起動するコンテナの集まりタスクはタスク定義に基づいて起動するコンテナの集まりです。タスク=コンテナと理解してもらえればオッケーです!1つのタスクには1つ以上のコンテナから構成されていることが、ポイントです。タスクは実際のコンテナ実行環境となります。そのため、ここでは遊園地内の各アトラクション、飲食店そのものと例えておきましょう。おつまみコーヒーカップというタスクの場合、実際に動くカップをコンテナと理解すると、タスクに複数のコンテナが起動していることが想像しやすいよ!ただ、カップに不具合が発生してアトラションが停止してしまうことがありますよね。同じようにコンテナも停止してしまうことがあります。そのため、停止時にコンテナを入れ替える機能となるサービスが必要となります。3サービス:実行中のタスクを管理するサービスは実行中のタスク数を管理する機能を持っています。他にもこのような機能があり、タスク全体の管理を行っています。関連づけるロードバランサーを指定タスクを実行するネットワークを指定などなどサービスは名前の通り、タスクを使いやすくする機能です。そのため、ここでは各アトラクションや飲食店の監督と例えておきましょう。某ネズミの国にもアトラクション全体を管理する総監督みたいな役職の人がいるでしょう。(しらんけど)監督にもサービスと同じようにこのような役割があると思います。設置するエリアの指定などなどそして、これらのサービスやタスク全体をまとめるための基盤が必要となります。それが次に説明するクラスターになります。4クラスター:サービスとタスクを実行する基盤クラスターはサービスとタスクを実行する基盤です。クラスターはタスクの実行環境やIAM権限の境界を設定することができます。クラスターを別に作成することでコンテナ同士を干渉することなく実行できます。クラスターは遊園地そのものにたとえることができます。某ネズミの国で2つのパークに分かれているように、クラスターもわけることができるってわけです。構成要素について、なんとなく理解できましたでしょうか??最後にECSのコンテナ起動方法について確認してみましょう!ECSのコンテナ起動方法このような流れでコンテナを起動します。コンテナの起動方法タスク定義を登録クラスターを作成サービスを作成サービスを表示(タスクの起動確認)先ほど説明した要素毎に登録や作成を行っていき、コンテナを起動するって覚えてもらえればOKです。Serviceまとめ今回はAWSサービスの中からECSについてご紹介しました。はじめに見た時よりも何となく理解できましたでしょうか?ECSはとても奥が深く、実際に触ってみることで更に理解を深めることができます。自信がついてきたAWS初学者もっとECSについて学びたい!AWS初学者の方は会員制コミュニティ付きの動画で学べるAWS学習オンラインスクールCloudTechがおすすめ!CloudTechについてはこちらの記事でご紹介しているので、参考にしてみて下さい。【未経験おすすめ】AWSの基礎知識を学ぶならCloudTech!AWS初学者向けのオンラインスクール「CloudTech」のメリット・デメリットをご紹介します。「AWS学習もうしんどい。Gatewayとは、オンプレミス環境のデータとクラウドストレージのデータとを橋渡しするサービスです。Gatewayのメリットとその種類を図解でわかりやすく解説しています。Gatewayの全体像を掴みましょう!2023.05.30AWSIT・資格AWS【AWS初学者向け・図解】CloudFormationの組み込み関数を現役エンジニアがわかりやすく解説2CloudFormationの組み込み関数とは、CloudFormationでパラメータの参照や値の加工等に利用する関数です。本記事ではAWS初学者向けに組み込み関数の使い方を図解でわかりやすく解説しています。ShieldはどちらもAWSのAWSのセキュリティサービスです。Shieldの違いを図解するとともにその機能をわかりやすく解説しています。一つずつ意味を理解し、違いを理解しましょう!2023.05.30AWSIT・資格AWS【現役エンジニアがおすすめ】AWS初学者にまず買ってほしい参考書1選!AWS初学者がまず買ってほしいおススメの1冊をご紹介しました。実際に読んで感じたメリットからおススメしない対象者まで記載しています。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ホームIT・資格AWSスポンサーリンクおつまみ元Sler企業システムエンジニア(4年)→AWSエンジニアにキャリアチェンジした95年生まれ女子。このブログでは、IT資格の勉強方法やわかりやすい用語解説など初心者エンジニアにとって役立つ情報をお届けします。コメント目次へトップサイドバータイトルとURLをコピーしました。