繁体   English   中英

如何在 lambda 处理程序中使用秘密管理器端点?

[英]How to use secret manager endpoint in lambda handler?

我想从 lambda 写入 RDS。 由于它们都在不同的帐户中,我在它们之间创建了对等连接,并创建了一个秘密端点来访问它。 我有一个非旋转秘密管理器端点,我有一个 lambda 处理程序,例如

LambdaHandler:
    Type: AWS::Serverless::Function
    Properties:
      Handler: 'com.handle.lambda.handler.LambdaHandler::handleInputFeed'
      Runtime: java8
      CodeUri:
        # Why are we using this instead of BATS::SAM::CodeS3Bucket
        Bucket: {'Fn::If' : ['UseBatsKey', 'BATS::SAM::CodeS3Bucket', {"Fn::ImportValue" : {Ref: 'DeploymentBucketImportName'}}]}
        Key: BATS::SAM::CodeS3Key
      Description: Example lambda that takes an x and y value and returns the result of adding them.
      Timeout: 20
      Role:
        Fn::GetAtt: [LambdaRole, Arn]
      VpcConfig:
        Fn::If:
        - RunLambdaInVPC
        - SecurityGroupIds: [{Ref: LambdaSecurityGroup}]
          SubnetIds:
          - {'Fn::ImportValue': PrivateSubnet01}
          - {'Fn::ImportValue': PrivateSubnet02}
        - {Ref: 'AWS::NoValue'}

秘密端点将如何在此处理程序中使用,我如何通过它引用表? 因为我是新手,所以任何示例代码或文档都会有所帮助。 无法找到。

您无需执行任何操作1 ,如果 Lambda function 在 VPC 内运行且端点可访问。 根据端点的类型( 接口或网关),AWS 采用了一些 DNS 技巧(AWS 为您设置的私有托管区域)使这看起来无缝。

本质上,代码不需要知道它正在与 VPC 端点对话,这是在后台处理的。 过去有几个例外情况让我感到困扰 - 请参阅脚注。 如果它不起作用,请确保端点的安全组允许来自端口 443 上的 Lambda 功能的连接。


1 : IAM 和其他全局服务例外,这里您应该在实例化客户端时指定一个区域端点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM