8

AWS Secrets Manager を使用してシークレットを取得し、それらを Elastic Beanstalk インスタンスの環境変数として設定しようとしています。

Secrets Manager CLI を呼び出してシークレットを取得するスクリプトを ebextensions ファイルに記述し、そのシークレットを使用して EB インスタンスの環境変数を設定しました。Linuxインスタンスなので、試していexport ENV_VAR_NAME=env_valueます。これが私がこれまでに持っているものです:

packages:
  yum:
    epel-release: []
    jq: []

files:
  "/home/ec2-user/test.sh" :
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/bin/bash
      config=$(aws --region us-west-1 secretsmanager get-secret-value --secret-id secret | jq -rc '.SecretString'')

      export SECRET_KEY=$(echo $config | jq -rc '.awsKey')

      # Used to print current env variables
      env

commands:
  0_test:
    command: /home/ec2-user/test.sh

#I've also tried replacing 'commands' with 'container_commands'
container_commands:
  0_test:
    command: /home/ec2-user/test.sh

でスクリプトを実行するcontainer_commandsと、適切な環境変数が出力されます。これは、スクリプトで設定した環境変数と、EB AWS コンソールの EB 環境変数で設定したものです。ただし、アプリケーションでそれらを印刷すると、スクリプトで設定した環境変数が表示されません。

でスクリプトを実行するcommandsと、正しい環境変数セットにまったく書き込みが行われていないようです。

ここでやろうとしている方法で EB 環境変数を設定する方法はありますか? exportおそらく、 ?ではなく、使用する必要がある特別なコマンドがあります。

4

0 に答える 0