這是 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 部署會失敗,並顯示未解析的參考。
-
此命令使用部署角色登入資料,這是讀取加密預備儲存貯體的必要條件。這需要引導範本的第 12 版,其中包含部署角色所需的 IAM 許可。
用量
$
cdk import
<arguments>
<options>
引數
- CDK 堆疊 ID
-
要匯入資源之應用程式的 CDK 堆疊建構 ID。此引數可在單一命令中提供多次。
類型:字串
必要:否
選項
如需適用於所有 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
的堆疊部署CDKToolkit
到指定的 AWS 環境中。使用此選項為您的引導堆疊提供不同的名稱。CDK CLI使用此值來驗證您的引導堆疊版本。