EventBridge 就是 AWS 的事件中轉站。
當 AWS 裡面或外部系統發生某件事情時,EventBridge 可以接收這個事件, 再依照規則自動觸發其他 AWS 服務處理。
1. EventBridge 是什麼?
Amazon EventBridge 以前叫做 CloudWatch Events。 它的核心用途是接收事件,然後根據規則,把事件送到指定的目標服務。
你可以把它想成 AWS 裡的「事件路由中心」: 誰發生事情,EventBridge 收到後,就幫你轉交給該處理的服務。
2. 核心概念
| 項目 | 說明 |
|---|---|
| 舊名稱 | CloudWatch Events |
| 新名稱 | Amazon EventBridge |
| 核心用途 | 根據事件自動觸發後續動作 |
| 常見事件來源 | EC2、S3、CodeBuild、IAM、Trusted Advisor、排程事件 |
| 常見目標服務 | Lambda、SNS、SQS、Step Functions、ECS Task |
3. 常見使用場景
| 場景 | EventBridge 做什麼 |
|---|---|
| 每小時執行一次程式 | 用排程事件觸發 Lambda |
| 有人使用 root user 登入 | 偵測登入事件,透過 SNS 發 Email 通知 |
| S3 有新檔案 | 觸發 Lambda 進行檔案處理 |
| EC2 狀態改變 | 觸發通知或自動修復流程 |
| CodeBuild 完成 | 觸發下一步部署或通知 |
| Datadog 發出告警 | 透過 Partner Event Bus 送進 AWS 處理 |
| 自家系統訂單成立 | 透過 Custom Event Bus 發事件給其他系統 |
4. EventBridge 流程圖
5. 三種 Event Bus
| Event Bus 類型 | 用途 |
|---|---|
| Default Event Bus | 接收 AWS 服務本身產生的事件,例如 EC2、S3、IAM |
| Partner Event Bus | 接收 AWS 合作夥伴服務的事件,例如 Datadog、Zendesk |
| Custom Event Bus | 接收自己應用程式送出的自訂事件 |
6. 進階功能
| 功能 | 說明 |
|---|---|
| Schema Registry | 定義與查看事件格式,例如欄位、資料型態 |
| Archive | 把送進 Event Bus 的事件保存起來 |
| Replay | 把以前保存的事件重新送出,讓系統再次處理 |
7. 實務理解
EventBridge 的價值在於讓系統之間不用直接綁死。 A 系統只要發出事件,B 系統、C 系統、D 系統就可以依照規則各自處理。
這種設計很適合做自動化、通知、事件驅動架構、系統整合與排程任務。
8. 關鍵字整理
Event-driven Serverless cron job Default Event Bus Partner Event Bus Custom Event Bus Lambda SNS SQS Archive Replay
9. 最後總結
Amazon EventBridge 是 AWS 的事件整合服務。 它可以接收 AWS 服務、外部 SaaS 服務或自家應用程式的事件, 再依照規則觸發 Lambda、SNS、SQS 或其他 AWS 服務。
簡單講,它就是讓系統可以「事件一發生,就自動做事」的服務。
沒有留言:
張貼留言