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

DevOps On AWS 03: Elastic Load Balancer - Cân bằng tải cho ứng dụng hiện đại

0 0 2

Người đăng: Codeeasy

Theo Viblo Asia

Chào mừng bạn đến với phần 3 của series "DevOps On AWS"! Sau khi đã tìm hiểu về AWS và IAM cũng như EC2 Elastic Compute Cloud, hôm nay chúng ta sẽ khám phá một thành phần cực kỳ quan trọng trong kiến trúc ứng dụng hiện đại: Load Balancer và cụ thể là AWS Elastic Load Balancer.

Bài viết này sẽ đưa bạn từ những khái niệm cơ bản về cân bằng tải, các thuật toán load balancing, đến việc hiểu rõ các loại Elastic Load Balancer trên AWS và cách áp dụng trong các tình huống thực tế.

1. Load Balancing - Tại sao cần cân bằng tải?

Load Balancing Overview

1.1. Vấn đề của kiến trúc một máy chủ đơn

Hãy tưởng tượng bạn có một ứng dụng web đang chạy trên một máy chủ duy nhất. Ban đầu, với vài trăm người dùng, mọi thứ hoạt động hoàn hảo. Nhưng khi ứng dụng của bạn trở nên phổ biến và lưu lượng truy cập tăng lên gấp 10 lần, bạn sẽ gặp phải những vấn đề sau:

Hiệu suất bị giới hạn:

  • CPU và RAM của máy chủ sẽ bị quá tải
  • Thời gian phản hồi tăng lên đáng kể
  • Người dùng phải chờ đợi lâu hơn

Điểm lỗi đơn (Single Point of Failure):

  • Nếu máy chủ gặp sự cố, toàn bộ ứng dụng ngừng hoạt động
  • Bảo trì cần thời gian ngừng hoạt động
  • Không có khả năng chịu lỗi

Không thể mở rộng:

  • Mở rộng theo chiều dọc có giới hạn vật lý
  • Chi phí tăng theo cấp số nhân
  • Không linh hoạt trong việc điều chỉnh tài nguyên

1.2. Giải pháp: Mở rộng theo chiều ngang với Load Balancer

Load Balancer ra đời để giải quyết những vấn đề trên bằng cách:

Phân phối tải đều:

  • Chia lưu lượng truy cập đến nhiều máy chủ phía sau
  • Tối ưu hóa việc sử dụng tài nguyên
  • Tăng thông lượng tổng thể của hệ thống

Tăng độ tin cậy:

  • Nếu một máy chủ gặp sự cố, lưu lượng tự động chuyển sang máy chủ khác
  • Kiểm tra sức khỏe liên tục để phát hiện sự cố sớm
  • Bảo trì không cần thời gian ngừng hoạt động

Khả năng mở rộng linh hoạt:

  • Dễ dàng thêm/bớt máy chủ phía sau
  • Tự động mở rộng dựa trên các chỉ số
  • Chi phí tối ưu theo nhu cầu thực tế

2. Kiến trúc cân bằng tải: Mở rộng dọc vs Mở rộng ngang

2.1. Mở rộng theo chiều dọc (Scale Up)

Vertical Scaling

Mở rộng theo chiều dọc là việc nâng cấp phần cứng của máy chủ hiện tại để tăng khả năng xử lý.

Ưu điểm:

  • Đơn giản trong triển khai và quản lý
  • Không cần thay đổi kiến trúc ứng dụng
  • Phù hợp với ứng dụng cũ

Nhược điểm:

  • Có giới hạn về khả năng nâng cấp
  • Chi phí tăng theo cấp số nhân
  • Vẫn tồn tại điểm lỗi đơn
  • Thời gian ngừng hoạt động trong quá trình nâng cấp

Ví dụ thực tế:

  • Trước nâng cấp: t3.medium (2 vCPU, 4GB RAM) - $30/tháng
  • Sau nâng cấp: c5.2xlarge (8 vCPU, 16GB RAM) - $250/tháng

2.2. Mở rộng theo chiều ngang (Scale Out)

Horizontal Scaling

Mở rộng theo chiều ngang là việc thêm nhiều máy chủ có cấu hình tương tự để xử lý tải.

Ưu điểm:

  • Không có giới hạn về khả năng mở rộng
  • Chi phí tuyến tính
  • Khả năng chịu lỗi - một máy chủ lỗi không ảnh hưởng toàn hệ thống
  • Mở rộng linh hoạt lên/xuống

