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

这是 AWS CDK v2 开发者指南。较旧的 CDK v1 于 2022 年 6 月 1 日进入维护阶段,并于 2023 年 6 月 1 日终止支持。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

cdk bootstrap

通过将 CDK 引导堆栈(名为)部署到 AWS 环境中CDKToolkit,为 CDK 部署做好准备。 AWS

引导堆栈是在环境中配置 Amazon S3 存储桶和 Amazon ECR 存储库的 CloudFormation AWS 堆栈。在部署期间, AWS CDK CLI使用这些资源来存储合成的模板和相关资产。

使用量

$ cdk bootstrap <arguments> <options>

参数

AWS 环境

要将引导堆栈部署到的目标 AWS 环境,格式如下:aws://<account-id>/<region>

例如:aws://123456789012/us-east-1

可以在单个命令中多次提供此参数,以将引导堆栈部署到多个环境。

默认情况下,CDK CLI 将引导 CDK 应用程序中引用的所有环境,或者根据默认来源确定环境。这可能是使用--profile选项、环境变量或默认 AWS CLI 源指定的环境。

Options

有关适用于所有 CDK CLI 命令的全局选项的列表,请参阅全球期权

--bootstrap-bucket-name, --toolkit-bucket-name, -b STRING

CDK CLI 将使用的 Amazon S3 存储桶的名称。此存储桶将被创建,且当前不得存在。

提供此选项可覆盖 Amazon S3 存储桶的默认名称。

使用此选项时,可能需要自定义合成。要了解更多信息,请参阅自定义 CDK 堆栈合成

默认值:未定义

--bootstrap-customer-key BOOLEAN

为引导存储桶创建客户主密钥 (CMK)(您需要付费,但可以自定义权限,仅限现代引导)。

此选项与 --bootstrap-kms-key-id 不兼容。

默认值:未定义

--bootstrap-kms-key-id STRING

用于SSE-KMS加密 AWS KMS 的主密钥 ID。

提供此选项可覆盖用于加密 Amazon S3 存储桶的默认密 AWS KMS 钥。

此选项与 --bootstrap-customer-key 不兼容。

默认值:未定义

--cloudformation-execution-policies ARRAY

应附加到堆栈部署 AWS CloudFormation 期间所担任的部署角色的托管 IAM 策略 ARN。

默认情况下,使用该AdministratorAccess策略以完全管理员权限部署堆栈。

您可以在单个命令中多次提供此选项。您也可以将多个 ARN 作为单个字符串提供,各个 ARN 之间用逗号分隔。以下是 示例:

$ cdk bootstrap --cloudformation-execution-policies "arn:aws:iam::aws:policy/AWSLambda_FullAccess,arn:aws:iam::aws:policy/AWSCodeDeployFullAccess"

为避免部署失败,请确保您指定的策略足以满足您将在引导环境中执行的任何部署。

此选项仅适用于现代引导。

重要

现代引导模板可以有效地向--trust列表中的任何 AWS 账户授--cloudformation-execution-policies予隐含的权限。默认情况下,这会扩展对引导账户中任何资源的读写权限。请务必使用您熟悉的策略和可信帐户来配置引导堆栈

默认值[]

--custom-permissions-boundary, -cpb STRING

指定要使用的权限边界的名称。

此选项与 --example-permissions-boundary 不兼容。

默认值:未定义

--example-permissions-boundary, -epb BOOLEAN

使用提供的权限边界示例 AWS CDK。

此选项与 --custom-permissions-boundary 不兼容。

CDK 提供的权限边界策略应视为示例。如果您正在测试该功能,请编辑内容并参考示例策略。将其转换为用于实际部署的新策略(如果尚不存在)。问题是要避免漂移。最有可能的是,权限边界得到维护,并且有专门的约定,包括命名。

有关配置权限(包括使用权限边界)的更多信息,请参阅《安全与安全开发者指南》

默认值:未定义

--execute BOOLEAN

配置是否执行更改集。

默认值true

--force, -f BOOLEAN

始终引导,即使它会降级引导模板版本。

默认值false

--help, -h BOOLEAN

显示命令的cdk bootstrap命令参考信息。

--previous-parameters BOOLEAN

对现有参数使用以前的值。

使用一组参数部署引导模板后,必须将此选项设置为,false才能在将来的部署中更改任何参数。何时false,您必须重新提供之前提供的所有参数。

