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