Nhược điểm:

  • Phức tạp hơn trong kiến trúc
  • Cần bộ cân bằng tải
  • Quản lý trạng thái phức tạp hơn
  • Độ trễ mạng giữa các node

Ví dụ thực tế:

  • 3x t3.medium instances: 3 × $30 = $90/tháng
  • Tăng lên 5x instances khi cần: 5 × $30 = $150/tháng

2.3. So sánh chi tiết

Tiêu chí Mở rộng dọc Mở rộng ngang
Độ phức tạp Thấp Cao
Chi phí Theo cấp số nhân Tuyến tính
Thời gian ngừng hoạt động Không
Khả năng chịu lỗi Thấp Cao
Giới hạn mở rộng Không
Quản lý Dễ Phức tạp
Hiệu suất Đơn luồng tốt Đa luồng tốt

3. Load Balancer vs API Gateway

3.1. Load Balancer

Mục đích chính: Phân phối lưu lượng truy cập vào các máy chủ phía sau

Hoạt động ở tầng:

  • Tầng 4 (Transport): TCP/UDP - định tuyến dựa trên IP và cổng
  • Tầng 7 (Application): HTTP/HTTPS - định tuyến dựa trên nội dung yêu cầu

Chức năng chính:

  • Phân phối tải theo các thuật toán
  • Kiểm tra sức khỏe
  • Terminate SSL
  • Duy trì phiên làm việc

3.2. API Gateway

Mục đích chính: Quản lý và điều phối các request API từ Client

Hoạt động ở tầng: Chỉ hoạt động ở Tầng 7 (Application)

Chức năng chính:

  • Xác thực và phân quyền
  • Giới hạn tần suất
  • Biến đổi yêu cầu/phản hồi
  • Quản lý phiên bản API
  • Giám sát và phân tích

3.3. So sánh chi tiết

Tiêu chí Load Balancer API Gateway
Mục đích chính Phân phối lưu lượng Quản lý API
Tầng OSI Tầng 4 & 7 Chỉ Tầng 7
Logic định tuyến Đơn giản (Round Robin, v.v.) Phức tạp (Đường dẫn, Header)
Xác thực Cơ bản Nâng cao (OAuth, JWT)
Giới hạn tần suất Cơ bản Nâng cao
Trường hợp sử dụng Phân phối lưu lượng cao Quản lý API

3.4. Khi nào sử dụng Load Balancer vs API Gateway?

Sử dụng Load Balancer khi:

  • Cần phân phối lưu lượng đến nhiều services
  • Tập trung vào hiệu suất và tính khả dụng
  • Yêu cầu định tuyến đơn giản
  • Lưu lượng TCP/UDP

Sử dụng API Gateway khi:

  • Kiến trúc microservices
  • Cần các tính năng quản lý API
  • Xác thực/phân quyền phức tạp
  • Quản lý phiên bản và biến đổi API

Sử dụng cả hai khi:

  • Microservices quy mô lớn
  • API Gateway ở phía trước cho quản lý API
  • Load Balancer ở phía sau cho mỗi microservice

3.5. Kong Gateway trong hệ sinh thái

Nếu bạn đang tìm hiểu về giải pháp tự triển khai API Gateway ở tầng ứng dụng thay vì sử dụng dịch vụ quản lý của AWS, Kong Gateway là một lựa chọn mạnh mẽ và phổ biến. Kong kết hợp cả chức năng của Load Balancer và API Gateway trong một nền tảng thống nhất.

Tôi đã viết một bài chi tiết về Kong Gateway và cách triển khai trong môi trường microservices tại: API Gateway với Kong - Giải pháp toàn diện cho Microservices

Kong Gateway cung cấp:

  • Cân bằng tải với nhiều thuật toán
  • Tính năng quản lý API nâng cao
  • Hệ sinh thái plugin phong phú (150+ plugin)
  • Hiệu suất cao (xây dựng trên Nginx)

4. Các thuật toán Load Balancing

4.1. Round Robin

Round Robin

Cách hoạt động: Phân phối các yêu cầu tuần tự đến từng máy chủ theo thứ tự.

Ưu điểm:

  • Đơn giản, dễ triển khai
  • Phân phối đều các yêu cầu
  • Không cần theo dõi trạng thái máy chủ

