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