AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加してSystems Managerのパラメータストアにアクセスする方法 -node.js v18
AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加します。
このレイヤーを使う事によって@aws-sdk/client-ssmモジュール(SDK)を使わずにLambdaからURLをたたくだけでSystems Managerの情報を取得することができるようになります。
axiosを使用してlocalhost:2773をたたきます。デフォルトポートは2773になります。
$ npm init -y $ npm i axios $ touch index.mjs
IAMロールには「AmazonSSMReadOnlyAccess」をアタッチしておきます。
index.mjs
import axios from 'axios' export const handler = async(event) => { const parameter = '%2Frds%2Fuser' const results = await axios({ method: 'GET', headers: { 'X-Aws-Parameters-Secrets-Token': process.env['AWS_SESSION_TOKEN'] }, url: `http://localhost:2773/systemsmanager/parameters/get/?name=${parameter}` }) console.log(results.data.Parameter) console.log(results.data.Parameter.Value) const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; return response; };
ログです。
参考サイト
Using Parameter Store parameters in AWS Lambda functions - AWS Systems Manager
Learn how to use the AWS Parameters and Secrets Lambda Extension with Parameter Store.
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント