Bỏ qua tới nội dung
CloudDojo
Phần 4/5 · 7 phút

Fan-out (SNS), event routing (EventBridge) và workflow orchestration (Step Functions)

0/11
Từ khóa của phần nàyChọn một từ để xem nghĩa trước khi đọc

Không phải mọi tương tác đều theo mô hình một producer, một consumer: có sự kiện cần gửi tới nhiều subscriber, có tác vụ chạy theo lịch, có workflow gồm nhiều bước nối tiếp.

Queue hoạt động theo mô hình một producer, một consumer xử lý mỗi message. MFTECH còn có các nhu cầu khác: một sự kiện cần thông báo tới nhiều thành phần, sự kiện phát sinh từ phần mềm bên ngoài, tác vụ chạy theo lịch, quy trình nhiều bước, hoặc ứng dụng cũ sử dụng giao thức riêng. Chọn tình huống và thay đổi cấu hình để so sánh:

Đơn #2045 đã thanh toán
Dịch vụ đơn hàngDịch vụ emailDịch vụ khođang bảo trìDịch vụ phân tích

Chọn tình huống, sau đó chọn nút để phát sự kiện. Thay đổi cấu hình và chạy lại để so sánh.

Mỗi sự kiện một kênh: loa phát thanh SNS tới nhiều queue, tổng đài EventBridge, quản đốc Step Functions, broker Amazon MQ.

Một số vấn đề MFTECH gặp phải khi vận hành thực tế:

  • SNS kích hoạt Lambda để gửi thông báo: trong mùa khuyến mãi, khi lượng gửi tăng gấp 50 lần, một phần thông báo không được phân phối. Nguyên nhân không nằm ở SNS mà do Lambda chạm concurrency quota của account trong Region. Giải pháp là yêu cầu tăng quota (xem bài Lambda).
  • Phát hiện các lệnh gọi API trái phép hàng loạt: chuyển log CloudTrail vào CloudWatch Logs, tạo metric filter đếm mã lỗi, đặt alarm trên metric đó, và cấu hình alarm gửi thông báo tới SNS topic của đội bảo mật.
  • SNS topic và SQS queue đều có resource policy. Để xác định tài nguyên nào đang cho phép account bên ngoài truy cập, IAM Access Analyzer phân tích các policy này và báo cáo kết quả.
  • Báo cáo kiểm toán chạy bằng Step Functions chỉ đọc dữ liệu hai lần mỗi năm nhưng cần truy xuất tức thì: lưu dữ liệu ở storage class dành cho dữ liệu ít truy cập (infrequent access). S3 Standard-IA được thiết kế cho dữ liệu truy cập khoảng một lần mỗi tháng; S3 Glacier Instant Retrieval dành cho dữ liệu truy cập khoảng một lần mỗi quý. Cả hai đều truy xuất trong mili giây, có availability thiết kế 99,9% và tính phí truy xuất theo GB; thời gian lưu tối thiểu lần lượt là 30 ngày và 90 ngày.
Ghi nhớ:
  • Một sự kiện, nhiều đích nhận: SNS fan-out tới nhiều SQS queue.
  • Sự kiện từ SaaS hoặc dịch vụ AWS, lọc theo nội dung: EventBridge.
  • Tác vụ theo lịch: EventBridge (Lambda cho tác vụ ngắn, Fargate cho tác vụ dài).
  • Quy trình nhiều bước có retry: Step Functions.
  • Ứng dụng cũ sử dụng broker ActiveMQ hoặc RabbitMQ, giao thức AMQP, MQTT, STOMP: Amazon MQ.
Part 4/5 · 7 phút

Fan-out (SNS), event routing (EventBridge) and workflow orchestration (Step Functions)

0/11
Từ khóa của phần nàyChọn một từ để xem nghĩa trước khi đọc

Not every interaction follows a one-producer, one-consumer model: some events must reach many subscribers, some tasks run on a schedule, and some workflows have several steps in sequence.

A queue follows a model in which one consumer processes each message. MFTECH has other needs too: one event must notify several components, events come from external software, jobs run on a schedule, workflows have several steps, or a legacy application uses its own protocol. Choose a scenario and change the setting to compare:

Đơn #2045 đã thanh toán
Dịch vụ đơn hàngDịch vụ emailDịch vụ khođang bảo trìDịch vụ phân tích

Chọn tình huống, sau đó chọn nút để phát sự kiện. Thay đổi cấu hình và chạy lại để so sánh.

Mỗi sự kiện một kênh: loa phát thanh SNS tới nhiều queue, tổng đài EventBridge, quản đốc Step Functions, broker Amazon MQ.

Some problems MFTECH ran into in real operation:

  • SNS invokes Lambda to send notifications: during the sales season, when sending volume grew 50-fold, some notifications were not delivered. The cause was not SNS but Lambda reaching the account’s concurrency quota in the Region. The solution is to request a quota increase (see the Lambda lesson).
  • Detecting mass unauthorized API calls: send CloudTrail logs to CloudWatch Logs, create a metric filter that counts the error codes, set an alarm on that metric, and configure the alarm to notify the security team’s SNS topic.
  • SNS topics and SQS queues both have resource policies. To identify which resources allow access from external accounts, IAM Access Analyzer analyzes these policies and reports its findings.
  • An audit report run by Step Functions reads its data only twice a year but needs immediate retrieval: store the data in a storage class for infrequently accessed data. S3 Standard-IA is designed for data accessed about once a month; S3 Glacier Instant Retrieval is for data accessed about once a quarter. Both retrieve in milliseconds, have a designed availability of 99.9% and charge a per-GB retrieval fee; their minimum storage durations are 30 days and 90 days respectively.
Ghi nhớ:
  • One event, many receivers: SNS fan-out to multiple SQS queues.
  • Events from SaaS or AWS services, filtered by content: EventBridge.
  • Scheduled jobs: EventBridge (Lambda for short jobs, Fargate for long jobs).
  • Multi-step workflows with retries: Step Functions.
  • Legacy applications using an ActiveMQ or RabbitMQ broker and the AMQP, MQTT or STOMP protocols: Amazon MQ.

Kiểm tra nhanh

Trả lời để ghi nhận đã đọc phần này. Câu trả lời sai sẽ được nhắc ôn lại vào những ngày sau.

Mỗi đơn hàng mới cần được gửi tới dịch vụ kho, dịch vụ email và dịch vụ phân tích, mỗi dịch vụ xử lý theo tốc độ riêng. Chọn gì?
Ứng dụng cũ của MFTECH dùng broker RabbitMQ với giao thức AMQP và cần chuyển lên AWS với ít thay đổi nhất. Chọn gì?

Đã trả lời 0/2 câu