當我登入適用於 Amazon Linux 的 Amazon EC2 執行個體時,如何讓環境屬性顯示在我的 Elastic Beanstalk 環境中?

1 分的閱讀內容
0

我為 AWS Elastic Beanstalk 環境設定環境屬性。當我在 Elastic Beanstalk 環境中登入 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,然後執行命令列出 Shell 中的環境變數時,我看不到這些屬性。

簡短描述

即使執行個體中存在環境屬性,環境屬性不會自動匯出至 Shell (執行 PHP 的堆疊中除外)。相反地,環境屬性透過應用程式執行的堆疊,根據您正在使用的平台提供給應用程式。若要檢視和設定環境屬性,您可以使用 Elastic Beanstalk 主控台或 Elastic Beanstalk Command Line Interface (EB CLI) 中的 eb setenv 命令。

解決方法區段會顯示如何在數個平台中設定環境屬性的來源。如需其他平台特定選項的資訊,請參閱環境屬性和其他軟體設定。如需如何在程式碼之外存取環境屬性的詳細資訊,請參閱平台指令碼工具

解決方法

**重要:**下列解決方法僅適用於 Amazon Linux Amazon Machine Images (AMI)。對於 Amazon Linux 2 執行個體,請參閱如何使用 Elastic Beanstalk 執行個體 Shell 中的環境變數?

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

您在啟動時設定的環境屬性不會成為 Shell 環境變數。如需詳細資訊,請參閱設定 Java SE 環境

Windows

環境屬性會從 C:\Program Files\Amazon\ElasticBeanstalk\config\containerconfiguration 傳遞至 Microsoft Internet Information Services (IIS) 伺服器。


AWS 官方
AWS 官方已更新 1 年前