Amazon SNS VS Amazon SES VS Amazon SQS

更新 發佈閱讀 5 分鐘

簡單的一句話區分:

  • SQS (Queue):是用來 「排隊與緩衝」 的(解耦、一對一)。
  • SNS (Topic):是用來 「廣播」 的(發布/訂閱、一對多)。
  • SES (Email):是用來 「寄 Email」 的(行銷信、驗證信)。

以下是詳細的比較與架構設計重點:


1. 快速比較表 (Comparison Table)

raw-image



2. 詳細解析

A. Amazon SQS (緩衝區)

  • 角色:就像銀行的 「取號排隊系統」。
  • 運作:生產者 (Producer) 把資料丟進去,資料乖乖排隊。消費者 (Consumer) 有空時過來 「拉取 (Poll)」 一個任務去處理。
  • 關鍵功能:解耦 (Decoupling):前端發送請求後就可以走了,後端慢慢處理。削峰填谷:雙 11 流量暴增,SQS 負責暫存請求,保護後端資料庫不被沖垮。DLQ (死信佇列):處理失敗的訊息會被隔離,方便除錯。

B. Amazon SNS (廣播塔)

  • 角色:就像 「里長的廣播大喇叭」 或 「訂閱 YouTube 頻道」。
  • 運作:發布者 (Publisher) 只要對著 Topic (主題) 喊一聲,所有 訂閱者 (Subscribers) 都會同時收到訊息。
  • 關鍵功能:Fan-out (扇出):這是 SNS 最重要的架構模式。發送一次,同時觸發 Lambda、寫入 SQS、寄送簡訊。行動推播:支援 Apple (APNS), Google (FCM) 推播通知。SMS 簡訊:發送手機簡訊。

C. Amazon SES (郵差)

  • 角色:就是 「企業級的 Gmail / Mailchimp」。
  • 運作:專門處理大量的 Email 發送,並確保信件不會被丟到垃圾桶 (高送達率)。
  • 關鍵功能:交易型郵件:註冊驗證信、重設密碼信、訂單收據。行銷郵件:電子報 (EDM)。收信功能:也可以用來接收 Email 並觸發 S3 存檔或 Lambda 處理。

3. 常見混淆點 (VS. Battles)

Q1: SNS 也可以寄 Email,為什麼還需要 SES?

  • SNS 的 Email:只能寄 純文字 (Plain Text) (JSON 格式)。目的是給系統管理員看的「警報通知」(Ops Alert)。無法排版、無法放圖片、無法追蹤開信率。
  • SES 的 Email:支援 HTML (圖片、CSS、漂亮的排版)。目的是給終端客戶看的「商業信件」。提供開信率、點擊率分析、專屬 IP。

Q2: 什麼時候該用 SQS?什麼時候用 SNS?

  • 如果你希望 「這條訊息一定要被處理,不能遺失,且處理速度不用即時」 →→ SQS (存起來慢慢做)。
  • 如果你希望 「這條訊息發生時,要立刻通知所有人/系統」 →→ SNS (即時廣播)。

4. 經典架構模式:SNS + SQS Fan-out (扇出)

這是 AWS 考試和架構設計中最常考的組合技。

情境:使用者上傳一張頭貼。


需求


  1. 系統要產生縮圖 (Thumbnail)。
  2. 系統要進行 AI 人臉辨識。
  3. 系統要發 Email 通知管理員。

錯誤做法:程式碼依序呼叫 A 

→→

 B 

→→

 C。如果 C 掛了,前面都卡住。


正確做法 (SNS + SQS Fan-out)

  1. 程式碼發送訊息到 SNS Topic (事件:圖片上傳了)。
  2. SQS Queue A (縮圖用) 訂閱了這個 Topic。
  3. SQS Queue B (分析用) 訂閱了這個 Topic。
  4. Lambda (發信用) 訂閱了這個 Topic。
  5. SNS 一收到訊息,同時推給 SQS A, SQS B 和 Lambda。
  6. 後端的縮圖伺服器慢慢從 SQS A 拿任務;分析伺服器從 SQS B 拿任務。

