

これは AWS CDK v2 デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# `cdk migrate`
<a name="ref-cli-cdk-migrate"></a>

デプロイされた AWS リソース、AWS CloudFormation スタック、CloudFormation テンプレートを新しい AWS CDK プロジェクトに移行します。

このコマンドは、`--stack-name` を使用して指定した値で名前が付けられた 1 つのスタックを含む新しい CDK アプリを作成します。`--from-scan`、`--from-stack`、`--from-path` を使用して移行ソースを設定できます。

`cdk migrate` の使用の詳細については、「[既存のリソースと AWS CloudFormation テンプレートを AWS CDK に移行する](migrate.md)」を参照してください。

**注記**  
`cdk migrate` コマンドは実験的であり、今後は大幅な変更が行われる場合があります。

## 使用
<a name="ref-cli-cdk-migrate-usage"></a>

```
$ cdk migrate <options>
```

## オプション
<a name="ref-cli-cdk-migrate-options"></a>

すべての CDK CLI コマンドで動作するグローバルオプションのリストについては、「[グローバルオプション](ref-cli-cmd.md#ref-cli-cmd-options)」を参照してください。

### 必須のオプション
<a name="ref-cli-cdk-migrate-options-required"></a><a name="ref-cli-cdk-migrate-options-stack-name"></a>

 `--stack-name <STRING>`   
移行後に CDK アプリ内で作成される AWS CloudFormation スタックの名前。  
 *必須:* はい

### 条件的なオプション
<a name="ref-cli-cdk-migrate-options-conditional"></a><a name="ref-cli-cdk-migrate-options-from-path"></a>

 `--from-path <PATH>`   
移行する AWS CloudFormation テンプレートへのパス。このオプションを指定し、ローカルテンプレートを指定します。  
 *必須:* 条件的。ローカル AWS CloudFormation テンプレートから移行する場合は必要です。<a name="ref-cli-cdk-migrate-options-from-scan"></a>

 `--from-scan <STRING>`   
デプロイされたリソースを AWS 環境から移行するときにこのオプションを使用し、新しいスキャンを開始するか、最後に正常に処理されたスキャンを AWS CDK CLI が使用するかを指定します。  
 *必須:* 条件的。デプロイされた AWS リソースからの移行時に必要です。  
 *使用できる値*:`most-recent` 、`new`<a name="ref-cli-cdk-migrate-options-from-stack"></a>

 `--from-stack <BOOLEAN>`   
このオプションを指定し、デプロイされた AWS CloudFormation スタックから移行します。`--stack-name` を使用し、デプロイされた AWS CloudFormation スタックの名前を指定します。  
 *必須:* 条件的。デプロイされた AWS CloudFormation スタックから移行する場合に必要です。

### 任意のオプション
<a name="ref-cli-cdk-migrate-options-optional"></a><a name="ref-cli-cdk-migrate-options-account"></a>

 `--account <STRING>`   
AWS CloudFormation スタックテンプレートの取得元のアカウント。  
 必須: いいえ  
 *デフォルト*: AWS CDK CLI はデフォルトのソースからアカウント情報を取得します。<a name="ref-cli-cdk-migrate-options-compress"></a>

 `--compress <BOOLEAN>`   
このオプションを指定し、生成された CDK プロジェクトを `ZIP` ファイルに圧縮します。  
 必須: いいえ<a name="ref-cli-cdk-migrate-options-filter"></a>

 `--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` にタグ付けされているリソースをフィルタリングします  
 *必須:* いいえ<a name="ref-cli-cdk-migrate-options-help"></a>

 `--help, -h <BOOLEAN>`   
`cdk migrate` コマンドのコマンドリファレンス情報を表示します。<a name="ref-cli-cdk-migrate-options-language"></a>

 `--language <STRING>`   
移行中に作成された CDK プロジェクトに使用するプログラミング言語。  
 *必須:* いいえ  
 *有効な値*:`typescript` 、`python`、`java`、`csharp`、`go`  
 *[Default]* (デフォルト): `typescript` <a name="ref-cli-cdk-migrate-options-output-path"></a>

 `--output-path <PATH>`   
移行された CDK プロジェクトの出力パス。  
 必須: いいえ  
 *デフォルト*: デフォルトでは、AWS CDK CLI は現在の作業ディレクトリを使用します。<a name="ref-cli-cdk-migrate-options-region"></a>

 `--region <STRING>`   
AWS CloudFormation スタックテンプレートを取得する AWS リージョン。  
 *必須:* いいえ  
 *デフォルト*: AWS CDK CLI はデフォルトのソースから AWS リージョン情報を取得します。

## 例
<a name="ref-cli-cdk-migrate-examples"></a>

### CloudFormation スタックから移行する簡単な例
<a name="ref-cli-cdk-migrate-examples-1"></a>

`--from-stack` を使用し、デプロイされた CloudFormation スタックから特定の AWS 環境に移行します。`--stack-name` を指定して新しい CDK スタックに名前を付けます。次の内容は、TypeScript を使用している新しい CDK アプリに `myCloudFormationStack` を移行する例です。

```
$ cdk migrate --language typescript --from-stack --stack-name 'myCloudFormationStack'
```

### ローカル CloudFormation テンプレートから移行する簡単な例
<a name="ref-cli-cdk-migrate-examples-2"></a>

`--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 リソースから移行する簡単な例
<a name="ref-cli-cdk-migrate-examples-3"></a>

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