本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
延伸 AWS OpsWorks 使用自訂範本堆疊組態檔
重要
所以此 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請聯絡 AWS Support 團隊上 AWS Re: 郵寄
注意
因為 AWS OpsWorks 堆疊處理廚師對 Windows 堆疊的執行方式與 Linux 堆疊的執行方式不同,您無法將本節中討論的技術用於 Windows 堆疊。
AWS OpsWorks 堆疊會使用範本建立檔案,例如組態檔案,這些檔案通常取決於許多設定的屬性。如果您使用自定義JSON或自定義食譜屬性來覆蓋 AWS OpsWorks 堆棧定義,您首選的設置被合併到配置文件中,以代替 AWS OpsWorks 堆疊設定。然而, AWS OpsWorks 堆棧不一定為每個可能的配置設置指定一個屬性; 它接受某些設置的默認值,並直接在模板中對其他設置進行硬編碼。如果沒有對應的話,您不能使用自定義JSON或自定義食譜屬性來指定首選設置 AWS OpsWorks 堆棧屬性。
您可以藉由建立自訂範本,來擴展組態檔案以包含額外組態設定。然後,您可以將所需的任何組態設定或其他內容新增至該檔案,並覆寫任何硬式編碼的設定。如需範本的詳細資訊,請參閱範本。
注意
您可以覆寫任何內建範本,但 opsworks-agent.monitrc.erb「除外」。
建立自訂範本
-
使用與內建技術指南相同的結構和目錄名稱來建立技術指南。接著,在適當的目錄中,使用您想要自訂之內建範本的相同結構和目錄名稱,來建立範本檔案。例如,若要使用自訂範本以擴展 Apache
httpd.conf
組態檔案,您必須在儲存庫中實作apache2
技術指南,且您的範本檔案必須為apache2/templates/default/apache.conf.erb
。使用完全相同的名稱允許 AWS OpsWorks 堆棧以識別自定義模板並使用它而不是內置模板。最簡單的方法是將內置的模板文件從內置食譜的 GitHub存儲庫複製到您的食譜
中,並根據需要對其進行修改。 重要
除了您想要自訂的範本檔案以外,請不要從內建的技術指南複製任何檔案。其他類型的技術指南檔案 (例如配方) 複本會建立重複的 Chef 資源,並可能造成錯誤。
技術指南也可以包含自訂屬性、配方和相關的檔案,但它們的檔案名稱不應與內建的檔案名稱重複。
-
自訂範本檔案以產生符合您要求的組態檔案。您可以新增更多設定、刪除現有的設定、取代硬式編碼的屬性等。
-
如果您尚未執行,請編輯堆疊設定以啟用自訂技術指南,並指定您的技術指南儲存庫。如需詳細資訊,請參閱安裝自訂技術指南。
注意
如需此程序的完整演練,請參閱覆寫內建範本。
若要覆寫範本,您不需要實作任何配方或新增配方至 layer 組態。 AWS OpsWorks 堆棧始終運行內置配方。當您執行配方以建立組態檔案時,它會自動使用您的自訂範本,而不是使用內建的範本。
注意
If AWS OpsWorks 堆疊」會對內建範本進行任何變更,因此你的自訂範本可能不同步,而且無法正常運作。例如,假設您的範本是參考相依檔案,則檔案名稱會變更。 AWS OpsWorks 堆棧不會經常進行此類更改,當模板發生更改時,它會列出更改並為您提供升級到新版本的選項。您應該監視 AWS OpsWorks 堆疊儲存庫以進行變更,並視需要手動更新範本。