🚀 KIẾN TRÚC AWS NÂNG CAO: EVENT-DRIVEN, BẢO MẬT MẠNG, HPC & HIGH AVAILABILITY EC2
Khi xây dựng hệ thống lớn trên AWS, kiến trúc không chỉ dừng lại ở EC2 hay VPC, mà cần kết hợp event-driven architecture, xử lý bất đồng bộ, bảo mật truy cập, tính toán hiệu năng cao (HPC) và high availability.
Nội dung dưới đây tổng hợp những mảnh ghép kiến trúc quan trọng mà Solution Architect bắt buộc phải nắm.
1️⃣ Kiến trúc Event-Driven với Lambda, SNS và SQS
AWS cung cấp nhiều dịch vụ để xây dựng hệ thống xử lý bất đồng bộ (asynchronous), giúp ứng dụng mở rộng tốt – chịu lỗi cao – không bị blocking. 🔹 Amazon SQS
SQS là hàng đợi tin nhắn, cho phép:
Với SQS FIFO, message được xử lý đúng thứ tự, nhưng nếu message lỗi, queue có thể bị blocking, do đó DLQ cực kỳ quan trọng.
🔹 Lambda + SQS
Lambda có thể đọc message từ SQS:
🔹 Amazon SNS
SNS dùng để fan-out message:
Đây là mô hình phổ biến khi một sự kiện cần xử lý bởi nhiều hệ thống khác nhau.
2️⃣ Fan-Out Pattern – Một sự kiện, nhiều hệ thống xử lý
Trong fan-out pattern:
Ví dụ:
👉 Các hệ thống độc lập, không ảnh hưởng lẫn nhau.
3️⃣ S3 Event Notifications – Xử lý khi có file trong S3
Amazon S3 có thể phát sinh sự kiện khi:
Sự kiện có thể gửi đến:
Use case điển hình:
S3 event thường đến trong vài giây, nhưng đôi khi có thể trễ hơn.
4️⃣ S3 Event + Amazon EventBridge – Kiến trúc nâng cao
Thay vì gửi trực tiếp từ S3 sang Lambda/SQS, ta có thể dùng Amazon EventBridge.
EventBridge cho phép:
👉 Đây là kiến trúc event-driven chuẩn enterprise.
5️⃣ EventBridge bắt API Call từ CloudTrail
EventBridge có thể:
Rất hữu ích cho:
6️⃣ API Gateway tích hợp trực tiếp dịch vụ AWS
API Gateway có thể gọi thẳng dịch vụ AWS mà không cần Lambda.
Ví dụ:
👉 Giảm latency, giảm chi phí Lambda, kiến trúc gọn nhẹ.
7️⃣ Chiến lược Caching – Giảm latency, giảm chi phí
Caching có thể áp dụng ở nhiều lớp:
Mục tiêu:
8️⃣ Chặn IP – Các cấp độ bảo mật mạng
🔹 Ở mức EC2
👉 NACL thường không hiệu quả trong việc chặn IP theo kiến trúc hiện đại.
9️⃣ High Performance Computing (HPC) trên AWS
AWS là nền tảng lý tưởng cho HPC vì:
🔹 Compute & Networking cho HPC
🔹 Storage cho HPC
🔹 Automation cho HPC
🔟 High Availability cho EC2
🔹 EC2 + Elastic IP
Khi xây dựng hệ thống lớn trên AWS, kiến trúc không chỉ dừng lại ở EC2 hay VPC, mà cần kết hợp event-driven architecture, xử lý bất đồng bộ, bảo mật truy cập, tính toán hiệu năng cao (HPC) và high availability.
Nội dung dưới đây tổng hợp những mảnh ghép kiến trúc quan trọng mà Solution Architect bắt buộc phải nắm.
1️⃣ Kiến trúc Event-Driven với Lambda, SNS và SQS
AWS cung cấp nhiều dịch vụ để xây dựng hệ thống xử lý bất đồng bộ (asynchronous), giúp ứng dụng mở rộng tốt – chịu lỗi cao – không bị blocking. 🔹 Amazon SQS
SQS là hàng đợi tin nhắn, cho phép:
- Producer gửi message
- Consumer poll message để xử lý
- Hỗ trợ retry tự động
- Có Dead Letter Queue (DLQ) để lưu message lỗi
Với SQS FIFO, message được xử lý đúng thứ tự, nhưng nếu message lỗi, queue có thể bị blocking, do đó DLQ cực kỳ quan trọng.
🔹 Lambda + SQS
Lambda có thể đọc message từ SQS:
- Lambda thất bại → AWS tự retry
- Retry nhiều lần không thành → message đẩy sang DLQ
- Kiến trúc này giúp xử lý tải lớn mà không mất message
🔹 Amazon SNS
SNS dùng để fan-out message:
- Một message gửi đi
- Nhiều subscriber cùng nhận
- Subscriber có thể là SQS, Lambda, HTTP endpoint
Đây là mô hình phổ biến khi một sự kiện cần xử lý bởi nhiều hệ thống khác nhau.
2️⃣ Fan-Out Pattern – Một sự kiện, nhiều hệ thống xử lý
Trong fan-out pattern:
- Ứng dụng gửi message lên SNS
- SNS phân phối message đến nhiều SQS khác nhau
- Mỗi SQS phục vụ một mục đích riêng
Ví dụ:
- SQS #1 xử lý billing
- SQS #2 xử lý email
- SQS #3 xử lý analytics
👉 Các hệ thống độc lập, không ảnh hưởng lẫn nhau.
3️⃣ S3 Event Notifications – Xử lý khi có file trong S3
Amazon S3 có thể phát sinh sự kiện khi:
- Object được upload
- Object bị xóa
- Object được restore
- Replication xảy ra
Sự kiện có thể gửi đến:
- SQS
- SNS
- Lambda
Use case điển hình:
- Upload ảnh → Lambda tạo thumbnail
- Upload file → trigger pipeline xử lý dữ liệu
S3 event thường đến trong vài giây, nhưng đôi khi có thể trễ hơn.
4️⃣ S3 Event + Amazon EventBridge – Kiến trúc nâng cao
Thay vì gửi trực tiếp từ S3 sang Lambda/SQS, ta có thể dùng Amazon EventBridge.
EventBridge cho phép:
- Bắt tất cả sự kiện của S3
- Lọc nâng cao bằng JSON (metadata, kích thước file, tên object)
- Gửi đến nhiều đích: Step Functions, Kinesis, Lambda…
- Lưu trữ (archive) và replay lại sự kiện
👉 Đây là kiến trúc event-driven chuẩn enterprise.
5️⃣ EventBridge bắt API Call từ CloudTrail
EventBridge có thể:
- Lắng nghe mọi API call thông qua CloudTrail
- Phát hiện hành động nhạy cảm như DeleteTable
- Gửi cảnh báo qua SNS
- Ghi log vào DynamoDB hoặc hệ thống giám sát
Rất hữu ích cho:
- Security monitoring
- Audit
- Alert realtime
6️⃣ API Gateway tích hợp trực tiếp dịch vụ AWS
API Gateway có thể gọi thẳng dịch vụ AWS mà không cần Lambda.
Ví dụ:
- Client gửi request
- API Gateway đẩy record vào Kinesis Data Streams
- Firehose ghi dữ liệu JSON vào S3
👉 Giảm latency, giảm chi phí Lambda, kiến trúc gọn nhẹ.
7️⃣ Chiến lược Caching – Giảm latency, giảm chi phí
Caching có thể áp dụng ở nhiều lớp:
- CloudFront cache tại edge
- API Gateway cache
- Redis / Memcached / DAX
- Cache dữ liệu tĩnh trong S3
Mục tiêu:
- Giảm truy cập DB
- Giảm computation
- Tăng tốc độ phản hồi
- Giảm chi phí vận hành
8️⃣ Chặn IP – Các cấp độ bảo mật mạng
🔹 Ở mức EC2
- Security Group
- NACL
- Firewall trong instance
- ALB: dùng Security Group
- NLB: không có SG, passthrough IP client
- Chặn IP
- Filter theo rule
- Bảo vệ layer 7
- Chặn IP từ edge
- Geo restriction
- Hiệu quả nhất cho hệ thống public
👉 NACL thường không hiệu quả trong việc chặn IP theo kiến trúc hiện đại.
9️⃣ High Performance Computing (HPC) trên AWS
AWS là nền tảng lý tưởng cho HPC vì:
- Scale tài nguyên cực nhanh
- Trả tiền theo mức sử dụng
- Phù hợp cho genomics, ML, tài chính, dự báo thời tiết
🔹 Compute & Networking cho HPC
- EC2 CPU/GPU optimized
- Spot Instances tiết kiệm chi phí
- Placement Group (cluster) cho low latency
- Enhanced Networking (ENA)
- Elastic Fabric Adapter (EFA) cho Linux, hỗ trợ MPI
🔹 Storage cho HPC
- EBS io2 Block Express: IOPS cực cao
- Instance Store: latency thấp, gắn trực tiếp EC2
- FSx for Lustre: file system tối ưu HPC, hàng triệu IOPS, backend S3
🔹 Automation cho HPC
- AWS Batch chạy job song song
- AWS ParallelCluster dựng cluster HPC tự động
- Có thể bật EFA để tối ưu network
🔟 High Availability cho EC2
🔹 EC2 + Elastic IP
- Khi EC2 lỗi → instance khác attach Elastic IP
- Dùng CloudWatch Event/Alarm
- ASG duy trì 1 instance
- EC2 User Data tự động attach Elastic IP
- Hoạt động đa AZ
- Snapshot EBS khi instance terminate
- Tạo và attach EBS mới khi instance launch
- Đảm bảo dữ liệu không mất