Elastic Beanstalk 環境から Linux および Windows インスタンスに変数を渡すにはどうすればよいですか?
最終更新日: 2020 年 10 月 8 日
AWS Elastic Beanstalk 環境から Linux および Windows Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに変数を渡したいと考えています。
簡単な説明
以下を使用して、Amazon EC2 インスタンスに環境変数を渡すことができます。
- Elastic Beanstalk コンソールを開きます。
- Elastic Beanstalk コマンドラインインターフェイス (EB CLI)
- オプション設定
- AWS コマンドラインインターフェイス (AWS CLI)
注意: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
解決方法
重要 : 機密情報 (データベースパスワードなど) をインスタンスに渡すには、 Amazon S3 にプライベートキーを安全に保存するの手順に従います。
環境変数を渡す
環境変数を渡すには、次のいずれかの方法を選択します。
Elastic Beanstalk コンソールを開きます。
1. Elastic Beanstalk コンソールを開きます。
2. アプリケーションを選択してから、ナビゲーションペインから [Configuration] を選択します。
3. [Software] カテゴリで、[Modify] を選択します。
4. [Environment properties] セクションで、インスタンスに渡す環境プロパティのキーと値のペアを入力します。
5. [Apply] を選択します。
重要: 環境プロパティの制限を考慮してください。
EB CLI の使用 :
EB CLI で環境変数を設定するには、次のコマンドを実行します。
eb setenv key=value
次の例では、環境変数 ExampleVar が設定されています。
$ eb setenv ExampleVar=ExampleValue
2018-07-11 21:05:25 INFO: Environment update is starting.
2018-07-11 21:05:29 INFO: Updating environment tmp-dev's configuration settings.
2018-07-11 21:06:50 INFO: Successfully deployed new configuration to environment.
2018-07-11 21:06:51 INFO: Environment update completed successfully.
複数の環境プロパティを設定するには、次のコマンドを使用します。
$ eb setenv foo=bar JDBC_CONNECTION_STRING=hello PARAM4= PARAM5=
オプション設定の使用 :
Elastic Beanstalk 設定ファイルを使用して、ソースコードで環境プロパティと設定オプションを設定できます。
環境プロパティを定義するには、 aws:elasticbeanstalk:application:environment 名前空間を使用します。
次の .ebextensions/options.config の例を参照してください。
option_settings:
aws:elasticbeanstalk:application:environment:
API_ENDPOINT: www.example.com/api
AWS CLI の使用
AWS CLI で環境プロパティを設定するには、次のコマンドを実行します。
$ aws elasticbeanstalk update-environment --environment-name my-env --option-settings file://options.json
例:
[
{
"Namespace": "aws:elasticbeanstalk:application:environment",
"OptionName": "API_ENDPOINT",
"Value": "www.example.com/api"
},
{
"Namespace": "aws:elasticbeanstalk:application:environment",
"OptionName": "URL",
"Value": "http://myurl.com"
}
]
環境変数にアクセスする
PHP を実行するスタック以外では、環境プロパティがインスタンスに存在していたとしても、それらがシェルに自動的にエクスポートされることはありません。その代わりに、環境プロパティは、使用されているプラットフォームに基づいて、アプリケーションが実行されているスタックを通じてアプリケーションに提供されます。
環境変数にアクセスするには、環境プロパティへのアクセス を参照してください。
アプリケーションコード以外の環境変数にアクセスするには (例えば、デプロイ中にが実行するスクリプト)、 get.config プラットフォームスクリプトまたは Fn::GetOptionSetting を使用します。
環境プロパティは、C:\ProgramFiles\Amazon\ElasticBeanstalk\config\containerconfiguration から Microsoft Internet Information Services (IIS) サーバーに渡されます。</p