#はじめに
こんにちは、山田です。
今回は、ECSについて調べたので記載していきます。
#ECSとは
クラウドでコンテナを本番環境利用するためのオーケストレーターであり、フルマネージド型のコントロールプレーンである。
##コンテナオーケストレーターの基本動作
管理者とサーバの間には、オーケストレーターと呼ばれる仕組みがある。
オーケストレーターの基本動作を以下に記載する。
①:管理者はオーケストレーターに指示を出す。
②:オーケストレーターはサーバの中で動作している、エージェントに対してコマンドを送る。
③:エージェントは、Dockerエンジンにdocker runなどのコマンドを送り出す。
④:イメージレジストリにコマンド送る。
⑤:イメージレジストリよりイメージをダウンロードする。
⑥:サーバ上でコンテナを実行する。
各コンテナの状態を確認して、あるべき状態、設定状態であることを維持すること、管理することも大事な役割である。
#ECSの構成要素
ECSの構成要素について以下に記載する。
構成要素 | 説明 |
---|---|
タスク | ・タスク定義に基づいて起動されるコンテナ群 ・タスク内コンテナは同一ホスト上で実行される |
タスク定義 | この設定情報をもとに、イメージレジストリのコンテナイメージを用いてコンテナが実行など、タスクを構成するコンテナ群の定義 ・コンテナのイメージ場所 ・要求CPUとメモリ ・タスクに割り当てるIAMロール ・ネットワークモード など |
サービス | ・複数のタスクを束ねる単位 ・あるサーバでタスクが落ちてしまった場合、このサービスの定義に基づいて必要な数のタスクが実行されていることを維持しようとする。 |
クラスター | それぞれのコンテナホストを束ねる。 ・実行環境の境界 ・スケジュールされたタスクの実行を設定可能 |
#AWS Fargateについて
Fargateは、コンテナ実行環境をサーバーレスで提供する。
アプリケーションコンテナ以外はAWSが提供するレイヤーになる。
##AWS Fargateの特徴
Fargateの特徴を以下に記載する。
特徴 |
---|
Fargateを用いることで、アプリケーションコンテナを集中的に管理することができる。 |
クラスターの中ではAWS Fargateが動作するため、ホスト、エージェントの管理が必要ない。 |
AWS Fagateの中でタスクが複数動作する。 |
AWS Fagateでタスクを実行する場合、それぞれのタスクに割り当てるCPU,メモリについては多数のパターンから選択して実行する。 |