Nhược điểm:

  • Không xem xét dung lượng máy chủ
  • Có thể quá tải máy chủ yếu hơn

Ví dụ phân phối:

  • Yêu cầu 1 → Máy chủ A
  • Yêu cầu 2 → Máy chủ B
  • Yêu cầu 3 → Máy chủ C
  • Yêu cầu 4 → Máy chủ A (lặp lại)

Trường hợp sử dụng: Khi tất cả máy chủ có cấu hình tương đương

4.2. Weighted Round Robin

Weighted Round Robin

Cách hoạt động: Tương tự Round Robin nhưng có trọng số cho mỗi máy chủ.

Ví dụ cấu hình:

  • Máy chủ A: Trọng số = 3
  • Máy chủ B: Trọng số = 2
  • Máy chủ C: Trọng số = 1

Phân phối lưu lượng:

  • 3 yêu cầu đầu tiên → Máy chủ A
  • 2 yêu cầu tiếp theo → Máy chủ B
  • 1 yêu cầu cuối → Máy chủ C

Trường hợp sử dụng: Khi máy chủ có dung lượng khác nhau

4.3. Least Connections

Least Connections

Cách hoạt động: Gửi yêu cầu đến máy chủ có ít kết nối hoạt động nhất.

Ưu điểm:

  • Tốt cho các kết nối dài hạn
  • Tự động thích ứng với tải máy chủ
  • Phân phối hiệu suất tốt hơn

Nhược điểm:

  • Nếu req lên quá nhanh thì sẽ không đếm kịp connection dẫn đến quá tải service ít connection đó ngay lập tức
  • Phức tạp hơn trong triển khai
  • Cần theo dõi trạng thái kết nối

Trường hợp sử dụng: Kết nối WebSocket, kết nối cơ sở dữ liệu

4.4. Least Response Time

Cách hoạt động: Gửi yêu cầu đến máy chủ có thời gian phản hồi thấp nhất.

Chỉ số được theo dõi:

  • Thời gian phản hồi trung bình
  • Kết nối hoạt động hiện tại
  • Trạng thái sức khỏe máy chủ

Thuật toán: Máy chủ tốt nhất = MIN(Thời gian phản hồi + Kết nối hoạt động)

Trường hợp sử dụng: Ứng dụng quan trọng về hiệu suất

4.5. IP Hash

Cách hoạt động: Sử dụng hash của IP ứng dụng khách để quyết định máy chủ.

Hàm hash: Máy chủ = hash(IP_Client) % số_lượng_máy_chủ

Ưu điểm:

  • Duy trì phiên làm việc mà không cần sticky sessions
  • Định tuyến xác định
  • Triển khai đơn giản

Nhược điểm:

  • Phân phối không đều nếu có NAT
  • Khó thêm/bớt máy chủ

Trường hợp sử dụng: Ứng dụng dựa trên phiên làm việc không có lưu trữ chung

4.6. Thuật toán dựa trên Health Check

Kiểm tra sức khỏe chủ động:

  • Bộ cân bằng tải chủ động ping đến endpoint để kiểm tra sức khỏe
  • Endpoint kiểm tra sức khỏe HTTP (ví dụ: GET /health)
  • Mong đợi phản hồi 200 OK với payload JSON

Kiểm tra sức khỏe thụ động:

  • Giám sát lỗi yêu cầu thực tế
  • Theo dõi mã phản hồi và thời gian chờ
  • Tự động đánh dấu máy chủ không khỏe mạnh

5. AWS Elastic Load Balancer (ELB)

AWS ELB Types

AWS cung cấp ba loại Elastic Load Balancer, mỗi loại phục vụ cho các trường hợp sử dụng khác nhau:

5.1. Application Load Balancer (ALB)

Hoạt động ở Layer 7 (Application)

Tính năng chính:

  • Lưu lượng HTTP/HTTPS
  • Định tuyến dựa trên đường dẫn và máy chủ
  • Hỗ trợ WebSocket và HTTP/2
  • Tích hợp với các dịch vụ AWS
  • Định tuyến yêu cầu nâng cao

Ví dụ quy tắc định tuyến:

Giá cả (us-east-1):

  • $0.0225 mỗi giờ
  • $0.008 mỗi LCU (Load Balancer Capacity Unit)

5.2. Network Load Balancer (NLB)

Hoạt động ở Layer 4 (Transport)

