了解模組版本控制 - AWS CloudFormation

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

了解模組版本控制

CloudFormation 登錄檔充當儲存庫,您可以在其中註冊和管理模組,以便在 AWS 帳戶 和 區域中使用。您可以在您的帳戶和區域中註冊來自各種來源的模組,包括 、 AWS第三方發佈者和您自己的自訂擴充功能。如需詳細資訊,請參閱使用 CloudFormation 登錄檔管理擴充功能

模組可以有不同的版本,因此您可以指定要使用的模組版本。當您需要更新或修改模組,而不破壞依賴該模組的現有堆疊時,此版本控制功能特別有用。

使用多個版本的模組時,請記住下列考量事項:

  • 在堆疊操作期間, CloudFormation 會使用目前註冊為執行堆疊操作之 AWS 帳戶 和 區域中預設版本的模組。這包括在其他模組中巢狀堆疊的模組。

    因此,請注意,如果您在不同帳戶或區域中註冊為預設版本的相同模組版本不同,使用相同的範本可能會導致不同的結果。

  • 在堆疊操作期間, CloudFormation 會使用目前註冊為執行堆疊操作之 AWS 帳戶 和 區域中預設版本的任何資源版本。其中包括內含模組所產生的資源。

  • 變更模組的預設版本不會起始任何堆疊更新操作。但是,下次使用包含該模組的任何範本執行堆疊操作時,例如堆疊更新, CloudFormation 將在操作中使用新的預設版本。

    如下所述,唯一的例外是,使用指定的 use previous template (使用先前範本) 選項執行堆疊更新時。

  • 對於堆疊更新操作,如果您指定使用先前範本選項, CloudFormation 會使用先前處理的範本進行堆疊更新,而且不會針對您可能對模組所做的任何變更重新處理模組。

  • 為了確保一致的結果,如果您在堆疊範本中包含模組,以便與堆疊集搭配使用,則應確保在計劃部署堆疊執行個體的所有帳戶和區域中,將相同版本的模組設定為預設版本。這包括在其他模組巢狀堆疊中的模組。如需詳細資訊,請參閱管理跨帳戶和區域的堆疊 StackSets

啟用第三方公有模組的需求

若要在您的帳戶和區域中成功啟用第三方公有模組,對於模組中包含的每個第三方公有延伸模組 (資源或模組),下列項目都必須為 true:

  • 延伸模組啟用 – 延伸模組必須在您要使用它的帳戶和區域中啟用。如需詳細資訊,請參閱從登錄檔使用第三方公有 CloudFormation延伸模組

  • 別名註冊 – 如果模組中的延伸模組使用類型名稱別名,則必須使用相同類型名稱別名在您的帳戶和區域中註冊延伸模組。如需詳細資訊,請參閱使用別名來參考延伸模組

  • 版本相容性 – 目前啟用的延伸模組版本必須是模組中指定延伸模組的其中一個支援主要版本。

如果您沒有啟用正確的第三方公有擴充功能和擴充功能版本, CloudFormation 將會失敗操作,並錯誤地列出在模組成功啟用之前需要啟用的擴充功能和版本。