CDK bootstrap 是做什么的

CDK bootstrap 是我们可以使用 CDK CLI 访问的命令。

$ npx aws-cdk bootstrap

cdk bootstrap 命令提供一个名为 CDKToolkit 的 CloudFormation 堆栈。 此 CloudFormation 堆栈特定于我们的 CDK 堆栈配置的环境(区域和帐户)。

每个 CDK 应用程序都属于特定的环境。

环境由帐号和区域组成,CDK 应用程序将在其中部署。

我们在实例化 CDK 堆栈时为 CDK 项目设置环境:

const app = new cdk.App();

const myStack = new MyCdkStack(app, 'my-cdk-stack', {
  stackName: `my-cdk-stack`,
  // ? 设置环境变量
  env: {
    region: process.env.CDK_DEFAULT_REGION,
    account: process.env.CDK_DEFAULT_ACCOUNT,
  },
});

环境的初始化过程包括:

  • 配置一个 S3 存储桶,我们的资源(即 Lambda 函数代码、CloudFormation 模板)将存储在其中
  • 配置 CDK CLI 需要的 IAM 角色以便在环境中执行部署 为了部署到多个环境,我们必须引导每个环境。

CDKToolkit 堆栈提供了一个 S3 存储桶,用于存储 CDK 部署所需的资源(即 Lambda 代码、CloudFormation 模板等)。

CDK bootstrap 是做什么的

在 S3 存储桶中,我们将有一个 assets “目录”:

cdk assets directory

assets 目录将包含我们的压缩文件:

cdk zipped file assets

对于具有单个 lambda 函数的简单 CDK 项目,我们的文件资源包含 Lambda 的 index.js 处理程序代码。


使用 CDK bootstrap

为了引导我们的默认帐户和区域,我们可以运行 cdk bootstrap 命令。

$ npx aws-cdk bootstrap

我们只需要对每个环境(区域和帐户)使用一次 bootstrap 命令。

如果我们多次使用该命令,CDK CLI 将检查我们的 CDKToolkit 堆栈是否必须更新。 如有必要,将更新堆栈。 如果不是,则运行 bootstrap 命令什么也不做。

我们还可以指定其他环境来引导:

$ npx aws-cdk bootstrap --profile my-profile 
$ npx aws-cdk bootstrap ACCOUNT_NUMBER/REGION
$ npx aws-cdk bootstrap 123456789/us-east-1

总结

CDK bootstrap 命令提供一个名为 CDKToolkit 的 CloudFormation 堆栈。

该堆栈包含一个 S3 存储桶,用于存储部署所需的文件资源(即 Lambda 函数代码、CloudFormation 模板)。

我们必须分别引导每个环境(帐户和区域)。

CDK bootstrap 是我们可以使用 CDK CLI 访问的命令。

$ npx aws-cdk bootstrap

cdk bootstrap 命令提供一个名为 CDKToolkit 的 CloudFormation 堆栈。 此 CloudFormation 堆栈特定于我们的 CDK 堆栈配置的环境(区域和帐户)。

每个 CDK 应用程序都属于特定的环境。

环境由帐号和区域组成,CDK 应用程序将在其中部署。

我们在实例化 CDK 堆栈时为 CDK 项目设置环境:

const app = new cdk.App();

const myStack = new MyCdkStack(app, 'my-cdk-stack', {
  stackName: `my-cdk-stack`,
  // ? 设置环境变量
  env: {
    region: process.env.CDK_DEFAULT_REGION,
    account: process.env.CDK_DEFAULT_ACCOUNT,
  },
});

环境的初始化过程包括:

  • 配置一个 S3 存储桶,我们的资源(即 Lambda 函数代码、CloudFormation 模板)将存储在其中
  • 配置 CDK CLI 需要的 IAM 角色以便在环境中执行部署 为了部署到多个环境,我们必须引导每个环境。

CDKToolkit 堆栈提供了一个 S3 存储桶,用于存储 CDK 部署所需的资源(即 Lambda 代码、CloudFormation 模板等)。

