cdk migrate - AWS Cloud Development Kit (AWS CDK) v2

這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 於 2022 年 6 月 1 日進入維護,並於 2023 年 6 月 1 日結束支援。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

cdk migrate

將部署的 AWS 資源、 AWS CloudFormation 堆疊和 CloudFormation 範本移轉至新 AWS CDK 專案。

此命令會建立新的 CDK 應用--stack-name程式,其中包含以您提供的值命名的單一堆疊。您可以使用--from-scan--from-stack或來設定移轉來源--from-path

如需使用的詳細資訊cdk migrate,請參閱將現有資源和 AWS CloudFormation 範本遷移至 AWS CDK

注意

cdk migrate命令是實驗性的,future 可能會有突破性的變化。

用量

$ cdk migrate <options>

選項

如需與所有 CDK CLI 指令搭配使用的全域選項清單,請參閱全域選項

必要的選項

--stack-name STRING

移轉後將在 CDK 應用程式中建立的 AWS CloudFormation 堆疊名稱。

必要:是

條件式選項

--from-path PATH

要移轉之 AWS CloudFormation 範本的路徑。提供此選項以指定本端樣板。

必要:有條件限制。如果從本端 AWS CloudFormation 樣板移轉,則需要此選項。

--from-scan STRING

從 AWS 環境移轉已部署的資源時,請使用此選項指定是否應啟動新掃描,或是否 AWS CDK CLI應使用上次成功掃描。

必要:有條件限制。從部署的 AWS 資源移轉時需要此選項。

接受的值most-recentnew

--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。例如 resource-identifier="ClusterName"

  • resource-type-prefix— AWS CloudFormation 資源類型前置詞。例如,指定篩resource-type-prefix="AWS::DynamoDB::"選所有 Amazon DynamoDB 資源。

  • tag-key— 資源標籤的索引鍵。例如 tag-key="myTagKey"

  • tag-value— 資源標籤的值。例如 tag-value="myTagValue"

AND條件式邏輯提供多個鍵值對。下列範例會篩選任何標記myTagKey為標籤鍵的 DynamoDB 資源:。--filter resource-type-prefix="AWS::DynamoDB::", tag-key="myTagKey"

OR條件式邏輯的單一命令中多次提供--filter選項。下列範例會篩選任何屬於 DynamoDB 資源或標記myTagKey為標籤鍵的資源:--filter resource-type-prefix="AWS::DynamoDB::" --filter tag-key="myTagKey"

必要:否

--help, -h BOOLEAN

顯示指令的指cdk migrate令參考資訊。

--language STRING

移轉期間所建立之 CDK 專案所使用的程式設計語言。

必要:否

有效值typescriptpythonjavacsharpgo

預設typescript

--output-path PATH

移轉的 CDK 專案的輸出路徑。

必要:否

預設值:依預設, AWS CDK CLI將使用您目前的工作目錄。

--region STRING

AWS 區域 要從中擷取 AWS CloudFormation 堆疊範本的。

必要:否

預設值:從預設來源 AWS CDK CLI取得 AWS 區域 資訊。

範例

從 CloudFormation 堆棧遷移的簡單示例

使用從特定 AWS 環境中的已部署 CloudFormation 堆疊移轉--from-stack。提供--stack-name給您的新 CDK 堆疊命名。以下是移轉myCloudFormationStack至正在使用的新 CDK 應用程式的範例:TypeScript

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

從本端 CloudFormation 樣板移轉的簡單範例

使--from-path用從本機 JSON 或 YAML CloudFormation 範本遷移。提供--stack-name給您的新 CDK 堆疊命名。下列範例會在其中建立新的 CDK 應用程式,其中包TypeScript含來自本機template.json檔案的myCloudFormationStack堆疊:

$ cdk migrate --stack-name "myCloudFormationStack" --language typescript --from-path "./template.json"

從部署的 AWS 資源遷移的簡單範例

使用從未與 CloudFormation 堆疊關聯的特定 AWS 環境移轉已部署的 AWS 資源--from-scan。CDK CLI 利用該IaC generator服務掃描資源並生成模板。然後,CDK CLI 引用模板來創建新的 CDK 應用程序。下列範例會在中建立新的 CDK 應用程式,其中TypeScript包含已移轉 AWS 資源的新myCloudFormationStack堆疊:

$ cdk migrate --language typescript --from-scan --stack-name "myCloudFormationStack"