Tính năng chính:

  • Lưu lượng TCP/UDP/TLS
  • Hiệu suất cực cao (hàng triệu yêu cầu/giây)
  • Địa chỉ IP tĩnh
  • Bảo toàn IP nguồn
  • Độ trễ thấp

Trường hợp sử dụng:

  • Ứng dụng trò chơi
  • Thiết bị IoT
  • Nền tảng giao dịch tài chính
  • Ứng dụng thời gian thực

Giá cả (us-east-1):

  • $0.0225 mỗi giờ
  • $0.006 mỗi NLCU (Network Load Balancer Capacity Unit)

5.3. Classic Load Balancer (CLB)

Bộ cân bằng tải cũ

Tính năng:

  • Layer 4 và Layer 7
  • Hỗ trợ EC2-Classic và VPC
  • Cân bằng tải cơ bản

⚠️ Đã lỗi thời: AWS khuyến nghị chuyển sang ALB hoặc NLB

5.4. So sánh chi tiết các loại ELB

Tính năng ALB NLB CLB
Tầng OSI Tầng 7 Tầng 4 Tầng 4 & 7
Giao thức HTTP, HTTPS, gRPC TCP, UDP, TLS HTTP, HTTPS, TCP, SSL
IP tĩnh Không Không
WebSocket Không
Định tuyến theo đường dẫn Không Không
Định tuyến theo máy chủ Không Không
Hiệu suất Cao Cực cao Trung bình
Giá cả $0.0225/giờ + LCU $0.0225/giờ + NLCU $0.025/giờ + dữ liệu
Kết thúc SSL
Kiểm tra sức khỏe Nâng cao Cơ bản Cơ bản

7. Các tình huống thực tế và mô hình giải pháp

7.1. Tình huống 1: Thương mại điện tử với đột biến lưu lượng

Bài toán:

  • Website bán hàng với lưu lượng bình thường 1,000 yêu cầu/giây
  • Trong các sự kiện sale có thể tăng lên 50,000 yêu cầu/giây
  • Cần đảm bảo thời gian hoạt động 99.99%

Mô hình kiến trúc đề xuất:

CloudFront CDN (CDN) ↓
Application Load Balancer ↓
Auto Scaling Group ↓
RDS với Read Replicas + ElastiCache Redis

Thành phần chính:

  • CloudFront CDN: Lưu cache nội dung tĩnh toàn cầu
  • Application Load Balancer: Phân phối lưu lượng đều
  • Auto Scaling Group: Tự động mở rộng dựa trên CPU/yêu cầu
  • RDS Read Replicas: Mở rộng đọc cơ sở dữ liệu
  • ElastiCache: Lưu cache dữ liệu truy cập thường xuyên

Chiến lược tự động mở rộng:

  • Chính sách theo dõi mục tiêu dựa trên sử dụng CPU (70%)
  • Mở rộng từ từ cho đột biến lưu lượng nhanh
  • Mở rộng theo lịch cho các sự kiện có thể dự đoán

7.2. Tình huống 2: Microservices với nhiều môi trường

Bài toán:

  • 15 microservices
  • 3 môi trường: develop, staging,production
  • Cần endpoint dựa trên dịch vụ và môi trường

Mô hình nhiều ALB:

