AWS Global Accelerator

4 phút đọcSeries: NoteBook: AWS Certified Solutions Architect Associate SAA-C031 lượt xem

Người dùng toàn cầu truy cập vào ứng dụng

  • Bạn đã deploy một ứng dụng, và có global user muốn truy cập trực tiếp vào đó.
  • Truy cập hiện tại đang đi qua Public Internet, điều này gây ra độ trễ lớn do phải qua nhiều hop (bước nhảy giữa các node mạng).
  • Mong muốn: Giảm thiểu độ trễ bằng cách đi qua hạ tầng mạng AWS càng sớm càng tốt, tránh đi lòng vòng trên public internet.
  • Người dùng ở America, Europe, Australia đều phải đi qua nhiều hop trên public Internet để đến Public ALB (Application Load Balancer) đặt ở India.
  • Mỗi hop là một node mạng trung gian → cộng dồn độ trễ.
  • Vấn đề: Càng xa India, số lượng hop càng nhiều → latency càng cao → trải nghiệm người dùng kém.

Unicast IP vs Anycast IP

Unicast IP

  • Mỗi địa chỉ IP → gắn với đúng 1 server duy nhất.
  • Khi client request đến IP đó → bắt buộc phải đi đến đúng server đó, bất kể khoảng cách địa lý.

📌 Hệ quả:

  • Nếu server ở Ấn Độ và user ở Mỹ, thì request phải "đi" xuyên lục địa → latency cao do nhiều hop qua internet public.

Anycast IP

  • Tất cả server được triển khai ở nhiều vị trí khác nhau đều cùng sử dụng một IP duy nhất (VD: 12.34.56.78).
    • Trong mô hình của Anycast IP, điều đặc biệt là: Một địa chỉ IP (ví dụ: 12.34.56.78) được "gán chung" cho nhiều server khác nhau trên khắp thế giới.
    • Vậy làm sao không bị xung đột IP?
      • Anycast dựa vào định tuyến BGP (Border Gateway Protocol).
      • Các server (hoặc edge location) ở các vùng địa lý khác nhau cùng advertise (quảng bá) cùng một IP ra Internet thông qua BGP.
      • Khi client gửi request tới IP đó, routing trên internet (BGP) sẽ đưa gói tin đến server gần nhất về mặt mạng (network distance) — thường là edge location gần nhất.

📌 Hệ quả:

  • User ở Mỹ sẽ được route đến edge server ở Mỹ.
  • User ở Nhật sẽ được route đến edge ở Tokyo.
    → giảm số hop, giảm độ trễ cực mạnh.

AWS Global Accelerator

  • Tận dụng mạng nội bộ của AWS để định tuyến đến ứng dụng của bạn.
  • 2 địa chỉ Anycast IP được tạo ra cho ứng dụng của bạn.
  • Địa chỉ Anycast IP sẽ gửi traffic trực tiếp đến các Edge Location
  • Các Edge Location sẽ chuyển tiếp traffic đến ứng dụng của bạn.
  • User truy cập Anycast IP (Global Accelerator cấp)
    • Từ bất kỳ nơi nào (Mỹ, Úc, EU...), DNS sẽ resolve IP là 1 trong 2 Anycast IP được cấp.
    • BGP sẽ route packet đến edge location gần nhất (hop đầu tiên trong AWS infra).
  • Edge Location nhận traffic
    • Đây là điểm tiếp nhận tại biên giới hạ tầng AWS → gọi là POP (Point of Presence).
    • Tại đây, traffic được chuyển từ public internet sang private AWS network (AWS Global Network).
  • AWS backbone đưa traffic về ALB
    • Từ edge location, traffic đi trong mạng nội bộ của AWS (cực kỳ nhanh, ổn định, low-jitter).
    • Cuối cùng, nó tới Public ALB (India).

AWS Global Accelerator

  • Tương thích với: Elastic IP, EC2 instances, ALB, NLB, môi trường public hoặc private
  • Hiệu năng ổn định
    • Định tuyến thông minh đến khu vực có độ trễ thấp nhất và thực hiện failover nhanh giữa các khu vực
    • Không gặp vấn đề với bộ nhớ đệm phía client (vì IP không thay đổi)
    • Sử dụng mạng nội bộ AWS
  • Health Checks (Kiểm tra tình trạng hệ thống)
    • Global Accelerator thực hiện kiểm tra tình trạng các ứng dụng của bạn
    • Giúp đưa ứng dụng ra toàn cầu (failover xảy ra dưới 1 phút nếu hệ thống không khỏe)
    • Hữu ích cho kịch bản khôi phục thảm họa (disaster recovery) nhờ các health checks này
  • Bảo mật
    • Chỉ cần whitelist 2 địa chỉ IP bên ngoài
    • Được bảo vệ khỏi DDoS nhờ AWS Shield

AWS Global Accelerator và CloudFront

  • CloudFront
    • Cải thiện hiệu suất cho cả nội dung có thể cache (ví dụ: hình ảnh và video).
    • Hỗ trợ nội dung động (như tăng tốc API và phân phối trang web động).
    • Nội dung được phục vụ tại edge (các vị trí biên gần client nhất).
  • Global Accelerator
    • Cải thiện hiệu suất cho nhiều loại ứng dụng sử dụng giao thức TCP hoặc UDP.
    • Thực hiện proxy các gói tin tại edge tới các ứng dụng đang chạy ở một hoặc nhiều vùng (AWS Region).
    • Phù hợp với các trường hợp sử dụng non-HTTP, chẳng hạn như:
      • Gaming (UDP),
      • IoT (giao thức MQTT),
      • Voice over IP (VoIP).
    • Cũng phù hợp với các ứng dụng HTTP yêu cầu địa chỉ IP tĩnh.
Bạn thấy bài này thế nào?