- vừa được xem lúc

MỐI LIÊN HỆ GIỮA ALB – ECS – EC2 TARGET GROUP

0 0 1

Người đăng: Hoang Minh Dai

Theo Viblo Asia

🔁 MỐI LIÊN HỆ GIỮA ALB – ECS – EC2 TARGET GROUP

1. ALB (Application Load Balancer)

  • Nhận request HTTP/HTTPS từ client.

  • Có các Listener (ví dụ: HTTP trên port 80, HTTPS trên port 443).

  • Mỗi Listener có thể có Rule để điều hướng request dựa vào:

    • Path (e.g., /api/*)
    • Host (e.g., api.example.com)
    • Header, query string, v.v.

2. Target Group

  • Mỗi rule của ALB sẽ điều hướng đến một Target Group.

  • Target Group chứa danh sách các Target, có thể là:

    • IP address
    • EC2 instance
    • ECS container (Fargate hoặc EC2 launch type)

3. ECS Service

  • Một ECS Service (trong ECS cluster) sẽ được cấu hình để register các task của nó vào một Target Group.
  • Mỗi task chạy container sẽ trở thành 1 target.

🧩 SƠ ĐỒ QUAN HỆ

Client ↓
ALB (Listener: 443) └── Rule 1: path /api → Target Group A └── ECS Service A (cluster 1234) └── Task 1, Task 2 (containers) └── Rule 2: path /admin → Target Group B └── ECS Service B (cluster 1234) └── Task 3, Task 4 (containers)

📌 VÍ DỤ CẤU HÌNH

Giả sử bạn có ECS Cluster "cluster-1234" và 2 service:

  • api-service xử lý /api/*
  • admin-service xử lý /admin/*

Bước 1: Tạo 2 Target Groups

  • tg-api – port 8080 (ví dụ container port)
  • tg-admin – port 8000

Bước 2: Tạo ALB + Listener

  • ALB: my-alb
  • Listener: HTTPS 443

Bước 3: Cấu hình Listener Rule

# Rule 1
IF path is /api/* THEN forward to tg-api # Rule 2
IF path is /admin/* THEN forward to tg-admin

Bước 4: Tạo ECS Services

  • api-service dùng task definition có container listen on port 8080.
  • ECS service sẽ đăng ký mỗi task của nó vào tg-api.
"loadBalancers": [ { "targetGroupArn": "arn:aws:elasticloadbalancing:...:targetgroup/tg-api", "containerName": "api-container", "containerPort": 8080 }
]

Tương tự với admin-service.


🚀 LUỒNG XỬ LÝ KHI CÓ REQUEST

  1. Client gọi https://yourdomain.com/api/v1/users
  2. ALB nhận request tại Listener HTTPS:443
  3. Rule match /api/* → forward đến tg-api
  4. tg-api đang chứa các target là ECS task đang chạy container api-service
  5. ALB chọn 1 task (theo Round Robin hoặc Least Outstanding Request)
  6. Forward request đến container đang listen port 8080

✅ GỢI Ý

  • Mỗi ECS Service tương ứng 1 Target Group là cách phổ biến và dễ quản lý.
  • Có thể gom nhiều service vào cùng target group nếu dùng chung container port & xử lý routing trong app.
  • Dùng Path-based hoặc Host-based routing để scale dễ dàng.

Bình luận

Bài viết tương tự

- vừa được xem lúc

PDF Export, cẩn thận với những input có thể truyền vào

Giới thiệu. Dạo gần đây mình tình cờ gặp rất nhiều lỗi XSS, tuy nhiên trang đó lại có sử dụng dữ liệu người dùng input vào để export ra PDF.

0 0 84

- vừa được xem lúc

Tán gái theo kiểu Message Queue là thế nào?

. Bài toán. Vào những năm 1900, khi mà công nghệ chưa phát triển, con người chỉ nói chuyện với nhau trực tiếp hoặc qua thư... . Trai tài gái sắc, họ nói chuyện với nhau một cách thoải mái, tự nhiên. Mọi chuyện yên bình cho đến khi có anh chàng C đến, chiều cao chuẩn 1m8 chứ không cộng thêm sừng. C c

0 0 56

- vừa được xem lúc

Giới thiệu Lambda AWS

Giới thiệu. Nếu bạn là 1 developer, đúng rồi đó, người mà luôn được mọi người nhờ sửa tủ lạnh, ti vi, quạt máy, ống nước, đủ thứ loại trên đời, khi bạn xây dựng một ứng dụng, bạn sẽ muốn được nhiều người sử dụng, trải nghiệm và đánh giá tốt.

0 0 41

- vừa được xem lúc

Tạo tải khoản AWS 2021

Các bài viết trước:. . Ứng dụng AWS trong thực tế. Bạn có thể làm gì với AWS.

0 0 185

- vừa được xem lúc

Tương tác với AWS

Các bài viết trước:. . Ứng dụng AWS trong thực tế. Bạn có thể làm gì với AWS.

0 0 42

- vừa được xem lúc

Khám phá những dịch vụ của AWS

Các bài viết trước:. . Ứng dụng AWS trong thực tế. Bạn có thể làm gì với AWS.

0 0 46