Network Load Balancer

Network Load Balancer (NLB) là một dịch vụ cung cấp bởi Amazon Web Services (AWS) để phân phối tải lưu lượng mạng đến các instance EC2 hoặc các tài nguyên mạng khác trong môi trường điện toán đám mây của AWS. NLB hoạt động ở tầng mạng (Layer 4) của mô hình OSI, có thể xử lý cả lưu lượng TCP và UDP.

  1. Forward TCP & UDP traffic to your instances: NLB cho phép chuyển tiếp lưu lượng TCP và UDP đến các instance của bạn. Điều này giúp phân phối tải cho các ứng dụng hoạt động trên cùng một cổng mạng.

  2. Handle millions of requests per second: NLB có khả năng xử lý hàng triệu yêu cầu mỗi giây, đảm bảo rằng ứng dụng của bạn có thể mở rộng và xử lý lượng truy cập lớn mà không gặp vấn đề về hiệu suất.

  3. Less latency ~100 ms (vs 400 ms for ALB): NLB thường có độ trễ thấp hơn so với Application Load Balancer (ALB), với khoảng 100 ms so với 400 ms. Điều này có nghĩa là các yêu cầu được xử lý và đáp ứng nhanh hơn.

  4. Ánh xạ DNS name của NLB qua Router 53:

    • Chúng ta có thể sử dụng Route 53, dịch vụ DNS của AWS. Route 53 cho phép bạn tạo một bản ghi A hoặc CNAME để ánh xạ tên miền của bạn (ví dụ: example.com) đến địa chỉ IP hoặc DNS name của NLB. Điều này giúp bạn có thể truy cập vào NLB bằng một tên miền dễ nhớ thay vì sử dụng địa chỉ IP trực tiếp.
  5. NLB are used for extreme performance, TCP or UDP traffic: NLB thường được sử dụng cho các ứng dụng yêu cầu hiệu suất cực cao và lưu lượng truy cập lớn, đặc biệt là cho các ứng dụng TCP hoặc UDP như là Ứng dụng web và API, Microservices, Game Servers, Ứng dụng real-time và streaming...

  6. Not included in the AWS free tier: NLB không được bao gồm trong gói dịch vụ miễn phí của AWS, điều này có nghĩa là bạn sẽ phải trả phí khi sử dụng NLB.

Network Load Balancer – Target Groups

  1. EC2 instances: Đây là các máy ảo trong môi trường điện toán đám mây của AWS (EC2). NLB sẽ chuyển hướng lưu lượng mạng đến các EC2 instances. Để sử dụng NLB, các EC2 instances phải được đăng ký vào target group của NLB.

  2. IP Addresses – must be private IPs: Địa chỉ IP của các EC2 instances phải là địa chỉ IP riêng tư, nghĩa là địa chỉ IP không được truy cập từ bên ngoài mạng nội bộ.

  3. Application Load Balancer: Mặc dù đây là thông tin không liên quan trực tiếp đến NLB, nhưng nó nhấn mạnh rằng NLB và Application Load Balancer (ALB) có các tính năng khác nhau. Trong trường hợp của NLB, các thông tin cụ thể liên quan đến target groups chỉ hỗ trợ cho EC2 instances và không áp dụng cho ALB.

  4. Health Checks support the TCP, HTTP and HTTPS Protocols: NLB có khả năng kiểm tra sức khỏe của các EC2 instances bằng cách sử dụng các giao thức TCP, HTTP và HTTPS. Điều này đảm bảo rằng NLB chỉ chuyển hướng lưu lượng đến các EC2 instances lành mạnh và hoạt động đúng cách.

Gateway Load Balancer

Gateway Load Balancer (GWLB) là một dịch vụ quản lý tải (load balancer) được cung cấp bởi Amazon Web Services (AWS). Nó được thiết kế để cung cấp một điểm vào mạng ảo riêng (VPC) để kết nối các ứng dụng on-premises hoặc cloud với các tài nguyên trong một môi trường VPC trên AWS. GWLB hoạt động ở tầng 3 (tầng mạng) của mô hình OSI và có khả năng xử lý cả gói tin TCP và UDP.

  1. Deploy, scale, and manage a fleet of 3rd party network virtual appliances in AWS: GWLB cho phép triển khai, mở rộng và quản lý một tập hợp các ứng dụng mạng ảo của bên thứ ba trong môi trường AWS. Các ứng dụng này có thể bao gồm tường lửa, hệ thống phát hiện và ngăn chặn xâm nhập, hệ thống kiểm tra và xử lý gói tin chi tiết, và nhiều hơn nữa.

  2. Operates at Layer 3 (Network Layer) – IP Packets: GWLB hoạt động ở tầng 3 của mô hình OSI, nghĩa là nó xử lý các gói tin mạng IP.

  3. Combines the following functions: GWLB kết hợp các chức năng sau:

    • Transparent Network Gateway: Đây là một cổng mạng hoạt động một cách trong suốt, nghĩa là nó cho phép gói tin đi vào và ra khỏi mạng mà không cần sự can thiệp của bất kỳ ứng dụng nào.
    • Load Balancer: GWLB phân phối lưu lượng mạng đến các ứng dụng ảo và hệ thống bảo mật của bạn.
  4. Uses the GENEVE protocol on port 6081: GWLB sử dụng giao thức GENEVE trên cổng 6081. GENEVE (Generic Network Virtualization Encapsulation) là một giao thức mạng ảo được thiết kế để hỗ trợ việc chuyển tiếp và ảo hóa lưu lượng mạng giữa các máy chủ và thiết bị mạng ảo.

