AWS Fargateとは

AWS Fargate は、

Amazon Elastic Container Service (ECS) と

Amazon Elastic Kubernetes Service (EKS) の両方で動作する、

コンテナ向けサーバーレスコンピューティングエンジンです。

 

ECSの中でEC2インスタンスの代わりにコンピュートエンジンとして利用されるもので、

コンテナー化されたアプリケーションの構築の際に利用されます。

 

言い換えると、

EC2を使わずサーバレス(AWSおまかせ)でコンテナを動かす起動タイプの1つです。

ECSを利用する際にコンテナの起動タイプを選ぶ必要があり、EC2とfargateの2つがあります。

 

fargate を使用すると、アプリケーションの構築に簡単に集中することができます。

つまり、EC2の管理を考えなくてよいのがメリットです。

 

fargate ではEC2のプロビジョンと管理が不要となり、

アプリケーションごとにリソースを指定してその分のみ料金を支払うことができ、

設計段階からのアプリケーション分離によりセキュリティを強化します。

 

EC2起動タイプと何が違う?

先ほど、述べたとおり、fargateはサーバレスでコンテナを動かす、ECSの起動タイプの1つです。

EC2のプロビジョニングなどの作業を省いてくれます。

fargateのメリット

  • EC2の管理(プロビジョニング、負荷分散)など必要なし
  • 自動的にスケーリングしてくれる
    • 設定をすれば、コンテナを自動的に増やしてくれる

 

fargateのデメリット

コンテナ内でエラーが起きてもらわからない。

しかし、AWSが管理してくれるのでこの点は問題なし。

 

fargateの構成要素

  • クラスター
    • 複数作成が可能
    • どういうコンテナをどこへ配置するのかがカギ
  • サービス
    • タスクをまとめて管理する単位
    • クラスタ内に、複数作ることが可能
    • 特定のコンテナの集合体(管理別のコンテナ集合体)
    • サービス同士は依存しない
  • タスク
    • サービスの中に、1つ以上入っているもの
    • 1つ以上の任意のコンテナ
    • タスク定義から起動されたもの
    • タスク同士は同じもの
    • 負荷がかかるとfargateはタスクを増やす(自動スケーリング)
  • タスク定義
    • コンテナを起動するタスクを定義するもの
    • タスク定義を見れば、どういうコンテナが動いているかわかる
    • docker-compose.ymlと同じ役割を果たすもの
    • 例:コンテナ1(MySQL)、コンテナ2(PHP)などを結びつける役割を果たす
    • 定義するもの
      • どんなコンテナなのか
      • どんなスペックなのか
      • ログは?
      • マウントは?

 

関連記事

記事タイトル検索