多分楽なのは
shell
1aws ssm get-parameter --name db_password --query "Parameter.Value" --output text
として一つだけ値を取り出してそれをシェルスクリプトかなにかで環境変数にセットする方法です。
ここで使っているのはget-parameters
ではなくget-parameter
です。
取り出そうとするパラメータがたくさんあるなら何度もパラメータストアにアクセスするのも微妙なので、get-parameters
で取得したらまとめてjsonとして保存して、jq等のjsonパーサを使って頑張ってjsonから値を取り出すのもアリです。
このあたりはjsonから値をどのように取り出すか、という話になりますね。
シェルで簡単に使えるのはjqですが、何かしらの言語を使ってスクリプトを作ってもいいでしょう。
また、DBパスワードのような秘密情報はSecureStringで保存しましょう。
その場合はオプションに--with-decryption
を追加すれば値が取れます(一応SecureStringでない値にこのオプションをつけても特に問題はありません。
追記
これらはあくまでもパラメータストアから値を取得するための方法であって、環境変数を設定する方法ではありません。
そのコマンドで指定しているパラメータのNameはあくまでもパラメータストア上で定義した名前で、パラメータストアから対応する値を取得するのに使っているだけであって環境変数とは何の関係もありません。
どのレベルでの環境変数かわかりませんが、cliで取得しているのでbashであることを前提に書きます。
bashであればこちらのようにexportコマンドを使えばOKです。
環境変数ではなく一時的にシェル変数に入れたいだけであれば変数名=値
だけでも可能です。
環境変数にワンライナーで入れるならこんな感じでしょうか。
shell
1export db_password=`aws ssm get-parameter --name db_password --query "Parameter.Value" --output text`
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/02 06:18 編集
2019/10/02 06:40 編集