【问题标题】:AWS Lambda Function not able to connect to AWS Secret ManagerAWS Lambda 函数无法连接到 AWS Secret Manager
【发布时间】:2020-12-18 13:30:44
【问题描述】:

我的 Lambda 函数需要使用来自 AWS Secret Manager 的凭证连接到 RDS。以下是我做过的事情:

  1. 创建了 Lambda 函数并与 VPC(例如 VPC 1)关联并创建了一个单独的安全组 (Lambda-SG)。
  2. RDS 也在同一个 VPC 中,可通过 Lambda 函数访问
  3. 为 Secret Manager Service 创建了 VPC Endpoint,以便 Lambda 函数可以连接到它。
  4. Lambda 函数无法连接到 AWS Secret Manager 并超时。

任何解决方案都会有所帮助。如果我删除了 VPC,那么它是可以访问的,但我需要 VPC 来连接到 RDS 实例。无法使用 NAT 网关,因为云环境策略不允许任何 Internet 连接。

【问题讨论】:

  • 需要更多详细信息,您能否展示如何在 Lambda 中创建 SSM 客户端?您确定 SSM 端点和 Lambda 的 SG 都具有相应的出口和入口规则吗?
  • 我正在尝试连接到 Secrets Manager 而不是 SSM。
  • AwsClientBuilder.EndpointConfiguration config = new AwsClientBuilder.EndpointConfiguration(endpoint, region); AWSSecretsManagerClientBuilder clientBuilder = AWSSecretsManagerClientBuilder.standard(); clientBuilder.setEndpointConfiguration(config); AWSSecretsManager 客户端 = clientBuilder.build(); GetSecretValueRequest getSecretValueRequest = new GetSecretValueRequest() .withSecretId(secretName).withVersionStage("AWSCURRENT");
  • 当我说 SSM 时,我指的是服务“简单系统管理器”的扩展首字母缩写词。这些细节会更好地格式化/更好地作为您问题的一部分提供,而不是作为评论。客户端/端点配置看起来不错,您是否也检查了双方的安全组规则?
  • 您的端点 sg 是否允许 https 端口的入站流量?

标签: aws-lambda


【解决方案1】:

要解决此连接问题,您可以选择以下选项;

如果您已启用 VPC 流日志,那么您可以跟踪 vpc 流日志以检查哪些 aws 资源拒绝了网络流量。有关 VPC 流日志信息,请参阅 AWS 的 this 文档。

此外,检查 AWS lambda 网络接口的 VPC 流日志。此外,如果流量通过代理,则还要检查代理配置。

【讨论】:

  • 对不起,麻烦各位了。看来我必须在私有子网中为 Secrets Manager 创建 VPC 端点。我这样做并为 lambda 函数打开了入站端口 443,它起作用了。
猜你喜欢
  • 2020-12-25
  • 1970-01-01
  • 1970-01-01
  • 2021-11-16
  • 2021-06-10
  • 2019-11-08
  • 1970-01-01
  • 2020-08-16
  • 2019-09-01
相关资源
最近更新 更多