😇

EC2とECS、Fargateやコンテナがどういう関係か?

に公開

ざっくりそれぞれの関係イメージ

EC2とは

Amazon Elastic Compute Cloudの略
(※ Elastic = 需要の増減に合わせてリソースを自動で調整可能であること)
簡単にまとめると、AWSクラウド上で仮想サーバーを提供するシステムで
オンプレとは異なり、サーバーの物理的管理など不要で簡単にサーバー立ち上げ&需要に合わせて増減することができるもの。目的がサーバー(仮想マシン)管理。

任意のAZにEC2インスタンスを立げることで、サーバーとして利用。EC2の利用単位をEC2インスタンスと呼ぶ。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/concepts.html

https://zenn.dev/mi_01_24fu/articles/aws-ec2-2024_08_07

ECSとは

Amazon lastic Container Serviceの略
なので、こちらも需要に合わせて柔軟に変化できる、クラウド上でのコンテナ運用を可能にするサービス。目的はコンテナ管理。
コンテナ化されたアプリケーションを簡単にデプロイして運用するフルマネージド型サービスでDockerなどを利用してアプリを作成、デプロイする。

https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/Welcome.html

https://zenn.dev/issy/articles/zenn-ecs-overview

Fargateとは

ECSと連携して動作するサーバーレスなコンテナ実行エンジン

ECSの中の、起動タイプの一つ
タスクの起動タイプはFargate(デフォルト)、EC2、外部の3種類。

クラスターのスケールなど自動で実行してれるため、EC2のクラスターを管理することなくコンテナを実行することができる。

https://qiita.com/syukan3/items/c4aa3b5e9ba01c2ad0fe

Discussion