AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加してSecrets Managerにアクセスする方法 -node.js v18
AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加します。
このレイヤーを使う事によって@aws-sdk/client-secrets-managerモジュール(SDK)を使わずに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 を発表
Use AWS Secrets Manager secrets in AWS Lambda functions - AWS Secrets Manager
Learn how to access secrets in Lambda functions.
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント