

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

# OpsWorks Chef 12 Linux 的 Stacks 支援
<a name="chef-12-linux"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

本節提供 OpsWorks Stacks for Chef 12 Linux 的簡短概觀。如需 Windows 上 Chef 12 的資訊，請參閱「[入門：Windows](gettingstarted-windows.md)」。如需 Linux 上舊版 Chef 的資訊，請參閱「[適用於 Linux 的 Chef 11.10 和較舊版本](chef-11-linux.md)」。

## 概觀
<a name="chef-12-linux-overview"></a>

 OpsWorks Stacks 支援適用於 Linux 堆疊的 Chef 最新版本 Chef 12。如需詳細資訊，請參閱 [Learn Chef](https://docs.chef.io/)。

 OpsWorks Stacks 持續支援適用於 Linux 堆疊的 Chef 11.10。不過，如果您是進階的 Chef 使用者，並希望享有廣泛的社群 cookbook (技術指南) 選擇或撰寫您自己的自訂 cookbook (技術指南)，建議您使用 Chef 12。Chef 12 堆疊與 Chef 11.10 和較舊版 Linux 堆疊相比有下列優點：
+ **兩個不同的 Chef 執行** - 在執行個體上執行命令時， Stacks OpsWorks 代理程式現在會執行兩個隔離的 Chef 執行：一個執行用於整合執行個體與其他 AWS 服務的任務，例如 AWS Identity and Access Management (IAM)，另一個執行用於您的自訂技術指南。第一個 Chef 執行會在執行個體上安裝 OpsWorks Stacks 代理程式，並執行系統任務，例如使用者設定和管理、磁碟區設定和組態、CloudWatch 指標的組態等。第二個執行則專門執行您在 [OpsWorks Stacks 生命週期事件](workingcookbook-events.md)方面的自訂配方。第二個執行可讓您使用自己的 Chef cookbook (技術指南) 或社群 cookbook (技術指南)。
+ **解決命名空間衝突** - 在 Chef 12 以前的版本中， OpsWorks Stacks 會在共享環境中執行系統任務，以及執行內建和自訂配方。這會導致命名空間衝突，以及不清楚 Stacks OpsWorks 已執行哪些配方。您必須手動覆寫不需要的預設組態，這項任務耗時又容易出錯。在適用於 Linux 的 Chef 12 中， OpsWorks Stacks 不再支援 PHP、Node.js 或 Rails 等應用程式伺服器環境的內建 Chef 技術指南。透過消除內建配方， OpsWorks Stacks 消除了內建配方與自訂配方之間命名衝突的問題。
+ 對 **Chef 社群技術指南的強大支援** – OpsWorks Stacks Chef 12 Linux 為 Chef 超級市場的社群技術指南提供更高的相容性和支援。您現在可以使用優於 Stacks OpsWorks 先前提供的內建技術指南的社群技術指南，這些技術指南旨在與最新的應用程式伺服器環境和架構搭配使用。您可以在適用於 Linux 的 Chef 12 上執行大部分 cookbook (技術指南)，而不需修改。如需詳細資訊，請前往 [Learn Chef](https://docs.chef.io/supermarket.html) 網站上的 [Chef Supermarket](https://docs.chef.io/)、[Chef Supermarket](https://supermarket.chef.io/) 網站，以及 [GitHub](https://github.com/chef-cookbooks) 上的 [Chef Cookbooks](https://github.com/) 儲存庫。
+ **及時 Chef 12 更新** - OpsWorks Stacks 會在每次 Chef 發行後不久將其 Chef 環境更新為最新的 Chef 12 版本。使用 Chef 12，次要 Chef 更新和新的 OpsWorks Stacks 代理程式版本將會一致。這可讓您直接測試新的 Chef 版本，並讓您的 Chef 配方和應用程式利用最新的 Chef 功能。

如需 Chef 12 以前之 Chef 支援版本的詳細資訊，請參閱「[適用於 Linux 的 Chef 11.10 和較舊版本](chef-11-linux.md)」。

## 移至 Chef 12
<a name="chef-12-linux-moving-to"></a>

Chef 12 Linux OpsWorks 的 Key Stacks 變更與舊版 Chef 11.10、11.4 和 0.9 的支援相比，如下所示：
+ 適用於 Linux 堆疊的 Chef 12 已不再提供或支援內建堆疊層。由於只會執行您的自訂配方，因此移除此支援可讓您全面了解執行個體的設定情況，並更輕鬆地撰寫及維護自訂 cookbook (技術指南)。例如，不再需要覆寫內建 Stacks OpsWorks 配方的屬性。移除內建 layer 也可讓 OpsWorks Stacks 更好地支援 Chef 社群開發和維護的技術指南，讓您可以充分利用這些技術指南。適用於 Linux 的 Chef 12 不再提供的內建堆疊層類型包括：[AWS Flow (Ruby)](https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-awsflow.html)、[Ganglia](https://docs.aws.amazon.com/opsworks/latest/userguide/layers-other-ganglia.html)、[HAProxy](https://docs.aws.amazon.com/opsworks/latest/userguide/layers-haproxy.html)、[Java 應用程式伺服器](https://docs.aws.amazon.com/opsworks/latest/userguide/layers-java.html)、[Memcached](https://docs.aws.amazon.com/opsworks/latest/userguide/layers-other-memcached.html)、[MySQL](https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-db-mysql.html)、[Node.js 應用程式伺服器](https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-node.html)、[PHP 應用程式伺服器](https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-php.html)、[Rails 應用程式伺服器](https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-rails.html)和[靜態 Web 伺服器](https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-static.html)。
  + 由於 OpsWorks Stacks 正在執行您提供的配方，因此不再需要執行自訂技術指南來覆寫內建的 OpsWorks Stacks 屬性。若要覆寫您自己或社群配方中的屬性，請遵循 Chef 12 文件內 [About Attributes](https://docs.chef.io/attributes.html) 中的說明和範例。
+ OpsWorks Stacks 持續為 Chef 12 Linux 堆疊提供下列層的支援：
  + [自訂 Layer](workinglayers-custom.md)
  + [Amazon RDS 服務層](workinglayers-db-rds.md)
  + [ECS 叢集層](workinglayers-ecscluster.md)
+ Chef 12 Linux 的堆疊組態和資料包已變更，看起來與 Chef 12.2 Windows 的堆疊組態和資料包非常類似。這可讓您更輕鬆地查詢、分析這些資料包及排解其問題 (尤其如果您使用作業系統類型不同的堆疊)。請注意， OpsWorks Stacks 不支援加密的資料包。若要以加密形式存放機密資料 (例如密碼或憑證)，建議您將它存放在私有 S3 儲存貯體中。然後，您可以建立自訂配方，定義其使用[適用於 Ruby 的 Amazon 開發套件](https://aws.amazon.com/documentation/sdk-for-ruby/)擷取資料。如需範例，請參閱「[使用適用於 Ruby 的 SDK](cookbooks-101-opsworks-s3.md)」。如需詳細資訊，請參閱「[OpsWorks Stacks 資料包參考](data-bags.md)」。
+ 在 Chef 12 Linux 中，Berkshelf 不會再安裝到堆疊執行個體。相反地，建議您在本機開發機器上使用 Berkshelf，以在本機封裝您的 cookbook (技術指南) 相依性。然後將包含相依性的套件上傳至 Amazon Simple Storage Service。最後，修改您的 Chef 12 Linux 堆疊，使其使用上傳的套件做為技術指南來源。如需詳細資訊，請參閱[本機封裝技術指南依存性](best-practices-packaging-cookbooks-locally.md)。
+ 不再支援 EBS 磁碟區的 RAID 組態。為了提高效能，您可以使用 [Amazon Elastic Block Store (Amazon EBS) 的佈建 IOPS](https://aws.amazon.com/about-aws/whats-new/2012/07/31/announcing-provisioned-iops-for-amazon-ebs/)。
+ 不再支援 autofs。
+ 不再支援 Subversion 儲存庫。
+ 各堆疊層的 OS 套件安裝現在必須透過自訂配方完成。如需詳細資訊，請參閱[個別 layer 套件安裝](per-layer-os-package-install.md)。

## 支援的作業系統
<a name="chef-12-linux-supported-oses"></a>

Chef 12 支援與舊版 Chef 相同的 Linux 作業系統。如需 Chef 12 Linux 堆疊可以使用的 Linux 作業系統類型和版本清單，請參閱「[Linux 作業系統](workinginstances-os-linux.md)」。

## 支援的執行個體類型
<a name="chef-12-linux-supported-instance-types"></a>

OpsWorks Stacks 支援 Chef 12 Linux 堆疊的所有執行個體類型，除了高效能運算 (HPC) 叢集運算、叢集 GPU 和高記憶體叢集執行個體類型等特殊執行個體類型。

## 詳細資訊
<a name="chef-12-linux-more-info"></a>

 若要進一步了解如何使用適用於 Linux 堆疊的 Chef 12，請參閱下列各章：
+ [入門：範例](gettingstarted-intro.md)

  透過引導您使用 OpsWorks Stacks 主控台進行簡短的實作練習來建立 Node.js 應用程式環境，來向您介紹 OpsWorks Stacks。
+  [入門：Linux](gettingstarted-linux.md)

  向您介紹 OpsWorks Stacks 和 Chef 12 Linux，方法是引導您使用 Stacks 主控台進行實作練習，以建立基本的 Chef 12 Linux OpsWorks 堆疊，其中包含使用 Node.js 應用程式提供流量的簡單層。
+ [自訂 Layer](workinglayers-custom.md)

  提供指導，用以將包含 cookbook (技術指南) 和配方的堆疊層新增至 Chef 12 Linux 堆疊。您可以使用 Chef 社群提供之現成可用的 cookbook (技術指南) 和配方，也可以自行建立。
+ [移至資料包](attributes-to-data-bags.md)

  比較及比對執行 Chef 11 以前 (含) 版本及 Chef 12 之 Linux 堆疊使用的執行個體 JSON。同時提供 Chef 12 執行個體 JSON 格式的參考文件指標。