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

自動將 AWS 資源匯入 CloudFormation 堆疊

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

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

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

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

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

  • 資源必須具有 RetainRetainExceptOnCreateDeletionPolicy

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

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

  • 資源類型的主要 ID 必須包含在範本中。具有唯讀屬性的主要 ID 不受支援。若要查詢某類型的主要 ID,請在資源結構描述中查找 primaryIdentifier 屬性。如需該屬性的詳細資訊,請參閱 primaryIdentifier

範例 自動匯入範例

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

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

疑難排解

若自動匯入失敗,請執行下列步驟進行疑難排解:

  • 確認範本中的資源名稱與實際資源名稱是否完全一致

  • 確認該資源未被另一個堆疊管理

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

  • 確認您的範本包含資源類型所需的全部必要屬性