Môi trường develop:
├── ALB develop
│ ├── api.prod.company.com/orders/* → Dịch vụ đơn hàng │ ├── api.prod.company.com/payments/* → Dịch vụ thanh toán
│ └── api.prod.company.com/notifications/* → Dịch vụ thông báo Môi trường Staging:
├── ALB Staging
│ ├── api.staging.company.com/users/* → Dịch vụ người dùng (Staging)
│ ├── api.staging.company.com/orders/* → Dịch vụ đơn hàng (Staging)
│ └── ...

Hạ tầng dưới dạng mã:

  • Sử dụng Terraform để quản lý nhiều môi trường
  • ALB riêng biệt cho mỗi môi trường
  • Module chia sẻ để tái sử dụng
  • Biến cụ thể cho môi trường

7.3. Tình huống 3: Ứng dụng trò chơi với lưu lượng UDP

Bài toán:

  • Trò chơi nhiều người chơi thời gian thực
  • Giao thức UDP cho dữ liệu trò chơi
  • TCP cho sảnh/ghép cặp
  • Cần bảo toàn IP ứng dụng khách

Mô hình Network Load Balancer:

Cổng Internet ↓
Network Load Balancer
├── UDP Listener (Cổng 7777) → Máy chủ trò chơi
└── TCP Listener (Cổng 8080) → Máy chủ sảnh

Đặc điểm:

  • NLB bảo toàn IP nguồn cho hệ thống chống gian lận
  • Độ trễ cực thấp cho trò chơi thời gian thực
  • Địa chỉ IP tĩnh cho cấu hình ứng dụng khách
  • Cân bằng tải cross-zone cho tính khả dụng cao

8. Chiến lược Health Checks và giám sát

8.1. Thực hành tốt nhất cấu hình Health Check

Thiết kế kiểm tra sức khỏe HTTP:

  • Endpoint sức khỏe chuyên dụng (/health, /healthcheck)
  • Kiểm tra các dependence downstream (cơ sở dữ liệu, cache, API ngoại)
  • Trả về JSON có cấu trúc với trạng thái chi tiết
  • Sử dụng mã trạng thái HTTP phù hợp (200, 503)

Ví dụ điểm cuối Health Check nâng cao:

  • Kiểm tra kết nối cơ sở dữ liệu
  • Xác minh tính khả dụng của Redis/cache
  • Xác thực khả năng truy cập API ngoại
  • Giám sát dung lượng đĩa và sử dụng bộ nhớ
  • Trả về phiên bản dịch vụ và thời gian hoạt động

8.2. CloudWatch Metrics và giám sát

Chỉ số chính cần giám sát:

  • RequestCount: Tổng số yêu cầu
  • TargetResponseTime: Thời gian phản hồi trung bình từ mục tiêu
  • HTTPCode_Target_2XX_Count: Phản hồi thành công
  • HTTPCode_Target_5XX_Count: Lỗi máy chủ
  • HealthyHostCount/UnHealthyHostCount: Trạng thái sức khỏe mục tiêu
  • TargetConnectionErrorCount: Lỗi kết nối

Thiết lập cảnh báo CloudWatch:

  • Cảnh báo thời gian phản hồi cao (> 2 giây)
  • Cảnh báo mục tiêu không khỏe mạnh (> 0 mục tiêu không khỏe)
  • Cảnh báo tỷ lệ lỗi cao (lỗi 5XX > 5%)
  • Cảnh báo số lượng máy chủ khỏe mạnh thấp

8.3. Phân tích Access Logs

Bật Access Logs của ALB:

  • Lưu trữ nhật ký trong S3 bucket
  • Sử dụng chính sách vòng đời cho tối ưu chi phí
  • Định dạng nhật ký có cấu trúc cho phân tích

Phân tích nhật ký với AWS Athena:

  • Truy vấn các yêu cầu chậm (thời gian phản hồi > 5 giây)
  • Phân tích mẫu lưu lượng theo giờ/ngày
  • Xác định user agent và địa chỉ IP hàng đầu
  • Giám sát phân phối địa lý của các yêu cầu

9. Thực hành tốt nhất về bảo mật

Security Group của ALB:

  • Cho phép HTTP (cổng 80) và HTTPS (cổng 443) từ Internet (0.0.0.0/0)
  • Cho phép lưu lượng kiểm tra sức khỏe
  • Từ chối tất cả lưu lượng đến khác

Security Group của mục tiêu:

  • Chỉ cho phép lưu lượng từ security group của ALB
  • Chỉ định cổng chính xác (80, 8080, v.v.)
  • Không truy cập Internet trực tiếp
  • Cho phép lưu lượng đi cho các API ngoại

10. Chiến lược tối ưu chi phí

10.1. Hiểu mô hình giá ALB

Thành phần giá ALB:

  • Chi phí cố định: $0.0225 mỗi giờ = $16.20 mỗi tháng
  • Chi phí biến đổi: $0.008 mỗi LCU

Yếu tố tính toán LCU:

  • Kết nối mới: 25 kết nối/giây mỗi LCU
  • Kết nối hoạt động: 3,000 kết nối/phút mỗi LCU
  • Băng thông: 1 GB/giờ cho mục tiêu EC2 mỗi LCU
  • Đánh giá quy tắc: 1,000 đánh giá/giây mỗi LCU

Ví dụ tính toán chi phí: Tình huống: Website thương mại điện tử

  • 100 kết nối mới/giây = 4 LCU
  • 10,000 kết nối hoạt động/phút = 3.33 LCU
  • 500 MB/giờ băng thông = 0.5 LCU
  • 2,000 đánh giá quy tắc/giây = 2 LCU

Chiều cao nhất: 4 LCU Chi phí hàng tháng: $16.20 + (4 × $0.008 × 24 × 30) = $39.24

10.2. Kỹ thuật tối ưu

1. Điều chỉnh kích thước Target Groups:

  • Sử dụng phiên bản nhỏ hơn với Auto Scaling
  • Thay vì: 4x phiên bản c5.2xlarge ($1,000/tháng)
  • Dùng: 8x phiên bản c5.large với Auto Scaling ($520/tháng - tiết kiệm 48%)

2. Chiến lược Reserved Instances:

  • Mua RI cho dung lượng cơ sở
  • Sử dụng On-Demand cho lưu lượng cao điểm
  • Kết hợp điều khoản 1 năm và 3 năm

3. Tích hợp Spot Instances:

  • Các loại phiên bản hỗn hợp trong Auto Scaling Group
  • 30% On-Demand cho cơ sở
  • 70% Spot Instances cho dung lượng bổ sung
  • Chiến lược phân bổ đa dạng

Kết luận

Elastic Load Balancer là xương sống của kiến trúc cloud hiện đại trên AWS. Qua bài viết này, chúng ta đã khám phá:

🎯 Kiến thức cốt lõi:

  • Khái niệm Load Balancing và sự cần thiết trong mở rộng theo chiều ngang
  • Sự khác biệt Tầng 4 vs Tầng 7 trong cân bằng tải
  • Thuật toán cân bằng tải và các trường hợp sử dụng phù hợp
  • So sánh Load Balancer vs API Gateway

⚙️ Tìm hiểu sâu AWS ELB:

  • Application Load Balancer (ALB) cho HTTP/HTTPS với định tuyến nâng cao
  • Network Load Balancer (NLB) cho hiệu suất cực cao TCP/UDP
  • Mẫu triển khai thực tế và quyết định kiến trúc
  • Chiến lược Health checks và giám sát

💼 Ứng dụng kinh doanh:

  • Kỹ thuật tối ưu chi phí và hiểu biết về giá cả
  • Thực hành tốt nhất về bảo mật với WAF và Security Groups
  • Nhiều tình huống thực tế từ thương mại điện tử đến trò chơi

Xem nhiều hơn bài viết của tôi tại đây nhé: codeeasy.blog

Tags: #AWS #DevOps #LoadBalancer #ELB #CloudArchitecture #Infrastructure

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 83

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

Giới thiệu về AWS Batch

Khi sử dụng hệ thống cloud service, điều chúng ta thường phải quan tâm đến không chỉ là hiệu suất hoạt động (performance) mà còn phải chú ý đến cả chi phí bỏ ra để duy trì hoạt động của hệ thống. Chắn hẳn là hệ thống lớn hay nhỏ nào cũng đã từng phải dùng đến những instance chuyên để chạy batch thực

0 0 155

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

Tìm hiểu về AWS KMS

1. AWS KMS là gì. Ở KMS bạn có thể lựa chọn tạo symetric key (khóa đối xứng) hoặc asymetric key (khóa bất đối xứng) để làm CMK (Customer Master Key). Sau khi tạo key thì có thể thiết đặt key policy để control quyền access và sử dụng key.

0 0 76

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

AWS VPC cho người mới bắt đầu

Tuần này, tôi trình bày lại những gì tôi đã học được về Virtual Private Cloud (VPC) của Amazon. Nếu bạn muốn xem những gì tôi đã học được về AWS, hãy xem Tổng quan về DynamoDB và Tổng quan về S3. VPC là gì. Những điều cần lưu ý:.

0 0 97

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

AWS Essentials (Phần 6): Guildline SNS Basic trên AWS

Tiếp tục với chuỗi bài viết về Basic AWS Setting, chúng ta tiếp tục tìm hiểu tiếp tới SNS (Simple Notification Service). Đây là một service của AWS cho phép người dùng setting thực hiện gửi email, text message hay push notification tự động tới mobile device dựa trên event người dùng setting phía AWS

0 0 159

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

Sử dụng Amazon CloudFront Content Delivery Network với Private S3 Bucket — Signing URLs

Trong nhiều trường hợp, thì việc sử dụng CDN là bắt buộc. Mình đã trải nghiệm với một số CDN nhưng cuối cùng mình lựa chọn sử dụng AWS CloudFront.

0 0 129