AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加してSecrets Managerにアクセスする方法 -node.js

AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加してSecrets Managerにアクセスする方法 -node.js

AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加します。

AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加してSecrets Managerにアクセスする方法 -node.js

このレイヤーを使う事によって@aws-sdk/client-secrets-managerモジュールを使わずにLambdaからURLをたたくだけでSecrets Managerの情報を取得することができるようになります。

axiosを使用してlocalhost:2773をたたきます。デフォルトポートは2773になります。

$ npm init -y
$ npm i axios
$ touch index.mjs

index.mjs

import axios from 'axios'
export async function handler() {
  const secretId = '<シークレット名>'
  const results = await axios({
    method: 'GET',
    headers: { 'X-Aws-Parameters-Secrets-Token': process.env['AWS_SESSION_TOKEN'] },
    url: `http://localhost:2773/secretsmanager/get?secretId=${secretId}`
  })
  console.log(results.data.SecretString) // 取得
  const response = {
    statusCode: 200,
    body: ''
  }
  return response
}

ログです。

AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加してSecrets Managerにアクセスする方法 -node.js

参考サイト

AWS Parameters and Secrets Lambda Extension を発表
Use AWS Secrets Manager secrets in AWS Lambda functions - AWS Secrets Manager
You can use the AWS Parameters and Secrets Lambda Extension to retrieve and cache AWS Secrets Manager secrets in Lambda functions without using an SDK. Retrievi...

コメント

タイトルとURLをコピーしました