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(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^




コメント