本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Linux 平台上使用 Elastic Beanstalk .NET 核心
本主題說明如何在 Elastic Beanstalk 上設定、建置和執行 Linux 應用程式上的 .NET 核心。
AWS Elastic Beanstalk 針對在 Linux 作業系統上執行的不同 .NET Core 架構版本, 支援多個平台分支。如需完整清單,請參閱 AWS Elastic Beanstalk 平台中 Linux 上的 .NET 核心。
如需各種擴充 Elastic Beanstalk Linux 類型平台方式的詳細資訊,請參閱 擴充 Elastic Beanstalk Linux 平台。
Linux 平台上的 .NET Core 考量事項
代理伺服器
Elastic Beanstalk Linux 上的 .NET Core 平台包含反向代理程式,可將請求轉送給您的應用程式。根據預設,Elastic Beanstalk 會使用 NGINX
應用程式結構
您可以發佈「執行時間相依」的應用程式,這些應用程式使用 Elastic Beanstalk 提供的 .NET Core 執行時間。您也可以發佈自主運作的應用程式,其中包含 .NET Core 執行時間和您的應用程式在原始碼套件中的相依性。如需進一步了解,請參閱 Linux Elastic Beanstalk 平台上 .NET Core 的綁定應用程式。
平台組態
欲設定在環境中伺服器執行個體上執行的程序,請於您的原始碼套件納入選用的 Procfile。如果原始碼套件中有多個應用程式,則需要有 Procfile
。
建議務必在原始碼套件和應用程式中永遠提供 Procfile
。透過此方式,您可以精確控制 Elastic Beanstalk 要為您的應用程式執行哪些程序。
Elastic Beanstalk 主控台中提供了修改正在執行環境組態的組態選項。要避免在終止環境的組態時遺失組態,您可以使用已儲存組態來儲存您的設定,並在之後套用至另一個環境。
若要將設定儲存於原始程式碼,您可以包含組態檔案。每次您建立環境或部署應用程式,組態檔案裡的設定就會套用。您也可以使用組態檔案來安裝套件、執行指令碼,並在部署期間執行其他執行個體自訂操作。
在 Elastic Beanstalk 主控台中套用的設定會覆寫組態檔案中相同的設定 (如存在)。這可讓您在組態檔案中擁有預設設定,並以主控台的環境專屬設定覆寫之。如需優先順序以及其他變更設定方法的詳細資訊,請參閱組態選項。
設定您的 Linux 上的 .NET Core 環境
Linux 上的 .NET Core 平台設定可讓您微調 Amazon EC2 執行個體的行為。您可以使用 Elastic Beanstalk 主控台編輯 Elastic Beanstalk 環境的 Amazon EC2 執行個體組態。
使用 Elastic Beanstalk 主控台來啟用至 Amazon S3 的日誌輪換,和設定您的應用程式可以從環境讀取的變數。
若要使用 Elastic Beanstalk 主控台設定您的 Linux 上的 .NET Core 環境
開啟 Elastic Beanstalk 主控台
,然後在區域清單中選取您的 AWS 區域。 -
在導覽窗格中,選擇環境,然後在清單中選擇您環境的名稱。
注意
如果您有許多環境,請使用搜尋列來篩選環境清單。
在導覽窗格中,選擇組態。
-
在更新、監控和日誌記錄組態類別中,選擇編輯。
日誌選項
Log Options (日誌選項) 區段有兩個設定:
-
執行個體設定檔 – 指定有權存取與您應用程式相關的 Amazon S3 儲存貯體的執行個體設定檔。
-
Enable log file rotation to Amazon S3 (啟用 Amazon S3 的日誌檔案輪換) – 指定是否將應用程式 Amazon EC2 執行個體的日誌檔案複製到與應用程式關聯的 Amazon S3 儲存貯體。
環境屬性
Environment Properties (環境屬性) 區段可讓您針對執行您應用程式的 Amazon EC2 執行個體,來指定其上的環境資訊設定。環境屬性會以金鑰值對的形式傳到應用程式。
在 Elastic Beanstalk 內所執行的 Linux 上的 .NET Core 環境中,可使用 Environment.GetEnvironmentVariable("
來存取環境變數。例如,您可使用下列程式碼,來將名為 variable-name
")API_ENDPOINT
的屬性讀取到變數。
string endpoint = Environment.GetEnvironmentVariable("API_ENDPOINT");
如需詳細資訊,請參閱「環境屬性與其他軟體設定」。
Linux 上的 .NET Core 組態命名空間
您可以使用組態檔案來設定組態選項,並在部署期間執行其他的執行個體設定工作。組態選項可以是平台特定選項,也可以套用至 Elastic Beanstalk 服務整體中的所有平台。組態選項會組織成命名空間。
除了適用於所有 Elastic Beanstalk 環境的支援選項之外,Linux 上的 .NET Core 平台也支援使用下列命名空間的選項:
-
aws:elasticbeanstalk:environment:proxy
– 選擇使用 NGINX 或不使用代理伺服器。有效值為nginx
或none
。
下列組態檔案範例示範 Linux 上的 .NET Core 特定組態選項的使用。
範例 .ebextensions/proxy-settings.config
option_settings:
aws:elasticbeanstalk:environment:proxy:
ProxyServer: none
Elastic Beanstalk 可提供許多組態選項讓您自訂環境。除了組態檔案,您也可以使用主控台、已儲存組態、EB CLI 或 AWS CLI來設定組態選項。如需更多資訊,請參閱組態選項。