優點:各做各的,互不影響,系統高度解耦。


5. 考試關鍵字 (Keywords)

  • Decouple / Buffer / Poll / Queue →→ SQS
  • Publish-Subscribe / Broadcast / Push / Fan-out →→ SNS
  • Marketing Emails / High deliverability / HTML Email / Incoming Email →→ SES
留言
avatar-img
郝信華 iPAS AI應用規劃師 學習筆記
43會員
571內容數
現職 : 富邦建設資訊副理 證照:經濟部 iPAS AI應用規劃師 初級+中級(數據分析) AWS Certified AI Practitioner (AIF-C01) 其他:富邦美術館志工
2025/12/05
簡單來說:所有的無伺服器 (Serverless) 服務都是託管 (Managed) 服務,但並非所有的託管服務都是無伺服器服務。 我們可以把這想成是**「租車」與「叫計程車 (Uber)」**的差別: 託管服務 (Managed) = 租車。車商幫你保養車子(硬體/OS),但你要自己決定租哪種
Thumbnail
2025/12/05
簡單來說:所有的無伺服器 (Serverless) 服務都是託管 (Managed) 服務,但並非所有的託管服務都是無伺服器服務。 我們可以把這想成是**「租車」與「叫計程車 (Uber)」**的差別: 託管服務 (Managed) = 租車。車商幫你保養車子(硬體/OS),但你要自己決定租哪種
Thumbnail
2025/12/05
Amazon Connect 是 AWS 提供的 「全通路雲端客服中心服務 (Omnichannel Cloud Contact Center)」。 一句話總結:它讓你不需要購買昂貴的電話交換機硬體,也不需要租機房,只要有網路和耳機,幾分鐘內就能架設好一個像 Amazon 客服一樣強大的「電話/文
2025/12/05
Amazon Connect 是 AWS 提供的 「全通路雲端客服中心服務 (Omnichannel Cloud Contact Center)」。 一句話總結:它讓你不需要購買昂貴的電話交換機硬體,也不需要租機房,只要有網路和耳機,幾分鐘內就能架設好一個像 Amazon 客服一樣強大的「電話/文
2025/12/05
簡單來說: IAM Access Advisor 是用來檢查 「內部」 的人有沒有 「真的在使用」 權限。(目的是刪減多餘權限) IAM Access Analyzer 是用來檢查 「資源」 有沒有被 「外部」 的人存取。(目的是防止資料外洩) 以下是詳細的比較表與解說: 1. 超級比一比
Thumbnail
2025/12/05
簡單來說: IAM Access Advisor 是用來檢查 「內部」 的人有沒有 「真的在使用」 權限。(目的是刪減多餘權限) IAM Access Analyzer 是用來檢查 「資源」 有沒有被 「外部」 的人存取。(目的是防止資料外洩) 以下是詳細的比較表與解說: 1. 超級比一比
Thumbnail
看更多
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
文章探討近期銀行對於房貸申請的態度轉變,特別是財力一般的客戶面臨的困難,並介紹「國峰厝好貸」作為民間二胎房貸的選項。分析其優缺點,包括不受央行禁令影響、審核快速、核准率高等優勢,以及較高的利率(7%-16%)和民間借貸的風險。作者提醒讀者,若非走投無路,應謹慎評估,並建議諮詢專業人士。
Thumbnail
文章探討近期銀行對於房貸申請的態度轉變,特別是財力一般的客戶面臨的困難,並介紹「國峰厝好貸」作為民間二胎房貸的選項。分析其優缺點,包括不受央行禁令影響、審核快速、核准率高等優勢,以及較高的利率(7%-16%)和民間借貸的風險。作者提醒讀者,若非走投無路,應謹慎評估,並建議諮詢專業人士。
Thumbnail
如何查詢 CloudTrail Event history 使用 Event name 篩選 RequestSpotFleet CloudTrail Event history 使用 Resource name 篩選,該 Request ID (提提知道ID) 使用上述查詢,目的是為了
Thumbnail
如何查詢 CloudTrail Event history 使用 Event name 篩選 RequestSpotFleet CloudTrail Event history 使用 Resource name 篩選,該 Request ID (提提知道ID) 使用上述查詢,目的是為了
Thumbnail
由於客戶需要透過  Cost Explorer 來監控 ECS Fargate tasks 成本,ECS 設置需要的 Tag 標籤, AWS Billing (Cost allocation tags)啟用 Tag 後,還是沒出現。 原因是,ECS Cluster 本生沒有產生費用,故才未
Thumbnail
由於客戶需要透過  Cost Explorer 來監控 ECS Fargate tasks 成本,ECS 設置需要的 Tag 標籤, AWS Billing (Cost allocation tags)啟用 Tag 後,還是沒出現。 原因是,ECS Cluster 本生沒有產生費用,故才未
Thumbnail
Fleet Manager (AWS Systems Manager 的功能) 是統一的使用者界面 (UI) 體驗,可助您遠端管理在 AWS 或內部部署上執行的受管節點 利用 Fleet Manager,您可以從單一主控台檢視整個伺服器機群的運作狀態和效能狀態 Fleet Manager 有哪些
Thumbnail
Fleet Manager (AWS Systems Manager 的功能) 是統一的使用者界面 (UI) 體驗,可助您遠端管理在 AWS 或內部部署上執行的受管節點 利用 Fleet Manager,您可以從單一主控台檢視整個伺服器機群的運作狀態和效能狀態 Fleet Manager 有哪些
Thumbnail
以下是限制 S3 bucket 訪問 HTTPS 的方法 測試 S3 存儲桶訪問 S3 bucket 通常允許 HTTP 和 HTTPS 訪問 AWS CLI 預設通常使用 HTTPS 向 AWS 服務發送請求 https://docs.aws.amazon.com/zh_tw/cli/l
Thumbnail
以下是限制 S3 bucket 訪問 HTTPS 的方法 測試 S3 存儲桶訪問 S3 bucket 通常允許 HTTP 和 HTTPS 訪問 AWS CLI 預設通常使用 HTTPS 向 AWS 服務發送請求 https://docs.aws.amazon.com/zh_tw/cli/l
Thumbnail
有這一篇原因是工作上,建立 OU 時,會自動新增額外的 FullAWSAccess 規則,但原本就會有預設Root OU繼承的FullAWSAccess,等於會有兩組一樣的規則,故所以詢問了AWS Support。 先謝謝 AWS 技術支援工程師 George 細心說明~ SCP很重要的
Thumbnail
有這一篇原因是工作上,建立 OU 時,會自動新增額外的 FullAWSAccess 規則,但原本就會有預設Root OU繼承的FullAWSAccess,等於會有兩組一樣的規則,故所以詢問了AWS Support。 先謝謝 AWS 技術支援工程師 George 細心說明~ SCP很重要的
Thumbnail
可以分析源代碼並檢查在遷移到 AWS Graviton 時需要更改的過時運行library 優化 aws 成本的方法之一是遷移到並採用具有高性價比的AWS Graviton 推薦使用AWS Graviton,從可持續性的角度來看,它有很好的表現 但有需要注意的地方: 不適用於所有操作系統和實
Thumbnail
可以分析源代碼並檢查在遷移到 AWS Graviton 時需要更改的過時運行library 優化 aws 成本的方法之一是遷移到並採用具有高性價比的AWS Graviton 推薦使用AWS Graviton,從可持續性的角度來看,它有很好的表現 但有需要注意的地方: 不適用於所有操作系統和實
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News