これは AWS CDK v2 デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
cdk migrate
デプロイされた AWS リソース、AWS CloudFormation スタック、CloudFormation テンプレートを新しい AWS CDK プロジェクトに移行します。
このコマンドは、--stack-name を使用して指定した値で名前が付けられた 1 つのスタックを含む新しい CDK アプリを作成します。--from-scan、--from-stack、--from-path を使用して移行ソースを設定できます。
cdk migrate の使用の詳細については、「既存のリソースと AWS CloudFormation テンプレートを AWS CDK に移行する」を参照してください。
注記
cdk migrate コマンドは実験的であり、今後は大幅な変更が行われる場合があります。
使用
$ cdk migrate <options>
オプション
すべての CDK CLI コマンドで動作するグローバルオプションのリストについては、「グローバルオプション」を参照してください。
必須のオプション
-
--stack-name <STRING> -
移行後に CDK アプリ内で作成される AWS CloudFormation スタックの名前。
必須: はい
条件的なオプション
-
--from-path <PATH> -
移行する AWS CloudFormation テンプレートへのパス。このオプションを指定し、ローカルテンプレートを指定します。
必須: 条件的。ローカル AWS CloudFormation テンプレートから移行する場合は必要です。
-
--from-scan <STRING> -
デプロイされたリソースを AWS 環境から移行するときにこのオプションを使用し、新しいスキャンを開始するか、最後に正常に処理されたスキャンを AWS CDK CLI が使用するかを指定します。
必須: 条件的。デプロイされた AWS リソースからの移行時に必要です。
使用できる値:
most-recent、new
-
--from-stack <BOOLEAN> -
このオプションを指定し、デプロイされた AWS CloudFormation スタックから移行します。
--stack-nameを使用し、デプロイされた AWS CloudFormation スタックの名前を指定します。必須: 条件的。デプロイされた AWS CloudFormation スタックから移行する場合に必要です。
任意のオプション
-
--account <STRING> -
AWS CloudFormation スタックテンプレートの取得元のアカウント。
必須: いいえ
デフォルト: AWS CDK CLI はデフォルトのソースからアカウント情報を取得します。
-
--compress <BOOLEAN> -
このオプションを指定し、生成された CDK プロジェクトを
ZIPファイルに圧縮します。必須: いいえ
-
--filter <ARRAY> -
AWS アカウントおよび AWS リージョンからデプロイされたリソースを移行するときに使用します。このオプションは、移行するデプロイされたリソースを決定するフィルターを指定します。
このオプションは、キーと値のペアの配列を受け入れます。ここではキーはフィルタータイプを表し、値はフィルターする値を表します。
使用できるキーは次のとおりです。
-
resource-identifier- リソースの識別子。値はリソースの論理 ID または物理 ID にすることができます。例えば、resource-identifier="ClusterName"。 -
resource-type-prefix– AWS CloudFormation リソースタイプのプレフィックス。例えば、すべての Amazon DynamoDB リソースをフィルタリングするようにresource-type-prefix="AWS::DynamoDB::"を指定します。 -
tag-key– リソースタグの鍵。例えば、tag-key="myTagKey"。 -
tag-value– リソースタグの値。例えば、tag-value="myTagValue"。
AND条件ロジックに複数のキーと値のペアを指定します。次の例では、--filter resource-type-prefix="AWS::DynamoDB::", tag-key="myTagKey"のタグキーとしてmyTagKeyにタグ付けされている DynamoDB リソースをフィルタリングします。OR条件ロジックに--filterオプションを 1 つのコマンドで複数回指定します。次の例では、DynamoDB リソースであるすべてのリソースをフィルタリングするか、--filter resource-type-prefix="AWS::DynamoDB::" --filter tag-key="myTagKey"のタグキーとしてmyTagKeyにタグ付けされているリソースをフィルタリングします必須: いいえ
-
-
--help, -h <BOOLEAN> -
cdk migrateコマンドのコマンドリファレンス情報を表示します。
-
--language <STRING> -
移行中に作成された CDK プロジェクトに使用するプログラミング言語。
必須: いいえ
有効な値:
typescript、python、java、csharp、go[Default] (デフォルト):
typescript
-
--output-path <PATH> -
移行された CDK プロジェクトの出力パス。
必須: いいえ
デフォルト: デフォルトでは、AWS CDK CLI は現在の作業ディレクトリを使用します。
-
--region <STRING> -
AWS CloudFormation スタックテンプレートを取得する AWS リージョン。
必須: いいえ
デフォルト: AWS CDK CLI はデフォルトのソースから AWS リージョン情報を取得します。
例
CloudFormation スタックから移行する簡単な例
--from-stack を使用し、デプロイされた CloudFormation スタックから特定の AWS 環境に移行します。--stack-name を指定して新しい CDK スタックに名前を付けます。次の内容は、TypeScript を使用している新しい CDK アプリに myCloudFormationStack を移行する例です。
$ cdk migrate --language typescript --from-stack --stack-name 'myCloudFormationStack'
ローカル CloudFormation テンプレートから移行する簡単な例
--from-path を使用し、ローカル JSON または YAML CloudFormation テンプレートから移行します。--stack-name を指定して新しい CDK スタックに名前を付けます。次の内容は、ローカル template.json ファイルからの myCloudFormationStack スタックを含む TypeScript に新しい CDK アプリを作成する例です。
$ cdk migrate --stack-name "myCloudFormationStack" --language typescript --from-path "./template.json"
デプロイされた AWS リソースから移行する簡単な例
--from-scan を使用して、CloudFormation スタックに関連付けられていない特定の AWS 環境からデプロイされた AWS リソースを移行します。CDK CLI は IaC generator サービスを使用し、リソースをスキャンしてテンプレートを生成します。次に、CDK CLI はテンプレートを参照して新しい CDK アプリを作成します。次の内容は、移行された AWS リソースを含む新しい myCloudFormationStack スタックを持つ TypeScript に新しい CDK アプリを作成する例です。
$ cdk migrate --language typescript --from-scan --stack-name "myCloudFormationStack"