これは AWS CDK v2 開発者ガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。
cdk import
AWS CloudFormation リソースインポートを使用し、既存の AWS リソースを CDK スタックにインポートします。
このコマンドを使用すると、他のメソッドを使用して作成された既存のリソースを取得し、AWS CDK を使用して管理を開始できます。
リソースを CDK 管理に移行することを検討するとき、IAM ロール、Lambda 関数、イベントルールなどを使用して新しいリソースを作成することは認められます。Amazon S3 バケットや DynamoDB テーブルなどのステートフルリソースなどの他のリソースでは、新しいリソースを作成するとサービスに影響を与える可能性があります。cdk import を使用し、サービスの中断を最小限に抑えながら、既存のリソースをインポートできます。サポートされている AWS リソースのリストについては、「AWS CloudFormation ユーザーガイド」の「リソースタイプのサポート」を参照してください。
- 既存のリソースを CDK スタックにインポートする方法
-
-
cdk diffを実行し、CDK スタックに保留中の変更がないことを確認します。cdk importを実行するとき、インポートオペレーションで許可される変更は、インポートされる新しいリソースの追加のみです。 -
スタックにインポートするリソースのコンストラクトを追加します。例えば、次のものを Amazon S3 バケットに追加します。
new s3.Bucket(this, 'ImportedS3Bucket', {});その他の変更は加えないでください。リソースの現在の状態を必ず正確にモデル化する必要もあります。バケットの例では、AWS KMS キー、ライフサイクルポリシー、バケットに関連するその他のものを必ず含めてください。それ以外の場合、後続の更新操作は期待どおりに動作しない場合があります。
-
cdk importを実行します。CDK アプリに複数のスタックがある場合、特定のスタック名を引数として渡します。 -
CDK CLI は、インポートするリソースの実際の名前を渡すようにプロンプトが表示されます。この情報を指定したら、インポートが開始されます。
-
cdk importが正常処理を報告すると、リソースは CDK によって管理されます。コンストラクト設定のその後の変更は、リソースに反映されます。
-
この機能には現在、以下の制限があります。
-
ネストされたスタックにリソースをインポートすることはできません。
-
指定したプロパティが、インポートされたリソースに対して正しくて完全かどうかは確認されません。インポート後にドリフト検出オペレーションを開始してみてください。
-
他のリソースに依存するすべてのリソースは、正しい順序でまとめてまたは個別にインポートする必要があります。そうしないと、CloudFormation デプロイは未解決のリファレンスで失敗します。
-
このコマンドは、暗号化されたステージングバケットを読み取るために必要なデプロイロール認証情報を使用します。デプロイロールに必要な IAM アクセス許可を含むブートストラップテンプレートのバージョン 12 が必要です。
使用
$ cdk import <arguments> <options>
引数
- CDK スタック ID
-
リソースをインポートするアプリの CDK スタックのコンストラクト ID。この引数は、1 つのコマンドで複数回指定できます。
タイプ: 文字列
必須: いいえ
オプション
すべての CDK CLI コマンドで動作するグローバルオプションのリストについては、「グローバルオプション」を参照してください。
-
--change-set-name <STRING> -
作成する CloudFormation の変更セットの名前。
-
--execute <BOOLEAN> -
変更セットを実行するかどうかを指定します。
デフォルト値:
true
-
--force, -f <BOOLEAN> -
デフォルトでは、テンプレート差分に更新または削除が含まれている場合、CDK CLI はプロセスを終了させます。この動作を上書きして常にインポートを続行するには、
trueを指定します。
-
--help, -h <BOOLEAN> -
cdk importコマンドのコマンドリファレンス情報を表示します。
-
--record-resource-mapping, -r <STRING> -
このオプションを使用し、インポートする CDK リソースに既存の物理リソースのマッピングを生成します。マッピングは、指定したファイルパスに書き込まれます。実際のインポート操作は実行されません。
-
--resource-mapping, -m <STRING> -
このオプションを使用し、リソースマッピングを定義するファイルを指定します。CDK CLI はこのファイルを使用し、インタラクティブに質問するのではなく、インポートするリソースに物理リソースをマッピングします。
このオプションはスクリプトから実行できます。
-
--rollback <BOOLEAN> -
失敗時にスタックを安定状態にロールバックします。
falseを指定するには、--no-rollbackまたは-Rを使用できます。falseを指定してより迅速に反復します。リソース置換を含むデプロイは必ず失敗します。デフォルト値:
true
-
--toolkit-stack-name <STRING> -
作成する CDK Toolkit スタックの名前。
デフォルトでは、
cdk bootstrapは指定された AWS 環境にCDKToolkitという名前のスタックをデプロイします。このオプションを使用し、ブートストラップスタックに別の名前を指定します。CDK CLI はこの値を使用してブートストラップスタックのバージョンを検証します。