這是 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-recent
,new
--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 專案所使用的程式設計語言。
必要:否
有效值:
typescript
、python
、java
、csharp
、go
。預設:
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"