嘗試呼叫create_topic()Boto3 時出現以下錯誤。它在 sam running 本地作業sam local invoke,但一旦部署,它就會超時。
ConnectTimeoutError: Connect timeout on endpoint URL: "https://sns.us-east-2.amazonaws.com/"
這是代碼:
sns = boto3.client('sns')
topic_name = f'my-sns-topic-{ENVIRONMENT}'
topic = sns.create_topic(Name=topic_name)
notification_channel = {"SNSTopicArn": topic["TopicArn"], "RoleArn": "arn:aws:iam::my-role"}
我的 Lambda 函式位于私有子網上。該功能不需要任何對互聯網的訪問,所以我認為私有子網可以(?)。我所有的資源都在同一個 VPC 上。
lambda 函式是否必須位于公共子網上才能訪問 SNS?我嘗試將0.0.0.0/0映射到我的 Internet 網關的路由添加到與私有子網關聯的路由表中,但這沒有幫助。
我錯過了什么?
uj5u.com熱心網友回復:
我的 Lambda 函式位于私有子網上。該功能不應該需要任何訪問互聯網,
如果您的 lambda 函式部署在沒有 Internet 連接的 VPC 中,那么您的 lambda 函式將無法sns.us-east-2通過公共 Internet 訪問服務端點 ( ),如您所料。
如果您希望與服務建立私有連接,則需要為該服務預置一個 VPC 介面終端節點并將其部署在與您的 lambda 相同的 VPC 中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/506410.html
