【AWS クラウドプラクティショナー】Amazon Elastic Container Serviceとは?

AWS

今回は、Amazon Elastic Container Service(ECS)について簡潔にアウトプットしていきます。

勉強前のイメージ

エラスティック???なんのこと???

とりあえず、サーバ仮想化のコンテナがらみのサービスかな?

調べてみた

●Amazon Elastic Container Service(ECS)とは

Dockerコンテナを簡単に実行、停止、管理できるスケーラブルなコンテナオーケストレーション(一括で管理できる)サービス。ECSを利用することで、アプリケーションを簡単に実行することができる。(操作が簡単かつ、迅速)

ちなみに、Elasticは和訳すると弾力性や伸縮性という意味で、自由にリソースのスケールアップ、ダウンなどを行うことができるサービスであることを表しています。AWSのサービスにはElasticという単語がついたものが多いため、覚えておくと理解が深まりやすいと思います。

●ECSの構成要素

ECSは以下の4つの要素で構成されている。

  1. クラスター
  2. サービス
  3. タスク定義
  4. タスク

この4つの要素は、以下の画像のような関係性で、クラスターの中にサービスがあり、サービスの中にタスク定義、タスク定義の中にタスク(コンテナ)があるといったイメージ。

それぞれの構成要素は以下のような役割を担っている。

<クラスター>

複数のコンテナインスタンスがひとまとめにされた、タスクやサービスが実行される基盤。

<サービス>

タスクの実行・管理に対応し、必要な数のタスクが常に実行されることを維持する。

<タスク定義>

コンテナのセットアップや設定、CPU、メモリ要件、ログなどの詳細を含んだファイル。

<タスク(コンテナ)>

タスク定義に基づいて起動するコンテナの集まり。

そもそもDockerってなに?

Dockerは、コンテナ方仮想化という技術を用いて、コンテナの上にアプリケーションを構築できるソフトウェアのこと。

WindowsやLinux、Macなど様々な環境で動作することができるのが特徴。

そもそもコンテナって?

コンテナは、アプリケーションとその実行環境を1つにまとめ上げる技術。

船に沢山のコンテナを積むようなイメージで、色々なコンテナ(様々なアプリケーションを搭載したサービス)を船、貨物等の環境(サーバ、クラウド)に積み込むことが出来るようなイメージ。

コンテナ仮想化技術ってなに?

コンテナ仮想化技術は、ホストOS上でコンテナを構築するため、ハイパーバイザ型よりも少ないコンピューティングリソースで仮想環境を構築できる。

コンテナ型・・・

コンテナにはOSは搭載されておらず、ホストOS上の環境を共有する。そのためシステム資源の負担は小さく、可搬性は高いがOSは限られてしまう。

ハイパーバイザ型・・・

各仮想マシンにOSが搭載され、独立してアプリケーションが実行される。そのためシステム資源の負担が大きく、可搬性は低いが自由度は高い。

●コンテナ仮想化技術のメリット

1. アプリケーションの起動、再起動が高速

OSを立ち上げる必要がないため、起動が速い。

2. システム全体の動作や処理も高速

ハードウェアやホストOSへ直接アクセスしているため、ハイパーバイザ型に比べて処理が速い。

●コンテナ仮想化技術のデメリット

1. ホストOS環境に依存し、異なるOSは利用できない

多くのコンテナ型仮想化環境はLinuxベース。

2. カスタマイズ性がハイパーバイザ型よりも低い

勉強後のイメージ

コンテナを管理するサービスということは分かりましたが、使ってみないとよくわからないというのが正直なところです。。。

コメント

タイトルとURLをコピーしました