😄

TerraformでECSのタスクにALBを設定するメモ

2024/12/01に公開

TerraformでECSのタスクにALBを設定するメモ

Terraformで構築したECS FargateにALBを設定するメモ。

ALB関連モジュール

fargateはawsvpcを使用しているため、target_type = "ip"とする必要がある。

module "alb" {
  source = "../modules/alb"

  // 色々省略
}

module "alb_target_group" {
  source = "../modules/alb_target_group"

  name = ""
  port = 80
  protocol = "HTTP"
  vpc_id = module.vpc.vpc_id
  target_type = "ip"
  
  health_check_enabled = true
  health_check_path = "/health_check"
  health_check_interval = 300
}

module "alb_listener" {
  source = "../modules/alb_listener"

  // 色々省略

  ロードバランサー本体のarnを指定
  load_balancer_arn = module.alb.alb_arn

  // ターゲットグループのarnを指定
  target_group_arn = module.alb_target_group.target_group_arn
}

ECSサービスモジュール

ターゲットグループのarnを指定する。

module "ecs" {
  // nameとか色々省略

  target_group_arn = module.alb_target_group.target_group_arn
}

ECSサービスとリスナーにそれぞれターゲットグループのarnを指定することでECS FargateのタスクのIPをターゲットにしたターゲットグループを作成することができる。サービスが正常に開始された後、タスクのIPアドレスが指定されていることが確認できる。

最後に

間違っていることがあれば、コメントに書いていただけると幸いです。
よろしくお願いいたします。

GitHubで編集を提案

Discussion