初めに
AWSのサービスはほとんどがコントロールプレーンとデータプレーンに分けられているとのことだったので、そこから説明を行う。
リポジトリ
データを保管する場所
データプレーン
データの転送や処理を実行する場所
コントロールプレーン
システムの制御を行う場所、頭脳
ECR (Elastic Container Registry)
リポジトリに属する。作成したDockerのコンテナイメージを保存管理する場所。
Fargate
データプレーンに属する。ECSでコンテナを実行するための環境を提供する。具体的にはCPUやメモリを提供。
なぜDockerと言ったらFargateというイメージ、記事が多いのか
Dockerの思想との親和性があるから。
Dockerの思想がアプリケーションとその依存関係をコンテナに詰め込んで、どこでも同じように迅速に開発できるようするという思想だった。従来のEC2はさまざまな設定、管理が必要。一方Fargateはコンテナを用意しさえすれば、EC2に比べると準備に時間がかからず開発が行える、ここが似ているため。
ECS (Elastic Container Service)
コントロールプレーンに属する。ECRに保存していたコンテナを持ってきて、起動するコンテナの数を決めたり、止まったコンテナ再起動したり、古いコンテナを新しいコンテナに入れ替えたする。つまりコンテナの管理をやる場所。
参考