使用 AWS re:Post 即表示您同意 AWS re:Post 使用條款

如何將變數從我的 Elastic Beanstalk 環境傳遞到 Linux 和 Windows 執行個體?

2 分的閱讀內容
0

我想將變數從我的 AWS Elastic Beanstalk 環境傳遞到 Linux 和 Windows Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。

簡短描述

您可以透過以下方法將環境變數傳遞至 Amazon EC2 執行個體:

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確認您使用的是最新版本的 AWS CLI

解決方案

重要事項: 若要將機密資訊 (例如資料庫密碼) 傳遞至執行個體,請依照在 Amazon S3 中安全儲存私有金鑰的指示進行操作。

傳遞您的環境變數

選擇下列其中一種方式來傳遞您的環境變數。

使用 Elastic Beanstalk 主控台

若要使用主控台傳遞環境變數,請依照設定環境屬性的指示進行操作。

重要事項: 請務必考慮環境屬性限制

使用 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 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"
  }
]

存取您的環境變數

注意: 即使執行個體中存在環境屬性,環境屬性不會自動匯出至 Shell。相反地,環境屬性透過應用程式執行的堆疊,根據您正在使用的平台提供給應用程式。

若要存取環境變數,請參閱存取環境屬性

若要存取應用程式程式碼以外的環境變數 (例如,部署期間執行的指令碼中的環境變數),請使用 get.config platform scriptFn::GetOptionSetting

對於 Windows 執行個體,環境屬性會從 C:\ProgramFiles\Amazon\ElasticBeanstalk\config\containerconfiguration 傳遞至 Microsoft Internet Information Services (IIS) 伺服器。警告: 此檔案位置受 Elastic Beanstalk 架構約束,可以在沒有警告的情況下進行變更。


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