amazon-web-services - 调用参数存储时的 lambda 超时

标签 amazon-web-services aws-lambda

我有一个调用参数存储来检索凭据的 lambda 函数。代码如下:

import boto3
ssm = boto3.client('ssm')
parameter = ssm.get_parameter(Name='credentials', WithDecryption=True)
print(parameter['Parameter']['Value'])

我已将 AmazonSSMFullAccess 授予 lambda 角色。 lambda 有一个 VPC,稍后我将使用它连接到没有公共(public)访问权限的 Redshift 数据库。出入库规则如下: enter image description here

有一个帖子AWS Lambda cannot connect to Parameter Store其中提到如果 lambda 需要 VPC,则添加一个 NAT 网关。

在 lambda 子网路由表中:enter image description here , 好像已经有上互联网的路由了?

但我仍然收到 lambda 超时错误 :(

最佳答案

there seems to be already a route that goes to the internet?

遗憾的是,它没有。您似乎将 lambda 放置在具有到互联网网关 (IGW) 路由的公共(public)子网中。但是,您必须使用带有到 NAT 网关的路由的私有(private)子网。 IGW 和 NAT 是两个不同的东西。看看这个 AWS 指南如何让它工作:

或者,您可以设置 VPC interface endpoint for Paramter store .那么您的 Lambda 函数不需要互联网访问权限。

关于amazon-web-services - 调用参数存储时的 lambda 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68569949/

相关文章:

amazon-s3 - 无法使用现有 S3 存储桶配置 lambda 和 SNS

ruby - AWS Lambda 无法找到 Ruby 依赖项

amazon-web-services - 使用 Anthos 的混合云和多云数据平台的多云解决方案

Javascript从亚马逊s3存储桶下载文件?

java - Hadoop 2.6.x 和 Amazon AWS SDK Library 冲突 http-core 冲突

node.js - AWS Lambda : module initialization error: Error when running Camaro/Serverless

amazon-web-services - Helm 升级引发YAML解析器错误

amazon-web-services - AWS Cloudformation Userdata powershell 脚本未在自定义 Windows Server AMI 上运行

java - 无法在本地 Java 上调用 Lambda AWS

aws-lambda - Amazon Lex 聊天机器人使用单独的消息进行回复