Gateway Load Balancer –Target Groups

  1. EC2 instances: Đây là các máy ảo (EC2 instances) trong môi trường AWS mà GWLB sẽ chuyển tiếp lưu lượng mạng đến.

  2. IP Addresses – must be private IPs: Địa chỉ IP của các EC2 instances cần phải là địa chỉ IP riêng tư (private IPs). Điều này đảm bảo rằng GWLB chỉ chuyển tiếp lưu lượng đến các máy ảo trong mạng nội bộ của bạn, không phải đến các địa chỉ IP công cộng trên internet.

Có thể bạn chưa biết?

NLB hoạt động ở tầng mạng (Layer 4) của mô hình OSI có nghĩa là gì?

Điều này có nghĩa là Network Load Balancer (NLB) hoạt động ở tầng mạng (Layer 4) của mô hình OSI, nơi nó làm việc trực tiếp với địa chỉ IP và giao thức TCP/UDP. NLB có thể xử lý cả lưu lượng TCP và UDP, cho phép nó phân phối các yêu cầu truy cập đến các máy chủ đích dựa trên các cài đặt quy tắc như cân bằng tải, routing, và health checks.

Ví dụ, NLB có thể được sử dụng để điều hướng lưu lượng truy cập HTTP (sử dụng giao thức TCP) đến một nhóm các máy chủ web, hoặc để điều hướng lưu lượng truy cập DNS (sử dụng giao thức UDP) đến các máy chủ DNS.

Tóm lại, NLB là một giải pháp cân bằng tải ở tầng mạng, chuyên xử lý lưu lượng TCP và UDP để điều hướng các yêu cầu truy cập đến các máy chủ đích một cách hiệu quả và đáng tin cậy.

So sánh TCP và HTTP?

Cả giao thức HTTP và TCP đều được sử dụng để truyền tải dữ liệu theo hình thức gói tin, nhưng chúng hoạt động ở các tầng khác nhau trong mô hình OSI và có mục đích khác nhau:

  1. HTTP (Hypertext Transfer Protocol):

    • HTTP là một giao thức ứng dụng hoạt động ở tầng ứng dụng (Layer 7) trong mô hình OSI.
    • Nó được sử dụng để truyền tải dữ liệu web, bao gồm các trang web, hình ảnh, video, v.v.
    • HTTP hoạt động trên giao thức TCP và sử dụng các phương thức như GET, POST, PUT, DELETE để giao tiếp với máy chủ và truyền tải dữ liệu giữa máy khách và máy chủ.
    • Mục đích chính của HTTP là truyền tải dữ liệu web và tương tác giữa trình duyệt và máy chủ web (Nginx, Apache, hoặc Microsoft IIS).
  2. TCP (Transmission Control Protocol):

    • TCP là một giao thức vận chuyển hoạt động ở tầng giao vận (Layer 4) trong mô hình OSI.
    • Nó được sử dụng để đảm bảo truyền tải tin cậy của dữ liệu giữa các thiết bị mạng.
    • TCP cung cấp các tính năng như kiểm soát luồng, kiểm soát lỗi, đóng gói và xác nhận gói tin để đảm bảo tính toàn vẹn và tin cậy của dữ liệu.
    • Mục đích chính của TCP là cung cấp một cơ chế đáng tin cậy để truyền tải dữ liệu qua mạng.
  3. UDP (User Datagram Protocol):
    1. UDP là giao thức không đảm bảo kết nối và không tin cậy.
    2. Dữ liệu được gói thành các datagram và gửi đi mà không cần thiết lập kết nối trước đó.
    3. UDP không đảm bảo việc nhận dữ liệu theo thứ tự hoặc đảm bảo rằng dữ liệu được nhận đúng và đầy đủ.
    4. Không có cơ chế tự điều khiển hoặc tái sử dụng dữ liệu như TCP, vì vậy nó thích hợp cho các ứng dụng cần truyền dữ liệu nhanh chóng mà không cần tính toàn vẹn cao như video streaming, trò chơi trực tuyến, và VoIP (Voice over IP).

Vậy điểm khác biệt chính giữa HTTP và TCP là mục đích sử dụng và tầng mà chúng hoạt động trong mô hình OSI. HTTP tập trung vào truyền tải dữ liệu web ở tầng ứng dụng, trong khi TCP tập trung vào đảm bảo tính toàn vẹn và tin cậy của dữ liệu ở tầng giao vận.

Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Learning English Everyday