AWSのアーキテクチャについて、調べていてよく分からなかったの個人的なメモ。
…そもそも性格な知識があれば、この表題がおかしいのだが、正しくまとめてみた。
Amazon FargateはAmazon ECS (on EC2)と何が違うのか?
まず、ECSの意味について。
ECSはコンテナ(サーバ)を動かすためのオーケケスレーションサービス。
EC2などの稼働用のサーバが必要である。したがって、
・「ECS on EC2」(EC2上でECSを稼働させる)
・「ECS on Fargete」(Fargete上でECSを稼働させる)
ということを行う必要があるものだそうだ。
Fargateはフルマネージドなコンテナ実行環境である
Fargeteは、OSやインフラ基盤をAWSがフルマネージドで管理するサーバレースなコンテナ実行環境を提供してくれるもの。
しかし、Fargete単体でコンテナは動かせない。
ECSやEKSからの支持でコンテナを実行することができる。
ECS/EKSが司令塔になり、コンテナをEC2やFargateで稼働させる
つまり「ECS」 → 「ECS on EC2」 , 「ECS on Fargate」ということ。
ECSは司令塔(コントロールプレーン)と命令実行のエージェント(データプレーン)という構成で動いている。
補足:Fargateはコンテナ以外の実行が可能か?
→ いいえ
コンテナ実行専用のサーバレス基盤である。
なお、EC2に比べて汎用性が低い。ECSやEKSを使用することが前提。
補足:Fargeteを使用するメリットは?
サーバ管理から開放されてOSのパッチをあてる等の手間が不要。
使った分だけ課金される合理的なサービスになっている。
スケーラブルなタスクの場合は条件次第でFargateの方が安くできる可能性もある。
が、当然ながら基本的にFargateの方が高くつく。だいたい1.2倍前後になる。
コメント