了解 RFC 更新 CTs和 CloudFormation 範本偏離偵測 - AMS 進階使用者指南

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

了解 RFC 更新 CTs和 CloudFormation 範本偏離偵測

在 AMS 中佈建的資源使用修改過的 AWS CloudFormation 範本。如果資源直接透過服務的 AWS 管理主控台變更參數,則該資源的 CloudFormation 建立記錄會變得不同步。如果發生這種情況,且您嘗試使用 AMS 更新變更類型來更新 AMS 中的資源,則 AMS 會參考原始資源組態,並可能重設變更的參數。此重設可能會損壞,因此如果偵測到任何額外的 AMS 組態變更,AMS 會不允許具有更新變更類型的 RFCs。

如需更新變更類型的清單,請使用 主控台篩選條件。

漂移修復FAQs

AMS 漂移修復的問題和答案。您可以使用兩種變更類型來啟動偏離修復,一種是執行模式=手動或「需要檢閱」,另一種是執行模式=自動。

漂移修復支援的資源 (ct-3kinq0u4l33zf)

這些是漂移修復變更類型 (ct-3kinq0u4l33zf) 支援的資源。  若要修復任何資源,請改用「需要檢閱」(ct-34sxfo53yuzah) 變更類型。

AWS::EC2::Instance AWS::EC2::SecurityGroup AWS::EC2::VPC AWS::EC2::Subnet AWS::EC2::NetworkInterface AWS::EC2::EIP AWS::EC2::InternetGateway AWS::EC2::NatGateway AWS::EC2::NetworkAcl AWS::EC2::RouteTable AWS::EC2::Volume AWS::AutoScaling::AutoScalingGroup AWS::AutoScaling::LaunchConfiguration AWS::AutoScaling::LifecycleHook AWS::AutoScaling::ScalingPolicy AWS::AutoScaling::ScheduledAction AWS::ElasticLoadBalancing::LoadBalancer AWS::ElasticLoadBalancingV2::Listener AWS::ElasticLoadBalancingV2::ListenerRule AWS::ElasticLoadBalancingV2::LoadBalancer AWS::CloudWatch::Alarm

偏離修復變更類型

有關使用 AMS 偏離修復變更類型的問答。

如需偏離修補功能的支援資源清單,請參閱 漂移修復支援的資源 (ct-3kinq0u4l33zf)

重要

漂移修復會修改堆疊範本和/或參數,而且必須更新本機範本儲存庫或更新這些堆疊的任何自動化,才能使用最新的堆疊範本和參數。使用舊範本和/或參數而不同步可能會導致基礎資源的變更受損。

不需要的檢閱、自動化、CT (ct-3kinq0u4l33zf) 支援每個 RFC 僅修復 10 個資源。若要以 10 個批次修復剩餘的資源,請建立新的 RFCs,直到所有資源都修復為止。

我應該使用哪種偏離修復變更類型?

在以下情況下,我們建議您使用不需要檢閱的自動化 CT (ct-3kinq0u4l33zf):

  • 您嘗試使用自動化 CT 執行現有堆疊資源的更新,而 RFC 會被拒絕,因為堆疊是 DRIFTED

  • 您過去曾使用更新 CT,但因為堆疊已 DRIFTED 而失敗。您不需要再次嘗試更新,可以改用檢閱所需的手動 CT。

我們建議只在漂移修復不支援漂移資源類型時,才使用所需的檢閱手動 CT (ct-34sxfo53yuzah),不需要檢閱、自動化、CT (ct-3kinq0u4l33zf),或漂移修復不需要檢閱、自動化、CT 失敗。

修補期間對堆疊執行哪些變更?

修復需要更新堆疊範本和/或參數,具體取決於漂移的屬性。修補也會在修補期間更新堆疊的堆疊政策,並在修補完成後將堆疊政策還原至先前的值。

如何查看對堆疊範本和/或參數執行的變更?

在 RFC 的回應中,會提供變更摘要,其中包含下列資訊:

  • ChangeSummaryJson:包含堆疊範本和/或參數的變更摘要,做為偏離修復的一部分。修補會以多個階段執行。此變更摘要包含個別階段的變更。如果修復成功,請檢查最後一個階段的變更。如需依順序執行的階段,請參閱 JSON 中的 ExecutionPlan。例如,存在時的 RestoreReferences 區段一律在結尾執行,並包含修正後變更的 JSON。如果修復是在 DryRun 模式下執行,則這些變更都不會套用至堆疊。

  • PreRemediationStackTemplateAndConfigurationJson:在堆疊上觸發修復之前,包含 CloudFormation Stack 的組態快照,包括範本、參數、輸出、StackPolicyBody。

執行修復之後,我需要做什麼?
重要

您需要使用 RFC 摘要中提供的最新範本和參數,更新本機範本儲存庫或任何會更新修復堆疊的自動化。請務必這麼做,因為使用舊範本和/或參數可能會對堆疊資源造成進一步的破壞性變更。

在此修復期間,我的應用程式是否會生效?

修復是一種離線程序,僅在 CloudFormation 堆疊組態上執行。不會對基礎資源執行更新。

在修復之後,我可以繼續使用管理 | 其他 | 其他 RFCs 對資源執行更新嗎?

我們建議您一律使用可用的自動更新 CTs執行堆疊資源的更新。當可用的更新 CTs不支援您的使用案例時,請使用管理 | 其他 | 其他請求。

修補是否在堆疊中建立新的資源?

修復不會在堆疊中建立新的資源。不過,修補會建立新的輸出並更新堆疊範本中繼資料區段,以存放修補摘要供您參考。

修復永遠成功嗎?

修復需要仔細分析和驗證範本組態,以判斷是否可以執行。在這些驗證失敗的情況下,修復程序會停止,且堆疊範本或參數不會進行任何變更。此外,只能對支援的資源類型執行修復。

如果修復不成功,如何執行堆疊資源的更新?

您可以使用 管理 | 其他 | 其他 | 更新 CT (ct-0xdawir96cy7k) 來請求變更。AMS 會監控這類案例,並致力於改善修補解決方案。

我可以修復同時具有支援和不支援資源類型的堆疊嗎?

是。不過,只有在堆疊中找到支援的資源類型時,才會執行修復。如果任何不支援的資源類型為 DRIFTED,則不會繼續修復。

對於透過非 CFN 擷取 CTs 建立的堆疊,是否可以請求修復?

是。無論用於建立堆疊的變更類型為何,都可以在堆疊上執行修補。

我是否可以知道在修復之前將對堆疊執行的變更?

是。這兩種變更類型都提供 DryRun 選項,您可以用來請求在堆疊修復時執行的變更。不過,最終修復變更可能會因修復時堆疊上存在的偏離而有所不同。