步驟 16:更新技術指南以使用社群技術指南 - AWS OpsWorks

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

步驟 16:更新技術指南以使用社群技術指南

重要

該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post 或透過進AWS 階 Support 與 AWS Support 團隊聯絡。

最後,更新技術指南以使用 Chef 社群提供之外部技術指南中的功能。您在本演練中會使用的外部技術指南可從 Chef Supermarket 取得。該網站為存取外部 Chef 技術指南的熱門位置。此外部技術指南提供自訂資源,可讓您下載及安裝應用程式,與您在步驟 4:更新技術指南以安裝套件中執行的作業相似。而除了套件外,此資源還可安裝 Web 應用程式和其他應用程式類型。

當技術指南依存於另一個技術指南時,您必須指定其對其他技術指南的依存性。若要宣告及管理技術指南依存性,我們建議您使用名為 Berkshelf 的工具。如需如何在本機工作站上安裝 Berkshelf 的詳細資訊,請參閱 Chef 網站上的關於 Berkshelf

在您安裝 Berkshelf 之後,遵循這些程序以宣告技術指南的依存性,然後建立呼叫外部技術指南中資源的配方。

宣告技術指南依存性
  1. 在您的本機工作站上,於 opsworks_cookbook_demo 目錄中,在 metadata.rb 檔案的結尾新增此行:

    depends "application", "5.0.0"

    這會宣告其依存於名為 application,版本 5.0.0 的技術指南。

  2. opsworks_cookbook_demo 目錄的根,執行下列命令。命令結尾的句號是有意的。

    berks init .

    Berkshelf 會建立您在稍後針對更進階的案例可使用的資料夾及檔案。我們在本演練中所需要的檔案為名為 Berksfile 的檔案。

  3. Berksfile 檔案的結尾新增此行:

    cookbook "application", "5.0.0"

    這會通知 Berkshelf 您希望使用 應用程式技術指南,版本 5.0.0。Berkshelf 可從 Chef Supermarket 下載。

  4. 在終端機或命令提示中,從 opsworks_cookbook_demo 目錄的根執行下列命令:

    berks install

    Berkshelf 會為您的技術指南和應用程式技術指南建立依存性清單。Berkshelf 會在下一個程序中使用此依存性清單。

更新執行個體上的技術指南及執行新的配方
  1. recipes 目錄中的 opsworks_cookbook_demo 子目錄內,建立名為 dependencies_demo.rb 的檔案,其中包含下列程式碼:

    application "Install NetHack" do package "nethack.x86_64" end

    此配方取決於應用程序食譜中的應用程序資源,以便 NetHack 在實例上安裝流行的基於文本的冒險遊戲。(您當然可以將其取代為任何其他的套件名稱,只要執行個體上的套件管理員可取得該套件即可。)

  2. opsworks_cookbook_demo 目錄的根,執行下列命令:

    berks package

    Berkshelf 使用先前程序中的依存性清單,來建立名為 cookbooks-timestamp.tar.gz 的檔案,其中包含 opsworks_cookbook_demo 目錄及其更新後的內容,包含技術指南的依存技術指南。將此檔案重新命名為 opsworks_cookbook_demo.tar.gz

  3. 將更新並重新命名後的 opsworks_cookbook_demo.tar.gz 檔案上傳至 S3 儲存貯體。

  4. 遵循步驟 5:更新執行個體上的技術指南及執行配方中的程序,更新執行個體上的技術指南及執行配方。在「執行配方」程序中,針對 Recipes to execute (要執行的配方),輸入 opsworks_cookbook_demo::dependencies_demo

  5. 在您執行配方之後,應該可以登入執行個體,然後在命令提示輸入 nethack 來開始遊玩。(有關遊戲的更多信息,請參閱NetHack和指NetHack南。)

下一個步驟中,您可以清理用於此逐步解說的 AWS 資源。此步驟為選用。你可能會想繼續使用這些 AWS 資源,繼續進一步了解「 AWS OpsWorks 堆疊」。但是,保留這些 AWS 資源可能會導致您的 AWS 帳戶持續收取一些費用。如果您想要保留這些 AWS 資源供日後使用,您現在已完成此逐步解說,而且您可以跳到後續步驟