【发布时间】:2021-01-03 08:20:59
【问题描述】:
我有一个应该写入 Firehose 的 AWS Lambda 函数。但是,当我创建 PutRecordBatchRequest 时,它会超时并且无法写入 Firehose。
函数位于 VPC 中。我已将策略附加到 lambda 的角色以允许访问:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"firehose:*"
],
"Resource": [
"${aws_kinesis_firehose_delivery_stream.my_firehose.arn}"
]
}
]
}
请注意,我使用的是 Terraform,因此非常感谢 HCL 中的解决方案。
如何让它发挥作用?
【问题讨论】:
-
AWS Lambda 函数连接到 VPC 时,将无法直接访问 Internet。要授予此类访问权限,您将需要:公共子网中的 NAT 网关,具有匹配的路由表,或 VPC 中的 VPC 端点用于所需服务 - 如果您使用 VPC 端点 - 您可能需要配置安全组正确使用您的 lamda 功能
-
将 Lambda 函数放在 VPC 中是否有特殊原因?是否需要与 VPC 中的资源进行通信?如果没有,只需将其与 VPC 分离。
-
@JohnRotenstein 是的,它连接到 RDS 等
标签: amazon-web-services aws-lambda terraform amazon-kinesis-firehose