これは 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 テンプレートへのパス。このオプションを指定し、ローカルテンプレートを指定します。
必須: 条件的。local 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デフォルト:
typescript
-
--output-path <PATH> -
移行された CDK プロジェクトの出力パス。
必須: いいえ
デフォルト: デフォルトでは、 AWS CDK CLI は現在の作業ディレクトリを使用します。
-
--region <STRING> -
AWS CloudFormation スタックテンプレートを取得する AWS リージョン。
必須: いいえ
デフォルト: AWS CDK CLI は、デフォルトのソースから AWS リージョン情報を取得します。
例
CloudFormation スタックから移行する簡単な例
を使用して、特定の AWS 環境にデプロイされた CloudFormation スタックから移行します--from-stack。--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スタックを含む新しい CDK アプリを TypeScript で作成する例です。
$ cdk migrate --stack-name "myCloudFormationStack" --language typescript --from-path "./template.json"
デプロイされた AWS リソースからの移行の簡単な例
を使用して、CloudFormation スタックに関連付けられていない特定の AWS 環境からデプロイされた AWS リソースを移行します--from-scan。CDK CLI は IaC generatorサービスを使用してリソースをスキャンし、テンプレートを生成します。次に、CDK CLI はテンプレートを参照して新しい CDK アプリを作成します。移行された AWS リソースを含む新しいmyCloudFormationStackスタックを使用して TypeScript で新しい CDK アプリケーションを作成する例を次に示します。
$ cdk migrate --language typescript --from-scan --stack-name "myCloudFormationStack"