これは AWS CDK v2 デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
cdk drift
AWS Cloud Development Kit (AWS CDK) を使用して、定義、管理、デプロイするリソースの設定ドリフトを検出します。ドリフトは、スタックの実際の設定が予想される設定と異なる場合に発生します。これは、 AWS CloudFormation の外部でリソースが変更された場合に発生します。
このコマンドは、現在の状態と予想される設定を比較することで、変更されたリソース ( AWS コンソールや AWS CLI など) を識別します。これらの変更により、インフラストラクチャで予期しない動作が発生する可能性があります。
ドリフト検出中、CDK CLI は進行状況インジケータと結果を出力し、以下を表示します。
-
予想される設定からドリフトしたリソース。
-
ドリフトのあるリソースの合計数。
-
スタックでドリフトが検出されたかどうかを示す概要。
重要
コマンドcdk drift
と cdk diff
コマンドの動作は異なります。
-
cdk drift
は CloudFormation のドリフト検出オペレーションを呼び出し、 のリソースの実際の状態 AWS (「現実」) と CloudFormation の予想される設定を比較します。すべての AWS リソースがドリフト検出をサポートしているわけではありません。サポートされているリソースのリストについては、 AWS CloudFormation ユーザーガイド」の「リソースタイプのサポート」を参照してください。 -
cdk diff
は、ローカル CDK コードから合成された CloudFormation テンプレートを、デプロイされた CloudFormation スタックのテンプレートと比較します。
リソースが CloudFormation の外部で ( AWS コンソールや AWS CLI などを介して) 変更されたかどうかを確認するcdk drift
必要がある場合に使用します。デプロイ前にローカルコードの変更がインフラストラクチャにどのように影響するかをプレビューcdk diff
する場合は、 を使用します。
使用方法
$ cdk drift <arguments> <options>
引数
- スタック名
-
ドリフトをチェックするスタックの名前。ドリフト検出を実行するには、スタックを以前に 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 パイプラインでインフラストラクチャのドリフトを自動的に検出して対応するのに役立ちます。