簡體   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