amazon-web-services - AWS - 从 VPC 内的 Lambda 函数向 SQS 发送消息

标签 amazon-web-services aws-lambda chalice

我在 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 端点工作,那将非常有帮助。

最佳答案

看来你的情况是:

  • 带有 Amazon Aurora 数据库的 Amazon VPC
  • 想要与 Aurora 数据库通信的 AWS Lambda 函数 Amazon SQS 队列

AWS Lambda 函数可以配置为:

  • 连接到 VPC 中的子网,或者
  • 未连接到 VPC,这意味着它已连接到 Internet

如果您希望 AWS Lambda 函数与 VPC 内的资源 Internet 通信,那么您将需要:

  • 连接到私有(private)子网的 Lambda 函数
  • 公共(public)子网中的 NAT 网关
  • 连接到公共(public)子网的互联网网关(它很可能已经在您的 VPC 中)

或者,您可以使用SQS 的 VPC 端点,它允许 Lambda 函数无需访问 Internet 即可访问 SQS。如果您想要连接到多个服务(例如 S3、SNS、SQS),使用 NAT 网关可能比为每个服务创建 VPC 端点更容易。

关于amazon-web-services - AWS - 从 VPC 内的 Lambda 函数向 SQS 发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56345504/

相关文章:

python - Zappa+ flask : A GET request to '/' yielded a 502 response code

amazon-web-services - AWS chalice 错误。如何正确放置我的凭据?

python - 如何从 Ansible 中的组中获取包含特定字符串的主机名

amazon-web-services - EC2 上的 'stopped' 实例是否需要付费?

amazon-web-services - EC2 终止时启动 CloudFormation 创建堆栈

java - AWS @LambdaFunction 无法反序列化为 POJO

amazon-web-services - AWS Lambda 可以访问其他区域的 S3 存储桶吗?

python - API网关未调用 chalice 端点

python - 如何从 chalice 应用程序调用sagemaker xgboost端点?

amazon-web-services - 我在我的 dynamodb 流中没有看到任何记录