本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自動將 AWS 資源匯入 CloudFormation 堆疊
現在建立或更新 CloudFormation 堆疊時,您可以自動匯入具名資源。具名資源指具有自訂名稱的資源。如需詳細資訊,請參閱 CloudFormation 範本參考中的名稱類型。
啟動自動匯入後,CloudFormation 會檢查與您的範本匹配的現有資源,並在部署期間將其匯入。對於巢狀堆疊,請從根堆疊建立變更集。
在匯入完成且在執行後續的堆疊操作前,我們建議在匯入的資源上執行漂移偵測。漂移偵測可確保範本組態與實際組態相符。如需詳細資訊,請參閱在整個 CloudFormation 堆疊上偵測偏離。
若要匯入資源,需符合下列要求:
-
資源必須在您的範本中定義靜態自訂名稱。目前不支援動態名稱 (使用 !Ref 或其他函數建立)。
-
資源必須具有
Retain或RetainExceptOnCreate的DeletionPolicy。 -
資源不得已屬於另一個 CloudFormation 堆疊。
-
該資源類型必須支援 CloudFormation 匯入操作。如需詳細資訊,請參閱資源類型支援。
-
資源類型的主要 ID 或其他識別符必須在範本中。不支援具有唯讀屬性的主要 IDs 或其他識別符。若要了解類型的主要 ID 或其他識別符,請在資源結構描述中尋找
primaryIdentifier和additionalIdentifiers屬性。如需這些項目的詳細資訊,請參閱資源類型定義結構描述。
範例自動匯入範例
下列範例使用變更集 CreateChangeSet,根據範本檔案 template.yaml 建立名為 my-stack 的堆疊,並會自動匯入相符的資源。
aws cloudformation create-change-set \ --stack-namemy-stack\ --change-set-nameCreateChangeSet\ --change-set-type CREATE \ --template-bodyfile://template.yaml\ --import-existing-resources
疑難排解
若自動匯入失敗,請執行下列步驟進行疑難排解:
確認範本中的資源名稱與實際資源名稱是否完全一致
確認該資源未被另一個堆疊管理
確定資源類型支援自動匯入
確認您的範本包含資源類型所需的全部必要屬性
支援的資源類型
下表列出目前支援自動匯入 AWS 的資源類型。