ユーザ用ツール

サイト用ツール


aws:note:container

AWSで使えるコンテナサービスの比較(ECS, EKS, Fargate)



AWSでコンテナを利用する場合、複数のサービスがありますので、各サービスの特徴を整理し、比較したいと思います。


AWSで使えるコンテナサービスの一覧

AWSで使えるコンテナサービスの一覧をまずは簡単な説明で一覧にしたいと思います。

Amazon ECR Amazon Elastic Container Registry
コンテナイメージの圧縮保存・管理・デプロイする
Amazon ECS Amazon Elastic Container Service
完全マネージド型のコンテナオーケストレーションサービス
Amazon EKS Amazon Elastic Kubernetes Service
完全マネージド型のKubernetesサービス
AWS Fargate Amazon ECSとAmazon EKSで動作する、コンテナ向けサーバーレスコンピューティング


AWSのコンテナサービスの役割

レジストリ

  • Amazon ECR

各サーバーで実行するコンテナイメージを蓄積し、一元管理します。
AWSと連携するなら、Docker Hubよりも、Amazon ECRを使いましょう。


コントロールプレーン

  • Amazon ECS
  • Amazon EKS

デプロイ・スケジューリング・スケーリングのオーケストレーション・アプリケーション管理を行います。
Docker向けのAmazon ECSとKubernetes向けAmazon EKSがあります。
小規模なコンテナではAmazon ECSを利用するのがいいです。
大規模システムでは、Amazon EKSも考えられます。


データプレーン

  • AWS Fargate
  • Amazon EC2(ecs-agent を動かす)

小規模ならサーバを意識しないサーバーレスであるAWS Fargateが楽ですが、
コンテナを長く動かす場合、Amazon EC2も候補になります。


Amazon ECR

Amazon Elastic Container Registry
コンテナイメージの圧縮保存・管理・デプロイする

レジストリ
Docker HubのAWS版ですで、コンテナイメージを蓄積します。


Amazon ECS

Amazon Elastic Container Service
Dockerコンテナを実行および管理

EC2 起動タイプ(ホストマシン上でコンテナを実行する)と Fargate 起動タイプから自社のワークロードに合ったものをお選びいただくことが出来ます。

AWS が独自に開発しているコンテナのオーケストレーションサービス

EC2 の上で ecs-agent を動かすことで、ECS のクラスタとして認識させることができる
ecs-agent が動いていれば、ECS を通して EC2 の上でコンテナを簡単に動かすことができます。

ECS 向けに awslogs という Docker 用の logging driver を提供していて、CloudWatch Logs との連携も簡単に行えます。


AWS Fargate

Amazon ECSでコンテナを実行する際の起動タイプの1つです。
サーバーやクラスターを管理することなくコンテナを実行
ホストマシンが見えなくなり、ホストマシンを意識すること無くコンテナを実行することが出来ます。

参考:スタートアップのためのコンテナ入門 – AWS Fargate 編 | AWS Startup ブログ


Amazon EKS

Amazon Elastic Container Service
AWSでマネージド Kubernetes を実行


参考

aws/note/container.txt · 最終更新: 2021/06/09 22:40 by kurihara

ページ用ツール