从 VPC / Lambda 访问参数存储
Accessing Parameter Store from VPC / Lambda
当不在 VPC 中时,我的 lambda 函数可以访问 Systems Manager 参数 (ssm.getParameter)。当我将 lambda 函数添加到我的 VPC 时,我失去了对 SSM 的访问权限。函数超时。
显然我缺少安全组设置或其他设置,但无法弄清楚。当 运行 在我的 VPC 中启用 Lambda 访问 SSM 时,我需要做什么才能启用它?
这很可能是因为您在 public 子网中创建 lambda 函数,Lambda 确实获得 public ip 地址并使用 NAT 访问 VPC 外部的资源。
此外,作为旁注,AWS 现在为 SSM https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-setting-up-vpc.html 提供端点,因此您甚至不需要再通过互联网
添加到@b.b3rn4rd
我自己按照 Amazon 的 https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-setting-up-vpc.html 完成了所有操作,但在从 lambdas 调用 SSM 时仍然出现超时错误。
我在下面的文章中找到了答案https://aws.amazon.com/premiumsupport/knowledge-center/ec2-systems-manager-vpc-endpoints/您还需要为您的安全组添加另一个入站规则,在您的 VPC 中允许对 HTTPS 的入站请求,源将是您创建的安全组正在用于 Lambdas。
应该是这样的 Type:HTTPS Protocol:TCP Port:443 来源:[security group]
当不在 VPC 中时,我的 lambda 函数可以访问 Systems Manager 参数 (ssm.getParameter)。当我将 lambda 函数添加到我的 VPC 时,我失去了对 SSM 的访问权限。函数超时。
显然我缺少安全组设置或其他设置,但无法弄清楚。当 运行 在我的 VPC 中启用 Lambda 访问 SSM 时,我需要做什么才能启用它?
这很可能是因为您在 public 子网中创建 lambda 函数,Lambda 确实获得 public ip 地址并使用 NAT 访问 VPC 外部的资源。
此外,作为旁注,AWS 现在为 SSM https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-setting-up-vpc.html 提供端点,因此您甚至不需要再通过互联网
添加到@b.b3rn4rd
我自己按照 Amazon 的 https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-setting-up-vpc.html 完成了所有操作,但在从 lambdas 调用 SSM 时仍然出现超时错误。
我在下面的文章中找到了答案https://aws.amazon.com/premiumsupport/knowledge-center/ec2-systems-manager-vpc-endpoints/您还需要为您的安全组添加另一个入站规则,在您的 VPC 中允许对 HTTPS 的入站请求,源将是您创建的安全组正在用于 Lambdas。
应该是这样的 Type:HTTPS Protocol:TCP Port:443 来源:[security group]