AWS Elastic Beanstalk 環境のために環境プロパティを設定しました。Elastic Beanstalk 環境で Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにログインしてから、シェルで環境変数をリストするコマンドを実行しても、これらのプロパティが表示されません。
簡単な説明
PHP を実行するスタック以外では、環境プロパティがインスタンスに存在していたとしても、それらがシェルに自動的にエクスポートされることはありません。その代わりに、環境プロパティは、使用されているプラットフォームに基づいて、アプリケーションが実行されているスタックを通じてアプリケーションに提供されます。環境プロパティを表示して設定するには、Elastic Beanstalk コンソールを使用する、または Elastic Beanstalk コマンドラインインターフェイス (EB CLI) で eb setenv コマンドを実行することができます。
解決方法セクションでは、いくつかのプラットフォームで環境プロパティのソースを設定する方法を説明します。これ以外のプラットフォーム固有のオプションに関する情報については、環境プロパティとその他のソフトウェアの設定を参照してください。コード外で環境プロパティにアクセスする方法については、プラットフォームスクリプトツールを参照してください。
解決方法
重要: 以下の解決方法は、Amazon Linux Amazon マシンイメージ (AMI) にのみ適用されます。Amazon Linux 2 インスタンスの場合は、「Elastic Beanstalk インスタンスシェルから環境変数を使用するにはどうすればよいですか?」を参照してください。
Python
環境プロパティは /opt/python/current/env ファイルに書き込まれ、これがアプリケーションが実行される virtualenv スタックのソースになります。詳細については、Elastic Beanstalk Python プラットフォームを使用するをご参照ください。
ソースを設定するには、インスタンスにログインしてから、以下のコマンドを実行します。
~$ source /opt/python/current/env
Ruby
環境プロパティはまず、スタックの設定情報すべてが含まれている JSON ファイル (/opt/elasticbeanstalk/deploy/configuration/containerconfiguration) に書き込まれます。/opt/elasticbeanstalk/hooks/configdeploy/pre/10_setup_envvars.sh のプリデプロイメントフックがトリガーされると、opt/elasticbeanstalk/support/envvars ファイルにすべての環境プロパティが入力されます。次に、環境変数がアプリケーションで使用できるように opt/elasticbeanstalk/support/envvars ファイルがスタックによって読み込まれます。詳細については、Elastic Beanstalk Ruby プラットフォームを使用するを参照してください。
ソースを設定するには、インスタンスにログインしてから、以下のコマンドを実行します。
source /opt/elasticbeanstalk/support/envvars
Java
起動時に設定した環境プロパティは、シェル環境変数にはなりません。詳細については、Java SE 環境を設定するを参照してください。
Windows
環境プロパティは、C:\Program Files\Amazon\ElasticBeanstalk\config\containerconfiguration から Microsoft Internet Information Services (IIS) サーバーに渡されます。