自動將 AWS 資源匯入 CloudFormation 堆疊 - AWS CloudFormation

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

自動將 AWS 資源匯入 CloudFormation 堆疊

您現在可以在建立或更新 CloudFormation 堆疊時自動匯入具名資源具名資源是具有自訂名稱的資源。如需詳細資訊,請參閱 CloudFormation 範本參考中的名稱類型

當您啟動自動匯入時,CloudFormation 會檢查符合您範本的現有資源,並在部署期間將其匯入。對於巢狀堆疊,請從根堆疊建立變更集。

在匯入完成且在執行後續的堆疊操作前,我們建議在匯入的資源上執行漂移偵測。漂移偵測可確保範本組態與實際組態相符。如需詳細資訊,請參閱在整個 CloudFormation 堆疊上偵測偏離

若要匯入資源,他們需要符合下列要求:

  • 資源必須在範本中定義靜態自訂名稱。目前不支援動態名稱 (使用 !Ref 或其他函數)。

  • 資源必須具有 RetainDeletionPolicyRetainExceptOnCreate

  • 資源不得已屬於另一個 CloudFormation 堆疊。

  • 資源類型必須支援 CloudFormation 匯入操作。如需詳細資訊,請參閱資源類型支援

  • 資源類型的主要 ID 必須在範本中。不支援具有唯讀屬性的主要 IDs。若要了解類型的主要 ID 是什麼,請在資源結構描述中尋找 primaryIdentifier 屬性。如需 屬性的詳細資訊,請參閱 primaryIdentifier

範例 自動匯入範例

下列範例使用變更集CreateChangeSetmy-stack根據範本檔案建立名為 的堆疊, template.yaml和 會自動匯入相符的資源。

aws cloudformation create-change-set \ --stack-name my-stack \ --change-set-name CreateChangeSet \ --change-set-type CREATE \ --template-body file://template.yaml \ --import-existing-resources

故障診斷

如果自動匯入失敗,請執行下列動作來疑難排解:

  • 驗證範本中的資源名稱是否完全符合資源的名稱

  • 確認資源尚未由另一個堆疊管理

  • 確定資源類型支援匯入操作

  • 驗證您的範本包含資源類型的所有必要屬性