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命令是实验性的,将来可能会有重大变化。

使用量

$ cdk migrate <options>

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 区域。此选项指定筛选器来确定要迁移哪些已部署的资源。

此选项接受键值对数组,其中 ke y 代表过滤器类型,代表要过滤的值。

以下是可接受的密钥:

  • resource-identifier— 资源的标识符。值可以是资源逻辑或物理 ID。例如,resource-identifier="ClusterName"

  • resource-type-prefix— AWS CloudFormation 资源类型前缀。例如,指定resource-type-prefix="AWS::DynamoDB::"筛选所有亚马逊 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 应用程序。以下是TypeScript使用包含已迁移 AWS 资源的新myCloudFormationStack堆栈创建新 CDK 应用程序的示例:

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