本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS OpsWorks 堆棧 Support 廚師 12
重要
該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post
本節提供了廚師 12 Linux 的 AWS OpsWorks 堆棧的簡要概述。如需 Windows 上 Chef 12 的資訊,請參閱「入門:Windows」。如需 Linux 上舊版 Chef 的資訊,請參閱「適用於 Linux 的 Chef 11.10 和較舊版本」。
概觀
AWS OpsWorks 堆棧支持廚師 12,廚師的最新版本,用於 Linux 堆棧。如需詳細資訊,請參閱 Learn Chef
AWS OpsWorks 堆棧繼續支持廚師 11.10 用於 Linux 堆棧。不過,如果您是進階的 Chef 使用者,並希望享有廣泛的社群 cookbook (技術指南) 選擇或撰寫您自己的自訂 cookbook (技術指南),建議您使用 Chef 12。Chef 12 堆疊與 Chef 11.10 和較舊版 Linux 堆疊相比有下列優點:
-
兩個獨立的 Chef 執行-當命令在執行個體上執行時, AWS OpsWorks Stacks 代理程式現在會執行兩個獨立的 Chef 執行:一個執行個體將執行個體與其他 AWS 服務 (例如 AWS Identity and Access Management (IAM) 整合的任務,另一個執行您的自訂食譜。第一次 Chef 執行會在執行個體上安裝 AWS OpsWorks Stacks 代理程式,並執行系統工作,例如使用者設定和管理、磁碟區設定和設定、 CloudWatch 指標設定等。第二個執行則專門執行您在 AWS OpsWorks 堆疊生命週期事方面的自訂配方。第二個執行可讓您使用自己的 Chef cookbook (技術指南) 或社群 cookbook (技術指南)。
-
解決命名空間衝突 - 在 Chef 12 以前的版本中, AWS OpsWorks Stacks 會在共享環境中執行系統任務,以及執行內建和自訂配方。這導致命名空間衝突,並且缺乏有關運行哪些配方 AWS OpsWorks Stacks 的清晰度。您必須手動覆寫不需要的預設組態,這項任務耗時又容易出錯。在適用於 Linux 的廚師 12 中, AWS OpsWorks 堆棧不再支持內置的廚師食譜,適用於 PHP,Node.js 或 Rails 等應用程序服務器環境。通過消除內置配方, AWS OpsWorks Stacks 消除了內置和自定義配方之間的命名衝突問題。
-
對廚師社區食譜的強大支持 — AWS OpsWorks Stack Chef 12 Linux 為廚師超市的社區食譜提供了更好的兼容性和支持。現在,您可以使用與 AWS OpsWorks Stacks 先前提供的內建食譜更勝一籌的社群食譜,也就是專為與最新應用程式伺服器環境和架構搭配使用而設計的食譜。您可以在適用於 Linux 的 Chef 12 上執行大部分 cookbook (技術指南),而不需修改。有關更多信息,請訪問「學習廚師」網站上的「廚師
超 市」網站上的「廚師超市 」和「廚師食譜 」庫。GitHub -
及時的廚師 12 更新- AWS OpsWorks 堆棧將在每個廚師發布後不久將其廚師環境更新為最新的廚師 12 版本。隨著廚師 12,小廚師更新和新的 AWS OpsWorks 堆棧代理發布將一致。這可讓您直接測試新的 Chef 版本,並讓您的 Chef 配方和應用程式利用最新的 Chef 功能。
如需 Chef 12 以前之 Chef 支援版本的詳細資訊,請參閱「適用於 Linux 的 Chef 11.10 和較舊版本」。
移至 Chef 12
與對先前廚師版本 11.10,11.4 和 0.9 的支持相比,廚師 12 Linux 的密鑰 AWS OpsWorks 堆棧更改如下:
-
適用於 Linux 堆疊的 Chef 12 已不再提供或支援內建堆疊層。由於只會執行您的自訂配方,因此移除此支援可讓您全面了解執行個體的設定情況,並更輕鬆地撰寫及維護自訂 cookbook (技術指南)。例如,不再需要覆寫內建 AWS OpsWorks 堆疊配方的屬性。移除內建圖層也能讓 AWS OpsWorks Stack 更有效地支援由 Chef 社群所開發和維護的食譜,讓你可以充分利用它們。適用於 Linux 的 Chef 12 不再提供的內建堆疊層類型包括:AWS Flow (Ruby)、Ganglia、HAProxy、Java 應用程式伺服器、Memcached、MySQL、Node.js 應用程式伺服器、PHP 應用程式伺服器、Rails 應用程式伺服器和靜態 Web 伺服器。
-
由於 AWS OpsWorks Stacks 正在執行您提供的方法,因此不再需要透過執行自訂食譜來覆寫內建的 AWS OpsWorks Stacks 屬性。若要覆寫您自己或社群配方中的屬性,請遵循 Chef 12 文件內 About Attributes
中的說明和範例。
-
-
AWS OpsWorks 堆棧繼續為 Chef 12 Linux 堆棧提供以下幾層的支持:
-
Chef 12 Linux 的堆疊組態和資料包已變更,看起來與 Chef 12.2 Windows 的堆疊組態和資料包非常類似。這可讓您更輕鬆地查詢、分析這些資料包及排解其問題 (尤其如果您使用作業系統類型不同的堆疊)。請注意, AWS OpsWorks 堆疊不支援加密的資料袋。若要以加密形式存放機密資料 (例如密碼或憑證),建議您將它存放在私有 S3 儲存貯體中。然後,您可以建立自訂配方,定義其使用適用於 Ruby 的 Amazon 開發套件
擷取資料。如需範例,請參閱「使用SDK紅寶石」。如需詳細資訊,請參閱「AWS OpsWorks 堆疊資料袋參考」。 -
在 Chef 12 Linux 中,Berkshelf 不會再安裝到堆疊執行個體。相反地,建議您在本機開發機器上使用 Berkshelf,以在本機封裝您的 cookbook (技術指南) 相依性。然後將包含相依性的套件上傳到 Amazon 簡單儲存服務。最後,修改您的 Chef 12 Linux 堆疊,使其使用上傳的套件做為技術指南來源。如需詳細資訊,請參閱 本機封裝技術指南依存性。
-
不再支援 EBS 磁碟區的 RAID 組態。為了提高效能,您可以將佈建的 IOPS 用於亞馬遜彈性區塊存放區 (Amazon EBS
)。 -
不再支援 autofs。
-
不再支援 Subversion 儲存庫。
-
各堆疊層的 OS 套件安裝現在必須透過自訂配方完成。如需詳細資訊,請參閱 個別 layer 套件安裝。
支援的作業系統
Chef 12 支援與舊版 Chef 相同的 Linux 作業系統。如需 Chef 12 Linux 堆疊可以使用的 Linux 作業系統類型和版本清單,請參閱「操作系统」。
支援的執行個體類型
AWS OpsWorks 堆疊支援 Chef 12 Linux 堆疊的所有執行個體類型,除了專門的執行個體類型,例如高效能運算 (HPC) 叢集運算、叢集 GPU 和高記憶體叢集執行個體類型。
詳細資訊
若要進一步了解如何使用適用於 Linux 堆疊的 Chef 12,請參閱下列各章:
-
透過引導您使用 AWS OpsWorks Stack 主控台進行簡短的實作練習,以建立 Node.js 應用程式環境,向您介紹 AWS OpsWorks Stack。
-
向您介紹 AWS OpsWorks 堆疊和 Chef 12 Linux,方法是指導您使用 AWS OpsWorks 堆疊控制台進行實際操作,以創建一個基本的 Chef 12 Linux 堆棧,該堆棧包含一個帶有提供流量的 Node.js 應用程序的簡單層。
-
提供指導,用以將包含 cookbook (技術指南) 和配方的堆疊層新增至 Chef 12 Linux 堆疊。您可以使用 Chef 社群提供之現成可用的 cookbook (技術指南) 和配方,也可以自行建立。
-
比較及比對執行 Chef 11 以前 (含) 版本及 Chef 12 之 Linux 堆疊使用的執行個體 JSON。同時提供 Chef 12 執行個體 JSON 格式的參考文件指標。