cdk drift - AWS 雲端開發套件 (AWS CDK) v2

這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 已於 2022 年 6 月 1 日進入維護,並於 2023 年 6 月 1 日結束支援。

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

cdk drift

使用 AWS 雲端開發套件 (AWS CDK) 偵測您定義、管理和部署之資源的組態偏離。當堆疊的實際組態與其預期組態不同時,就會發生漂移,當資源在 AWS CloudFormation 外部修改時就會發生。

此命令會比較資源目前的狀態與預期的組態,以識別已修改的資源 (例如,透過 AWS 主控台或 AWS CLI)。這些修改可能會在您的基礎設施中造成非預期的行為。

在偏離偵測期間,CDK CLI 會輸出進度指標和結果,顯示:

  • 偏離預期組態的資源。

  • 具有漂移的資源總數。

  • 指出堆疊中是否偵測到偏離的摘要。

重要

cdk driftcdk diff命令的運作方式不同:

  • cdk drift 會呼叫 CloudFormation 的偏離偵測操作,將 AWS ("reality") 中的資源實際狀態與 CloudFormation 中的預期組態進行比較。並非所有 AWS 資源都支援偏離偵測。如需支援的資源清單,請參閱《 AWS CloudFormation 使用者指南》中的資源類型支援

  • cdk diff 會將從本機 CDK 程式碼合成的 CloudFormation 範本與已部署 CloudFormation 堆疊的範本進行比較。

當您需要驗證資源是否已在 CloudFormation 外部修改cdk drift時 (例如,透過 AWS 主控台或 AWS CLI),請使用 。當您想要預覽本機程式碼變更在部署之前如何影響您的基礎設施cdk diff時,請使用 。

用量

$ cdk drift <arguments> <options>

引數

Stack name (堆疊名稱)

您要檢查漂移的堆疊名稱。堆疊先前必須部署到 CloudFormation,才能執行偏離偵測。

類型:字串

必要:否

如果未指定堆疊,則會在 CDK 應用程式中定義的所有堆疊上執行偏離偵測。

選項

如需適用於所有 CDK CLI 命令的全域選項清單,請參閱全域選項

--fail <BOOLEAN>

如果偵測到偏離,請使用結束代碼 1 傳回 。

預設值false

--help, -h <BOOLEAN>

顯示命令的cdk drift命令參考資訊。

範例

檢查特定堆疊的偏離

$ cdk drift MyStackName

命令會輸出類似以下的結果:

Stack MyStackName Modified Resources [~] AWS::Lambda::Function MyFunction MyLambdaFunc1234ABCD └─ [~] /Description ├─ [-] My original hello world Lambda function └─ [+] My drifted hello world Lambda function 1 resource has drifted from their expected configuration ✨ Number of resources with drift: 1

刪除資源時檢查偏離

下列範例顯示當資源已修改和刪除時,輸出的外觀:

Stack MyStackName Modified Resources [~] AWS::Lambda::Function MyFunction MyLambdaFunc1234ABCD └─ [~] /Description ├─ [-] My original hello world Lambda function └─ [+] My drifted hello world Lambda function Deleted Resources [-] AWS::CloudWatch::Alarm MyAlarm MyCWAlarmABCD1234 2 resources have drifted from their expected configuration ✨ Number of resources with drift: 2

使用結束碼檢查偏離

若要讓命令在偵測到偏離時傳回非零結束碼:

$ cdk drift MyStackName --fail

這有助於 CI/CD 管道自動偵測和回應基礎設施偏離。