[英]Cross account, cross region SNS message processing
我們正在努力將 SNS 整合到 HTTPS API 兩個團隊之間。 因此,另一個團隊在us-east-1
區域配置了 SNS 主題,而我們的 HTTPS API 在us-west-2
區域運行。
只是想檢查我們是否可以處理從us-east-1
和us-west-2
區域中的不同 AWS 賬戶生成的 SNS 消息。
我在某處讀到(現在不記得博文鏈接了),如果 SNS 消息是在us-east-1
中生成的,則它們必須僅在us-east-1
中處理。 如果我們嘗試在us-east-2
中處理,消息簽名驗證將失敗並拋出無效的 TopicArn 異常。
是否正確請指導。
因此,另一個團隊在us-east-1區域配置了SNS主題,我們的HTTPS API在us-west-2區域運行。
當SNS發布到HTTPS端點時,端點可以位於Internet上的任何位置 。 它根本不需要在AWS中。 只要您的HTTPS端點可以從Internet訪問並且具有有效的SSL證書(與主機名匹配,未過期,由認可的證書頒發機構簽名,而不是自簽名),這就是SNS所需要的全部內容。
目標區域和目標AWS賬戶在此類設置中失去了所有意義。 這里沒有約束。
如果主題在us-east-1中,那么發送到 SNS的所有請求必須被發送到 us-east-1端點(例如, Subscribe
或Publish
),但即使這樣,它們也可以從因特網上的任何地方發送。
通過將 API 網關附加到 lambda 並復制相同的 HTTPS URL,可以通過 lambda 的 HTTPS 端點跨區域配置 SNS。
拿到后HTTPS URL 的lambda 哪個地區都可以。 可能你只是在SNS服務中通過創建訂閱在SNS服務中添加了SNS服務訂閱部分。
之后,只需發布一條消息。 如果您在 lambda 中打印事件,您將在 Cloudwatch 日志中看到條目。您將看到類似“訂閱 URL”的內容。 復制 URL 並將其粘貼到 SNS 服務中,在那里您將能夠看到“Pending on Subscription”。 這將適用於最新的亞馬遜 SNS 服務。
我嘗試並測試了它以驗證它是否有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.