LoginSignup
3
4

More than 3 years have passed since last update.

コンテナ初めましてからEKS・ECSを理解する

Last updated at Posted at 2019-06-15

記事の目的

仕事でオンプレで動いているシステムをAWS上に移行するという話が出て来ました。
そこで、今流行りDockerで動かしてEKSで管理して・・・という話になり、学習をはじめました。
AWSのコンテナ系のサービスはいくつかありますが、ECS?EKS?Fargate?美味しいの?状態です。
そこで、この記事はコンテナ初めましての方が、AWSでコンテナを始めるのに何を選んだら良いのかを考えられるようになることが目的です。
説明が薄いので、適宜参考になる記事を載せています。

コンテナって何?

サーバの仮想化とは何が違うの?と思いました。
サーバの仮想化は、ひとつの物理サーバの仮想化されたハードウェア上で、複数のサーバをOSから丸っと動かします。
一方コンテナとは、一つのOS上で、他のプロセスから隔離してアプリケーションを動作させます。
Dockerはそのコンテナの実行環境を提供してくれます。
この記事が絵があって分かりやすかったです。
第1回 Dockerとは:超入門Docker

AWSでコンテナを動かすにあたって

コンテナを動かすに当たって気にする点と対応するAWSサービスは下記になります。

  • 複数のコンテナを管理する(コントロールプレーン)
    • ECS、EKS
  • 複数のコンテナが動く場所を用意する(データプレーン)
    • EC2、Fargate

EKSとECSの違い?

EKSとは

Amazon Elastic Container Service for Kubernetes (Amazon EKS) は、
AWSでKubernetesを実行できるようにするマネージド型サービスとなります。

Kubernetesとは、コンテナを運用するツールとなります。
Dockerは外部のホストとやり取りする場合はNATが必要となり、連携が煩雑になります。
そこをひとまとめにし、一つの実行環境として見せてくれて、どこでどうコンテナを動かすのかという部分をKubernetesが管理してくれます。
Docker(コンテナ型仮想化)と Kubernetes についての簡単な紹介

こちらの記事がKubernetesの説明から図解されていておすすめです。
10分くらいでわかる、KubernetesとEKSの何が便利なのか
そのあとに公式ドキュメントを読むと理解が深まります。
Amazon EKS とは

ECSとは

Amazon Elastic Container Service (Amazon ECS) は、AWSが開発したコンテナ管理サービスです。
データプレーンはEC2,Fargateどちらにも対応しています。
ECSについては、公式ドキュメントが分かりやすかったです。
Amazon Elastic Container Service とは

データプレーンがEC2起動タイプだと、EC2の面倒は自分でみることになります。
インスタンスのリソースを超えそうになったときは、EC2自体をスケールしなければなりません。
スケールの自動化を作り込みが必要になります。
それ以外にも、インスタンスの監視や、ELBの設定が必要になります。

そこをうまいこと管理してくれるのが、Fargateとなります。
ただ、EC2起動タイプよりも割高です。

どれを選ぶべき?

メリット デメリット
ECS ・シンプルなので容易に始められる
・Fargateが使用できる
・ECS自体の料金はなく、リソース分の料金のみ
・EC2周りの管理を自前で作り込む必要がある
・ECSはAWSのサービスなので、AWS依存になってしまう
EKS ・Kubernetesを管理できるのであれば別のシステムに移管することができる
・EC2インスタンスのオートスケール機能があるので、スケールを作り込む必要がない
・Kubernetesのメンテが必要になる
・EKSクラスターごとに、1時間あたりの料金+リソースの料金がかかる
・東京リージョンに来たばかりなので、ノウハウがまだ十分には無い

感想

AWSでは、EC2上でコンテナを動かすのですが、EC2も仮想サーバなので、仮想サーバの中でコンテナが動いている?と思いました。

EKSは最近東京に来たので、ノウハウがあまり無いですが、ECSで運用していてEKSに移管しようとする声をよく聞きます。
AWS上でコンテナ始めたいけど、ECSはリソースのスケールの自動化がとても大変、でもFargateはとても高いし・・・
Kubernetesはコード管理できるし運用がとても楽だと思いました。

ただ、EKSはEKSクラスターごとに、1時間あたりの料金がかかります。
ECSでスケールの自動化が作り込めるのであれば、スポットインスタンスを併用することで一番安く運用できるのでないでしょうか。
EKSは比較的大きなシステムに向いていそうです。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4