0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS ECS:ターゲットグループへのタスク自動登録はなぜ発生するのか

Posted at

AWSのECSにおけるターゲットグループへの自動的なコンテナ割り振りについて、前提知識から順序立てて説明します。AWSのECSにおいてターゲットグループへのコンテナ自動割り振りが発生する仕組みについて、体系的に解説します。

前提知識:ECSとターゲットグループの基本関係性

ECSのタスクがターゲットグループに自動的に登録される現象は、「設定した覚えがない」という状況でも発生する可能性があります。これは、ECSサービスの作成時に行われるロードバランサー設定が原因です。

自動登録が発生する主要なメカニズム

1. ECSサービス作成時のロードバランサー設定

ECSサービスを作成する際、Load balancing section でApplication Load Balancerを選択し、既存のターゲットグループを指定すると、自動的にタスクがそのターゲットグループに登録される仕組みが構築されます。この設定は以下の構成要素で成り立っています:

必須設定項目:

  • Container name(タスク定義で定義されたコンテナ名)
  • Container port(コンテナがリッスンしているポート)
  • Target group ARN(対象となるターゲットグループ)

2. ECSサービスレベルでの設定管理

ターゲットグループへの自動登録は、ECSサービス作成時に定義され管理されます。このサービス設定により、サービスの一部として作成されるホスト(タスク)が自動的にターゲットグループに割り当てられます。

3. 動作プロセスの詳細

タスクがターゲットグループに自動登録される具体的な流れは以下の通りです:

  1. ECSタスクの起動: 新しいECSタスクが開始されると、ECSがload_balancer設定に気づきます
  2. IP割り当て: Fargateの場合、タスクは独自のElastic Network Interfaceを取得
  3. 自動登録: ECSはサービスリンクIAMロールを使用して、タスクの作成・停止時にロードバランサーへのターゲット登録・解除を行います
  4. ヘルスチェック開始: ターゲットグループのヘルスチェックが実行される

ネットワークモードによる制約事項

awsvpcネットワークモード使用時の要件

awsvpcネットワークモードを使用するタスク(Fargateで必須)では、ターゲットグループのタイプを「ip」に設定する必要があります。これは、awsvpcモードのタスクがEC2インスタンスではなく、Elastic Network Interfaceに関連付けられるためです。

新しいALBへの適用方法

既存のECSサービスを新しいALBのターゲットグループに登録したい場合:

新しいロードバランサーにサービスを適用するには、新しいサービスを作成する必要があります。同じタスク定義を使用できるため、作業量は大幅に削減されます。この新しいサービスでは、新しいターゲットグループを使用します。

まとめ

ECSのターゲットグループへの自動登録は、偶然発生する現象ではなく、ECSサービス作成時のロードバランサー設定に基づく設計された動作です。この仕組みにより、コンテナのスケーリングやタスクの再作成時にも、手動介入なしで適切にトラフィックルーティングが維持されます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?