

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Elastic Beanstalk Linux 平台
<a name="platforms-linux"></a>

Elastic Beanstalk Linux 平台提供大量立即可用的功能。您可以透過多種方式擴充平台以支援您的應用程式。如需詳細資訊，請參閱[擴充 Elastic Beanstalk Linux 平台](platforms-linux-extend.md)。

Elastic Beanstalk 支援的大多數平台均以 Linux 作業系統為基礎。具體而言，這些平台是以 提供的 Linux 發行版本 Amazon Linux 為基礎 AWS。Elastic Beanstalk Linux 平台使用 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體，而這些執行個體執行 Amazon Linux。

**Topics**
+ [支援的 Amazon Linux 版本](#platforms-linux.versions)
+ [Elastic Beanstalk Linux 平台的清單](#platforms-linux.list)
+ [執行個體部署工作流程](platforms-linux-extend.workflow.md)
+ [執行於 Amazon Linux 2 和更新版本的 ECS 的執行個體部署工作流程](platforms-linux-extend.workflow.ecs-al2.md)
+ [適用於 Elastic Beanstalk 環境的平台指令碼工具](custom-platforms-scripts.md)

## 支援的 Amazon Linux 版本
<a name="platforms-linux.versions"></a>

AWS Elastic Beanstalk 支援以 Amazon Linux 2 和 Amazon Linux 2023 為基礎的平台。

如需 Amazon Linux 2 和 Amazon Linux 2023 的詳細資訊，請參閱下列內容：
+ **Amazon EC2 ***使用者指南中的 Amazon Linux Amazon EC2 * [Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html)。
+ **Amazon Linux 2023** –《*Amazon Linux 2023 使用者指南*》中的[什麼是 Amazon Linux 2023？](https://docs.aws.amazon.com/linux/al2023/ug/what-is-amazon-linux.html)

如需支援平台版本的詳細資訊，請參閱[支援 Elastic Beanstalk 的平台](concepts.platforms.md)。

**注意**  
您可以將應用程式從 Elastic Beanstalk AL1 或 AL2 平台分支遷移到同等的 AL2023 平台分支。如需詳細資訊，請參閱[將您的 Elastic Beanstalk Linux 應用程式遷移到 Amazon Linux 2023 或 Amazon Linux 2](using-features.migration-al.md)。

### Amazon Linux 2023
<a name="platforms-linux.versions.al2023"></a>

AWS 於 2023 年 3 月宣布 Amazon Linux 2023 [正式上市](https://aws.amazon.com//blogs/aws/amazon-linux-2023-a-cloud-optimized-linux-distribution-with-long-term-support/)。《*Amazon Linux 2023 使用者指南*》總結說明了 Amazon Linux 2 與 Amazon Linux 2023 間的主要差異。如需詳細資訊，請參閱《使用者指南》中的[比較 Amazon Linux 2 及 Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html)。

Elastic Beanstalk Amazon Linux 2 和 Amazon Linux 2023 平台之間具有高度相容性。雖然有部分差異需要注意：
+ **執行個體中繼資料服務版本 1 (IMDSv1)** – AL2023 平台上的 [DisableIMDSv1](command-options-general.md#command-options-general-autoscalinglaunchconfiguration) 選項設定預設為 `true`。AL2 平台上的預設值為 `false`。
+ **pkg-repo 執行個體工具** — [pkg-repo](custom-platforms-scripts.md#custom-platforms-scripts.pkg-repo) 工具不適用於在 AL2023 平台上執行的環境。不過，您仍可手動將套件和作業系統更新套用至 AL2023 執行個體。如需詳細資訊，請參閱《*Amazon Linux 2023 使用者指南*》中的[管理套件和作業系統更新](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html)。
+ **Apache HTTPd 組態** — AL2023 平台的 Apache `httpd.conf` 檔案具有部分與 AL2 不同的組態設定：
  + 在預設情況下，拒絕存取伺服器的整個檔案系統。Apache 網站[安全性提示](https://httpd.apache.org/docs/2.4/misc/security_tips.html)頁面上的*依預設保護伺服器檔案*，提供了對此類設定的說明。
  + 拒絕在所有目錄中設定 `.htaccess`的存取權，特別啟用的目錄除外。Apache 網站[安全性提示](https://httpd.apache.org/docs/2.4/misc/security_tips.html)頁面上的*保護系統設定*，提供了對此設定的說明。[Apache HTTP 伺服器教學課程：.htaccess 檔案](https://httpd.apache.org/docs/2.4/howto/htaccess.html)頁面指出，這項設定可能有助於改善效能。
  + 拒絕存取具有名稱模式 `.ht*` 的檔案。此設定可防止 Web 用戶端檢視 `.htaccess` 和 `.htpasswd` 檔案。

  您可以針對您的環境變更上述任何組態設定。如需詳細資訊，請參閱[設定 Apache HTTPD](platforms-linux-extend.proxy.md#platforms-linux-extend.proxy.httpd)。
+ **多行環境變數支援** – AL2023 平台支援系統化服務組態中環境變數和秘密的多行值。Amazon Linux 2 平台不支援多行環境變數值。此增強功能可讓您在 AL2023 平台上使用多行秘密和組態值。如需使用環境變數和秘密的詳細資訊，請參閱 [Amazon Linux 2 環境變數中的多行值](AWSHowTo.secrets.env-vars.md#AWSHowTo.secrets.multiline)。
+ **CloudWatch 自訂日誌轉送** – 已取代的 CloudWatch Logs 代理程式 (`awslogs` 套件） 不適用於 AL2023 平台。如果您有安裝和使用已棄用`awslogs`代理程式的自訂日誌轉送組態，則必須更新您的組態檔案，以便在從 Amazon Linux 2 遷移至 AL2023 時使用統一的 CloudWatch 代理程式。如需詳細資訊，請參閱[自訂日誌檔串流](AWSHowTo.cloudwatchlogs.md#AWSHowTo.cloudwatchlogs.streaming.custom)。

**平台特定差異**

除了基本作業系統差異之外，Amazon Linux 2 和 AL2023 執行期平台之間也有平台特定的差異：
+ **.NET 平台分支** – Amazon Linux 2 和 AL2023 之間的 .NET 平台分支策略不同。在 Amazon Linux 2 上，.NET Core 平台會在單一平台分支中維護 .NET 主要版本的輪換時段。在 AL2023 上，每個平台分支會固定到特定的 .NET 主要版本 （例如 .NET 9、.NET 10)。

  如果您部署與架構相關的應用程式 （依賴平台安裝的 .NET 執行期的應用程式），您必須選取符合您應用程式目標 .NET 版本的平台分支。如果您部署獨立應用程式 （綁定自己的 .NET 執行期的應用程式），無論應用程式的 .NET 版本為何，您都可以使用任何 AL2023 .NET 平台分支，因為您的應用程式不依賴於平台安裝的執行期。如需詳細資訊，請參閱[Linux Elastic Beanstalk 平台上 .NET Core 的綁定應用程式](dotnet-linux-platform-bundle-app.md)。
+ **Node.js 版本選擇** – Amazon Linux 2 上的 Node.js 平台支援在您的應用程式`package.json`檔案中指定 Node.js 版本。AL2023 上的 Node.js 平台不支援此功能。您必須使用平台分支提供的預設 Node.js 版本。如需 Node.js 版本管理的詳細資訊，請參閱[在 Elastic Beanstalk 上設定應用程式的相依性](nodejs-platform-dependencies.md)。
+ **Ruby Puma 伺服器版本** – Amazon Linux 2 上的 Ruby 平台會忽略應用程式`Gemfile.lock`檔案中指定的 Puma 版本，並使用平台預設的 Puma 版本。AL2023 上的 Ruby 平台會遵守 中指定的 Puma 版本，`Gemfile.lock`如果有的話。如果未指定版本，平台會安裝平台預設的 Puma 版本。
+ **PHP 套件可用性** – Amazon Linux 2 PHP 平台上提供的某些套件不適用於 AL2023 PHP 平台：
  + *MySQL 用戶端套件* – `mysql`和`mysql-devel`命令列用戶端套件未安裝在 AL2023 PHP 平台上。如果您的應用程式需要 MySQL 資料庫連線，請使用 PHP `mysqli`或 `pdo_mysql`擴充功能，這兩個平台皆可使用。
  + *Compass 和 Ruby 工具* – Compass CSS 架構支援的 `ruby-devel`和 `rubygems`套件不會安裝在 AL2023 PHP 平台上。Compass 已棄用。請考慮使用現代 CSS 預先處理工具做為替代方案。
+ **Go 版本控制工具** – Bazaar 版本控制系統 (`bzr`) 不適用於 AL2023 Go 平台。Bazaar 已棄用，不包含在 AL2023 套件儲存庫中。請改用 Git、Mercurial 或 Subversion 進行版本控制，所有這些都可以在 AL2023 Go 平台上使用。

## Elastic Beanstalk Linux 平台的清單
<a name="platforms-linux.list"></a>

以下清單列出 Elastic Beanstalk 針對不同程式設計語言和 Docker 容器支援的 Linux 平台。Elastic Beanstalk 為以 Amazon Linux 2 和 Amazon Linux 2023 為基礎的平台提供所有以下支援。如需有關平台的詳細資訊，請選取相應的連結。
+ [Docker (和 ECS Docker)](create_deploy_docker.md) 
+ [Go](create_deploy_go.md)
+ [Tomcat (執行 Java SE)](create_deploy_Java.md)
+ [Java SE](create_deploy_Java.md)
+ [Linux 上的 .NET Core](create-deploy-dotnet-core-linux.md)
+ [Node.js](create_deploy_nodejs.md)
+ [PHP](create_deploy_PHP_eb.md)
+ [Python](create-deploy-python-apps.md)
+ [Ruby](create_deploy_Ruby.md)