cdk migrate - AWS クラウド開発キット (AWS CDK) v2

これは 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-recentnew

--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 プロジェクトに使用するプログラミング言語。

必須: いいえ

有効な値:typescriptpythonjavacsharpgo

[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"