Mục lục bài viết
- Giới thiệu
- Kiến Trúc Tổng Quan
- Tính Năng Chính
- Cấu Hình và Triển Khai
- Xử Lý Lỗi và Retry
- Lưu Ý Quan Trọng
- Vùng Sẵn Sàng
- Các Headers Không Được Phép Override
- Headers Tự Động Bị Loại Bỏ
- Kết Luận
- Tài Liệu Tham Khảo
Giới thiệu
Amazon EventBridge API Destinations là một tính năng mạnh mẽ cho phép bạn kết nối và định tuyến các sự kiện giữa các dịch vụ AWS, ứng dụng SaaS và các ứng dụng công cộng hoặc riêng tư thông qua các cuộc gọi API. Trong bài viết này, chúng ta sẽ đi sâu vào chi tiết kỹ thuật của API Destinations và tính năng mới nhất – OAuth token refresh tự động.
Nguồn bài viết: https://aws.amazon.com/about-aws/whats-new/2024/12/amazon-eventbridge-api-oauth-token-refresh
Kiến Trúc Tổng Quan
API Destinations hoạt động như một cầu nối giữa AWS EventBridge và các endpoint HTTPS bên ngoài. Khi một sự kiện phù hợp với pattern được định nghĩa trong rule hoặc pipe, EventBridge sẽ gọi endpoint HTTPS được chỉ định và gửi thông tin sự kiện trong request.

Tính Năng Chính
1. Hỗ Trợ Đa Dạng Phương Thức HTTP
API Destinations cho phép sử dụng tất cả các phương thức HTTP ngoại trừ CONNECT và TRACE. Phổ biến nhất là:
- PUT
- POST
2. Xử Lý Authorization
API Destinations sử dụng connections để định nghĩa:
- Phương thức xác thực
- Thông tin đăng nhập
- Kết nối mạng
3. Tính Năng Mới: OAuth Token Refresh Chủ Động
Tính năng mới được công bố vào tháng 12/2024 cho phép:
- Tự động làm mới token OAuth khi gần hết hạn
- Hỗ trợ cả endpoint OAuth công cộng và riêng tư
- Giảm thiểu lỗi xác thực và độ trễ
- Không phát sinh chi phí bổ sung
Cấu Hình và Triển Khai
Service-Linked Role
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:CreateSecret",
"secretsmanager:UpdateSecret",
"secretsmanager:DescribeSecret",
"secretsmanager:DeleteSecret",
"secretsmanager:GetSecretValue",
"secretsmanager:PutSecretValue"
],
"Resource": "arn:aws:secretsmanager:*:*:secret:events!connection/*"
}
]
}
Headers Mặc Định
API Destinations tự động bao gồm các headers sau trong mỗi request:
User-Agent: Amazon/EventBridge/ApiDestinations
Content-Type: application/json; charset=utf-8
Range: bytes=0-1048575
Accept-Encoding: gzip,deflate
Connection: close
Content-Length: <size-in-bytes>
Host: <server-host-and-port>
Xử Lý Lỗi và Retry
Mã Lỗi và Chính Sách Retry
- Retry tự động cho mã lỗi: 401, 407, 409, 429, và 5xx
- Không retry cho mã lỗi: 1xx, 2xx, 3xx, và các mã 4xx khác
- Hỗ trợ header Retry-After
- Thời gian retry tối đa: 24 giờ
- Số lần retry mặc định: 185 lần
Dead-Letter Queue
Để tránh mất sự kiện, bạn nên cấu hình Dead-Letter Queue (DLQ) để:
- Lưu trữ các sự kiện không thể gửi thành công
- Xử lý lại các sự kiện thất bại sau này
- Đảm bảo không mất dữ liệu
Lưu Ý Quan Trọng
1. Timeout
- Thời gian timeout tối đa cho mỗi request là 5 giây
- Requests vượt quá 5 giây sẽ bị hủy và retry
2. Rate Limiting
- Cần cấu hình invocation rate phù hợp với lượng sự kiện
- Tránh tình trạng tồn đọng sự kiện quá 24 giờ
3. Chứng chỉ và Bảo Mật
- Chỉ hỗ trợ tên miền công cộng với chứng chỉ tin cậy
- Không hỗ trợ mutual TLS (mTLS)
Vùng Sẵn Sàng
API Destinations hiện có sẵn tại các vùng AWS sau:
Châu Mỹ
- US East (N. Virginia)
- US East (Ohio)
- US West (N. California)
- US West (Oregon)
- Canada (Central)
- South America (São Paulo)
Châu Âu
- Europe (Frankfurt)
- Europe (Ireland)
- Europe (London)
- Europe (Milan)
- Europe (Paris)
- Europe (Stockholm)
Châu Á – Thái Bình Dương
- Asia Pacific (Hong Kong)
- Asia Pacific (Mumbai)
- Asia Pacific (Osaka)
- Asia Pacific (Seoul)
- Asia Pacific (Singapore)
- Asia Pacific (Sydney)
- Asia Pacific (Tokyo)
Khác
- Africa (Cape Town)
- China (Ningxia)
- China (Beijing)
Các Headers Không Được Phép Override
API Destinations không cho phép override các headers sau:
- User-Agent
- Range
Headers Tự Động Bị Loại Bỏ
EventBridge sẽ tự động loại bỏ một số headers để đảm bảo tính bảo mật và hiệu suất, bao gồm:
- A-IM
- Accept-Charset
- Accept-Datetime
- Cache-Control
- Content-MD5
- Expect
- From
- If-Match
- Max-Forwards
- Pragma
- TE
- Warning (và nhiều headers khác…)
Kết Luận
Amazon EventBridge API Destinations là một giải pháp mạnh mẽ cho việc tích hợp event-driven giữa các dịch vụ. Với tính năng OAuth token refresh mới, service này càng trở nên đáng tin cậy và dễ dàng quản lý hơn. Việc hiểu rõ các khía cạnh kỹ thuật và best practices sẽ giúp bạn triển khai thành công và tối ưu hiệu suất cho hệ thống của mình.
Tài Liệu Tham Khảo
- Amazon EventBridge API Destinations Documentation
- AWS IAM User Guide
- AWS Secrets Manager Documentation
Để lại một bình luận