本記事は、AWS JumpStart 2023レポート企画ということで、筆者が学んだ知識を共有する記事です。
本記事では、AWS Fargateとは何かについて説明して行きます。
本記事に誤りがある場合には、修正をして頂けますと幸いです。
ということで結論から言います。
AWS Fargateとは、EC2のコンテナが動く版です。
(端的に伝えたくて、極端な言い方をしています。詳しくはこちらの記事をご参照ください。)
ここで2つの用語を整理します。
- EC2とは?
- コンテナとは?
1つ目:EC2とは?
Elastic Compute Cloudの略で、compute(サーバー)を提供するサービスのことです。
詳しくはコチラから
2つ目:コンテナとは?
IT用語としての、コンテナとは、ソースコード+ソースコードを動かすために必要な情報を格納したデータのことです。
詳しくはコチラから
ここまでの話をした段階で2つの疑問が私には聞こえてきます。
- じゃーfargateって何なの?EC2と何が違うの?
- ECSは何?
じゃーfargateって何なの?EC2と何が違うの?
ご指摘の通りEC2もfargateもサーバーで動きます。しかし、コンテナイメージを動かす場合、コンテナイメージを読み取り、それをもとに環境構築する必要があります。例えば、特定のSQLのミドルウェアをインストールする、特定の言語のバージョンにアプデートする、特定のライブラリをインストールするなどです。EC2は、あくまでもネットワークを介してサーバーを貸してくれるサービスなので、コンテナイメージを読み取り上記のものをインストールしたり、アップデートする機能はありません。なので、ちまちまsudo hoge hogeと打ち込んだり必要なものをインストールするバッチを叩くなどが必要です。このような理由からfargateを使う必要があります。
ECSは何?
ここでいうECSとは、Elastic Container Serviceのことです。これは、EC2と似ているようで全然違います。ECSは、オーケストレーション、つまりコンテナの管理を行うサービスのことです。
詳しくはコチラから
ということでまとめです。
AWS fargateとは、コンテナイメージをサーバーに格納してシステムを動かすためのサービスのことです。簡単にいうと、コンテナイメージ用のEC2って感じですね。ECS+Fargateで使います。