CDK bootstrap 是做什么的

在 S3 存储桶中,我们将有一个 assets “目录”:

CDK bootstrap 是做什么的

assets 目录将包含我们的压缩文件:

cdk zipped file assets

对于具有单个 lambda 函数的简单 CDK 项目,我们的文件资源包含 Lambda 的 index.js 处理程序代码。


使用 CDK bootstrap

为了引导我们的默认帐户和区域,我们可以运行 cdk bootstrap 命令。

$ npx aws-cdk bootstrap

我们只需要对每个环境(区域和帐户)使用一次 bootstrap 命令。

如果我们多次使用该命令,CDK CLI 将检查我们的 CDKToolkit 堆栈是否必须更新。 如有必要,将更新堆栈。 如果不是,则运行 bootstrap 命令什么也不做。

我们还可以指定其他环境来引导:

$ npx aws-cdk bootstrap --profile my-profile 
$ npx aws-cdk bootstrap ACCOUNT_NUMBER/REGION
$ npx aws-cdk bootstrap 123456789/us-east-1

总结

CDK bootstrap 命令提供一个名为 CDKToolkit 的 CloudFormation 堆栈。

该堆栈包含一个 S3 存储桶,用于存储部署所需的文件资源(即 Lambda 函数代码、CloudFormation 模板)。

我们必须分别引导每个环境(帐户和区域)。

CDK bootstrap 是我们可以使用 CDK CLI 访问的命令。

$ npx aws-cdk bootstrap

cdk bootstrap 命令提供一个名为 CDKToolkit 的 CloudFormation 堆栈。 此 CloudFormation 堆栈特定于我们的 CDK 堆栈配置的环境(区域和帐户)。

每个 CDK 应用程序都属于特定的环境。

环境由帐号和区域组成,CDK 应用程序将在其中部署。

我们在实例化 CDK 堆栈时为 CDK 项目设置环境:

const app = new cdk.App();

const myStack = new MyCdkStack(app, 'my-cdk-stack', {
  stackName: `my-cdk-stack`,
  // ? 设置环境变量
  env: {
    region: process.env.CDK_DEFAULT_REGION,
    account: process.env.CDK_DEFAULT_ACCOUNT,
  },
});

环境的初始化过程包括:

  • 配置一个 S3 存储桶,我们的资源(即 Lambda 函数代码、CloudFormation 模板)将存储在其中
  • 配置 CDK CLI 需要的 IAM 角色以便在环境中执行部署 为了部署到多个环境,我们必须引导每个环境。

CDKToolkit 堆栈提供了一个 S3 存储桶,用于存储 CDK 部署所需的资源(即 Lambda 代码、CloudFormation 模板等)。

CDK bootstrap 是做什么的

在 S3 存储桶中,我们将有一个 assets “目录”:

CDK bootstrap 是做什么的

assets 目录将包含我们的压缩文件:

CDK bootstrap 是做什么的

对于具有单个 lambda 函数的简单 CDK 项目,我们的文件资源包含 Lambda 的 index.js 处理程序代码。


使用 CDK bootstrap

为了引导我们的默认帐户和区域,我们可以运行 cdk bootstrap 命令。

$ npx aws-cdk bootstrap

我们只需要对每个环境(区域和帐户)使用一次 bootstrap 命令。

如果我们多次使用该命令,CDK CLI 将检查我们的 CDKToolkit 堆栈是否必须更新。 如有必要,将更新堆栈。 如果不是,则运行 bootstrap 命令什么也不做。

我们还可以指定其他环境来引导:

$ npx aws-cdk bootstrap --profile my-profile 
$ npx aws-cdk bootstrap ACCOUNT_NUMBER/REGION
$ npx aws-cdk bootstrap 123456789/us-east-1

总结

CDK bootstrap 命令提供一个名为 CDKToolkit 的 CloudFormation 堆栈。

该堆栈包含一个 S3 存储桶,用于存储部署所需的文件资源(即 Lambda 函数代码、CloudFormation 模板)。

我们必须分别引导每个环境(帐户和区域)。