【AWS】「ECS」「EKS」「Fargate」の違い
「ECS」「EKS」「Fargate」の違いが分かりにくいので、調べてみました。
ECS(Amazon Elastic Container Service)
Amazon Elastic Container Service (Amazon ECS) は、クラスターでコンテナを簡単に実行、停止、管理できる非常にスケーラブルで高速なコンテナ管理サービスです。コンテナは、個々のタスクを実行したり、サービスとして使用したりするタスク定義で定義されます。AWS Fargate によって管理されるサーバーレスインフラストラクチャでタスクとサービスを実行できますが、インフラストラクチャの制御を強化する場合は、管理する Amazon EC2 インスタンスのクラスターでタスクとサービスを実行することもできます。
元々の名前は、「Amazon EC2 Container Service」ということもあり、
EC2サーバ上にコンテナをデプロイすることができます。
EKS(Amazon Elastic Kubernetes Service)
Amazon Elastic Kubernetes Service (Amazon EKS) は、フルマネージド型の Kubernetes サービスです。インテル、Snap、Intuit、GoDaddy、Autodesk などのお客様が、セキュリティ、信頼性、スケーラビリティを獲得するために、最も機密性が高くミッションクリティカルなアプリケーションを EKS で実行しています。
・Kubernetesとは?
Kubernetesは、(クバネティス、またはクーベネティス)と読みます。
複数のDockerなどのコンテナの管理することができます。
こちらの記事でKubernetesの説明がされています。
Kubernetesとは?仕組みと構造をわかりやすく解説します
Fargate(AWS Fargate)
AWS Fargate は、Amazon Elastic Container Service (ECS) と Amazon Elastic Kubernetes Service (EKS) の両方で動作する、コンテナ向けサーバーレスコンピューティングエンジンです。Fargate を使用すると、アプリケーションの構築に簡単に集中することができます。Fargate ではサーバーのプロビジョンと管理が不要となり、アプリケーションごとにリソースを指定してその分のみ料金を支払うことができ、設計段階からのアプリケーション分離によりセキュリティを強化します。
サーバー(EC2)レスでコンテナをデプロイできます。
コンテナサービス
コンテナサービスには、
「データプレーン」 と 「コントロールプレーン」 の2種類があります。
・データプレーン
データプレーンとは、「コンテナが稼働するサーバー」のことを指します。平たくいうと、コンテナが動く場所です。
AWS では、Fargate と EC2 が選択できます。
・コントロールプレーン
コントロールプレーンとは、「Dockerコンテナを管理する機能」です。
平たくいうと、コンテナを管理です。
AWS では、ECS と EKS が選択できます。
まとめ
ECS
EC2サーバにコンテナをデプロイ
コンテナ管理ができる
EKS
クラスター状のコンテナを管理
Fargate
サーバーレスでコンテナをデプロイ
コンテナ管理はできない
参考資料
公式
公式以外
第1回 Dockerとは
コンテナ初めましてからEKS・ECSを理解する
Amazon ECS / EKS / AWS Fargate
AWSはなぜ、ECSがあるのにKubernetesのサービスを始めたのか、コックロフト氏に聞いた
EKSは本当にECSより難しいのか?
ECSの概念を理解しよう
EKS入門者向けに「今こそ振り返るEKSの基礎」というタイトルで登壇しました #jawsug_ct
AWS Fargateとは?
AWS Fargateとは何か?
参考書籍
より深く知りたい方は以下が、おすすめです。
よいと思ってもらえたら、「スキ」をお願いします。
「スキ」は、継続の源泉です。
いつもサポートありがとうございます。 あなたの100円がモチベーションアップの起爆剤です。 毎日更新頑張ります Twitterはこちら https://twitter.com/7010Rei