我已经在VPC上使用AWS Chalice托管了Lambda函数,因为我希望它可以访问无服务器Aurora数据库实例。现在,我还希望该函数将send_message()发送到SQS。
我遵循了Tutorial: Sending a Message to an Amazon SQS Queue from Amazon Virtual Private Cloud,并且能够从我的EC2内部调用SQS。但是即使那样,我仍然无法使用Lambda函数来调用SQS。
如果有人可以告诉我如何手动完成整个操作而不是使用CloudFormation堆栈,或者至少告诉我如何使SQS端点正常工作,这将非常有帮助。
答案 0 :(得分:0)
您需要为SQS添加VPC Endpoint到VPC,或者将Lambda函数放置在具有到NAT网关的路由的子网中。
答案 1 :(得分:0)
您的情况似乎是:
AWS Lambda函数可以配置为:
如果您希望让AWS Lambda函数与VPC 和 Internet中的资源进行通信,那么您将需要:
或者,您可以使用用于SQS的VPC端点,该功能允许Lambda函数访问SQS,而无需访问Internet。如果要连接到多个服务(例如S3,SNS,SQS),则使用NAT网关比为每个服务创建VPC端点可能更容易。