

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

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

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

[AWS CloudFormation リソースインポート](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html)を使用し、既存の AWS リソースを CDK スタックにインポートします。

このコマンドを使用すると、他のメソッドを使用して作成された既存のリソースを取得し、AWS CDK を使用して管理を開始できます。

リソースを CDK 管理に移行することを検討するとき、IAM ロール、Lambda 関数、イベントルールなどを使用して新しいリソースを作成することは認められます。Amazon S3 バケットや DynamoDB テーブルなどのステートフルリソースなどの他のリソースでは、新しいリソースを作成するとサービスに影響を与える可能性があります。`cdk import` を使用し、サービスの中断を最小限に抑えながら、既存のリソースをインポートできます。サポートされている AWS リソースのリストについては、「*AWS CloudFormation ユーザーガイド*」の「[リソースタイプのサポート](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import-supported-resources.html)」を参照してください。

 **既存のリソースを CDK スタックにインポートする方法**   

1. `cdk diff` を実行し、CDK スタックに保留中の変更がないことを確認します。`cdk import` を実行するとき、インポートオペレーションで許可される変更は、インポートされる新しいリソースの追加のみです。

1. スタックにインポートするリソースのコンストラクトを追加します。例えば、次のものを Amazon S3 バケットに追加します。

   ```
   new s3.Bucket(this, 'ImportedS3Bucket', {});
   ```

   その他の変更は加えないでください。リソースの現在の状態を必ず正確にモデル化する必要もあります。バケットの例では、AWS KMS キー、ライフサイクルポリシー、バケットに関連するその他のものを必ず含めてください。それ以外の場合、後続の更新操作は期待どおりに動作しない場合があります。

1. `cdk import` を実行します。CDK アプリに複数のスタックがある場合、特定のスタック名を引数として渡します。

1. CDK CLI は、インポートするリソースの実際の名前を渡すようにプロンプトが表示されます。この情報を指定したら、インポートが開始されます。

1. `cdk import` が正常処理を報告すると、リソースは CDK によって管理されます。コンストラクト設定のその後の変更は、リソースに反映されます。

この機能には現在、以下の制限があります。
+ ネストされたスタックにリソースをインポートすることはできません。
+ 指定したプロパティが、インポートされたリソースに対して正しくて完全かどうかは確認されません。インポート後にドリフト検出オペレーションを開始してみてください。
+ 他のリソースに依存するすべてのリソースは、正しい順序でまとめてまたは個別にインポートする必要があります。そうしないと、CloudFormation デプロイは未解決のリファレンスで失敗します。
+ このコマンドは、暗号化されたステージングバケットを読み取るために必要なデプロイロール認証情報を使用します。デプロイロールに必要な IAM アクセス許可を含むブートストラップテンプレートのバージョン 12 が必要です。

## 使用
<a name="ref-cli-cmd-import-usage"></a>

```
$ cdk import <arguments> <options>
```

## 引数
<a name="ref-cli-cmd-import-args"></a><a name="ref-cli-cmd-import-args-stack-name"></a>

 **CDK スタック ID**   
リソースをインポートするアプリの CDK スタックのコンストラクト ID。この引数は、1 つのコマンドで複数回指定できます。  
 *タイプ*: 文字列  
 *必須:* いいえ

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

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

 `--change-set-name <STRING>`   
作成する CloudFormation の変更セットの名前。<a name="ref-cli-cmd-import-options-execute"></a>

 `--execute <BOOLEAN>`   
変更セットを実行するかどうかを指定します。  
 *デフォルト値*: `true` <a name="ref-cli-cmd-import-options-force"></a>

 `--force, -f <BOOLEAN>`   
デフォルトでは、テンプレート差分に更新または削除が含まれている場合、CDK CLI はプロセスを終了させます。この動作を上書きして常にインポートを続行するには、`true` を指定します。<a name="ref-cli-cmd-import-options-help"></a>

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

 `--record-resource-mapping, -r <STRING>`   
このオプションを使用し、インポートする CDK リソースに既存の物理リソースのマッピングを生成します。マッピングは、指定したファイルパスに書き込まれます。実際のインポート操作は実行されません。<a name="ref-cli-cmd-import-options-resource-mapping"></a>

 `--resource-mapping, -m <STRING>`   
このオプションを使用し、リソースマッピングを定義するファイルを指定します。CDK CLI はこのファイルを使用し、インタラクティブに質問するのではなく、インポートするリソースに物理リソースをマッピングします。  
このオプションはスクリプトから実行できます。<a name="ref-cli-cmd-import-options-rollback"></a>

 `--rollback <BOOLEAN>`   
失敗時にスタックを安定状態にロールバックします。  
`false` を指定するには、`--no-rollback` または `-R` を使用できます。  
`false` を指定してより迅速に反復します。リソース置換を含むデプロイは必ず失敗します。  
 *デフォルト値*: `true` <a name="ref-cli-cmd-import-options-toolkit-stack-name"></a>

 `--toolkit-stack-name <STRING>`   
作成する CDK Toolkit スタックの名前。  
デフォルトでは、`cdk bootstrap` は指定された AWS 環境に `CDKToolkit` という名前のスタックをデプロイします。このオプションを使用し、ブートストラップスタックに別の名前を指定します。  
CDK CLI はこの値を使用してブートストラップスタックのバージョンを検証します。