AWS SSM パラメータストアから必要な機密データをファイルに書き出すスクリプトです。
ステージング /stg/hoge
本番 /prd/hoge
のように環境変数を管理している場合を想定しています。
ここでは、env_ssm というファイルに出力しています。
CI ツールとかで環境変数を設定したい時とかに使えます。
#!/usr/bin/env bash
set -eu
echo '' > .env_ssm
ssm_parameters_env="stg" # ここでは stg としていますが、条件分岐で値を変えるように設定するといいですね。
parameters=`aws ssm get-parameters-by-path --path "/$ssm_parameters_env" --with-decryption | jq -r .Parameters`
parameters_length=`echo $parameters | jq length`
declare -A ssm_parameters
for ((i=0; i<=`expr $parameters_length - 1`; i++)) do
name=`echo $parameters | jq -r ".[$i].Name"`
value=`echo $parameters | jq ".[$i].Value"`
ssm_parameters[$name]=$value
done
for key in "${!ssm_parameters[@]}"
do
env_name=${key#/$ssm_parameters_env/}
uppercase=${env_name^^}
echo "export $uppercase=`echo ${ssm_parameters[$key]}`" >> .env_ssm
done
↧