これは AWS CDK v2 デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
cdk refactor
重要
cdk refactor
コマンドはプレビューリリースであり、変更される可能性があります。
このコマンドを使用するときは、 --unstable=refactor
オプションを指定する必要があります。
AWS Cloud Development Kit (AWS CDK) アプリケーションでコードをリファクタリングするときに、デプロイされたリソースを保持します。
コンストラクトの名前を変更したり、CDK コード内のスタック間でそれらを移動したりすると、CloudFormation は通常これらを新しいリソースとして扱い、置き換えが発生してサービスの中断やデータ損失につながる可能性があります。cdk refactor
コマンドはこれらの変更をインテリジェントに検出し、CloudFormation のリファクタリング API と連携して、論理 IDs を更新しながらリソースを保持します。
cdk refactor
を使用すると、次のことが可能になります。
-
コンストラクトの名前を変更して、リソースの置き換えを発生させることなく、コードベースをより明確にします。
-
リソースをスタック間で移動して、組織と懸念事項の分離を改善します。
-
基盤となるクラウドリソースを維持しながら、コンストラクト階層を再編成します (新しい L3 コンストラクトで AWS リソースをグループ化するなど)。
-
バージョン間で論理 IDsが変更されたときにリソースの置き換えをトリガーすることなく、サードパーティーの依存関係を含むコンストラクトライブラリを安全にアップグレードまたは切り替えることができます。
このコマンドは、変更を分析し、場所 (スタックと論理 ID) を変更するリソースのリストを表示し、アイデンティティと状態を維持しながら CloudFormation リソースを更新する複雑なプロセスを処理します。
実行すると、 コマンドは現在のコードとデプロイされた状態を比較してマッピングを自動的に計算します。CDK アプリケーションにデプロイされた状態とまったく同じリソースセットが含まれ、コンストラクトツリー内の場所のみが異なっていることを確認します。コマンドがリソースの追加、削除、または変更を検出すると、リファクタリングオペレーションはエラーメッセージで拒否されます。
計算のマッピング後、 コマンドは提案された変更を表示し、ユーザーの確認後にリファクタリングを適用します。あいまいさが検出された場合 (複数の有効なマッピングが可能な場合)、明示的なマッピングを含むオーバーライドファイルを提供して、これらのケースを解決できます。
詳細については、「CDK コードのリファクタリング時にデプロイされたリソースを保持する」を参照してください。
使用状況
$ cdk refactor <arguments> <options>
引数
- CDK スタック ID
-
リファクタリングするアプリケーションからの CDK スタックのコンストラクト ID。
複数のスタック IDs を指定して、それらのスタックにリファクタリングオペレーションを集中させることができます。リソースがスタック間で移動されていて、それらのスタックの 1 つが明示的に含まれていない場合、リファクタリングコマンドは自動的にオペレーションに追加のスタックを含めます。
スタック IDs を指定しない場合、アプリ内のすべてのスタックがリファクタリング対象と見なされます。
タイプ: 文字列
必須: いいえ
オプション
すべての CDK CLI コマンドで動作するグローバルオプションのリストについては、「グローバルオプション」を参照してください。
-
--dry-run
-
マッピングを適用せずにコンソールに出力します。
このオプションは、特に複雑なアプリケーションを操作するときに、実際にリファクタリングを実行する前に変更を検証するのに役立ちます。リソースを変更せずにどのような変更が行われるかを正確に示します。
-
--force
-
ユーザーに確認を求めることなく、リファクタリングを続行します。
これは、変更に自信があるインタラクティブ環境で役立ちます。CI/CD パイプラインなどの非インタラクティブ環境では、CDK CLI はプロンプトを表示せずに自動的に進行するため、このオプションは必要ありません。
-
--help, -h <BOOLEAN>
-
cdk refactor
コマンドのコマンドリファレンス情報を表示します。
-
--override-file <FILE>
-
CDK CLI がリソースのリファクタリング解決を決定できない場合にオーバーライドを指定します。このファイルには、JSON 形式のリソースマッピングが含まれています。以下に例を示します。
{ "environments": [ { "account": "123456789012", "region": "us-east-2", "resources": { "StackA.OldName": "StackB.NewName", "StackC.Foo": "StackC.Bar" } } ] }
-
--revert <FILE>
-
以前のリファクタリングを元に戻します。リソースマッピングを含むオーバーライドファイルを指定する必要があります。
これにより、以前のリファクタリングオペレーションが完全に元に戻されるわけではありません。リファクタリングを完全に元に戻すには、アプリケーションを以前の状態にロールバックし、リファクタリングプロセスを再度実行する必要があります。