AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加してSystems Managerのパラメータストアにアクセスする方法 -node.js v18

AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加してSystems Managerのパラメータストアにアクセスする方法 -node.js v18

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

AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加してSystems Managerのパラメータストアにアクセスする方法 -node.js v18

このレイヤーを使う事によって@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;
};

ログです。

AWS-Parameters-and-Secrets-Lambda-Extensionレイヤーを追加してSystems Managerのパラメータストアにアクセスする方法 -node.js v18

参考サイト

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.

コメント

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