默认值true

--public-access-block-configuration BOOLEAN

屏蔽由 CDK CLI 创建和使用的 Amazon S3 存储桶上的公共访问配置。

默认值true

--qualifier STRING

每个引导堆栈都唯一的字符串值。此值将添加到引导堆栈中资源的物理 ID 中。

通过提供限定符,可以避免在同一环境中配置多个引导堆栈时发生资源名称冲突。

更改限定符时,您的 CDK 应用程序必须将更改后的值传递给堆栈合成器。有关更多信息,请参阅 自定义 CDK 堆栈合成

默认值:hnb659fds。这个值没有意义。

--show-template BOOLEAN

与其进行引导,不如将当前的引导模板打印到标准输出 ()。stdout然后,您可以根据需要复制和自定义模板。

默认值false

--tags, -t ARRAY

要添加到引导堆栈的标签,格式为。KEY=VALUE

默认值[]

--template STRING

使用给定文件中的模板而不是内置的模板。

--termination-protection BOOLEAN

在引导堆栈上切换 AWS CloudFormation 终止保护。

何时true,终止保护处于启用状态。这样可以防止引导堆栈被意外删除。

要了解有关终止保护的更多信息,请参阅《AWS CloudFormation 用户指南》中的保护堆栈不被删除

默认值:未定义

--toolkit-stack-name STRING

要创建的引导堆栈的名称。

默认情况下,CDKToolkit将名为的堆栈cdk bootstrap部署到指定 AWS 环境中。使用此选项为您的引导堆栈提供不同的名称。

默认值CDKToolkit

必需:是

--trust ARRAY

在此环境中执行部署时应信任的 AWS 账户 ID。

执行引导的帐户将始终受到信任。

此选项要求您还提供--cloudformation-execution-policies

您可以在单个命令中多次提供此选项。

此选项仅适用于现代引导。

要将可信帐户添加到现有的引导程序堆栈,您必须指定所有要信任的帐户,包括您之前可能提供的帐户。如果您只提供新的可信账户,则以前信任的账户将被删除。

以下是信任两个账户的示例:

$ cdk bootstrap aws://123456789012/us-west-2 --trust 234567890123 --trust 987654321098 --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess ⏳ Bootstrapping environment aws://123456789012/us-west-2... Trusted accounts for deployment: 234567890123, 987654321098 Trusted accounts for lookup: (none) Execution policies: arn:aws:iam::aws:policy/AdministratorAccess CDKToolkit: creating CloudFormation changeset... ✅ Environment aws://123456789012/us-west-2 bootstrapped.
重要

现代引导模板可以有效地向--trust列表中的任何 AWS 账户授--cloudformation-execution-policies予隐含的权限。默认情况下,这会扩展对引导账户中任何资源的读写权限。请务必使用您熟悉的策略和可信帐户来配置引导堆栈

默认值[]

--trust-for-lookup ARRAY

在此环境中查找值时应信任的 AWS 账户 ID。

使用此选项可以向账户授予合成将部署到环境中的堆栈的权限,而无需实际授予他们直接部署这些堆栈的权限。

您可以在单个命令中多次提供此选项。

此选项仅适用于现代引导。

默认值[]

示例

引导 prod 配置文件中指定的 AWS 环境

$ cdk bootstrap --profile prod

将引导堆栈部署到环境 foo 和 bar

$ cdk bootstrap --app='node bin/main.js' foo bar

导出引导模板进行自定义

如果您有引导模板无法满足的特定要求,则可以对其进行自定义以满足您的需求。

您可以使用导出引导模板、对其进行修改和部署。 AWS CloudFormation以下是导出现有模板的示例:

$ cdk bootstrap --show-template > bootstrap-template.yaml

您也可以让 CDK CLI 使用自定义模板。以下是 示例:

$ cdk bootstrap --template my-bootstrap-template.yaml

具有权限边界的引导。然后,移除该权限边界

要使用自定义权限边界进行引导,我们运行以下命令:

$ cdk bootstrap --custom-permissions-boundary my-permissions-boundary

要移除权限边界,我们运行以下命令:

$ cdk bootstrap --no-previous-parameters

使用限定符区分为开发环境创建的资源

$ cdk bootstrap --qualifier dev2024