开始使用 AWS CDK - AWS Cloud Development Kit (AWS CDK) v2

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

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

开始使用 AWS CDK

AWS Cloud Development Kit (AWS CDK) 通过安装 AWS CDK CLI并创建您的第一个 CDK 应用程序开始使用。

先决条件

推荐资源

在开始使用之前 AWS CDK,我们建议您对以下内容有基本的了解:

准备好您的本地环境

所有 AWS CDK 开发者,无论您的首选语言如何,都需要 Node.js14.15.0 或更高版本。所有支持的编程语言都使用相同的后端,该后端在上运行Node.js。我们建议使用长期有效的支持版本。您的组织可能有不同的建议。

重要

Node.js 版本 13.0.0 到 13.6.0 与不兼容, AWS CDK 因为其依赖项存在兼容性问题。

其他先决条件取决于您开发 AWS CDK 应用程序时使用的语言,如下所示。

TypeScript
  • TypeScript 3.8 或更高版本 (npm -g install typescript)

JavaScript

没有额外要求

Python
  • Python 3.7 或更高版本包括pipvirtualenv

Java
  • Java 开发套件 (JDK) 8(又名 1.8)或更高版本

  • Apache Maven 3.5 或更高版本

推荐使用 Java IDE(我们在本指南的某些示例中使用了 Eclipse)。IDE 必须能够导入 Maven 项目。检查以确保您的项目已设置为使用 Java 1.8。将 JAVA_HOME 环境变量设置为安装 JDK 的路径。

C#

.NET 酷睿 3.1 或更高版本,或.NET 6.0 或更高版本。

推荐 Visual Studio 2019(任何版本)或 Visual Studio

Go

转到 1.1.8 或更高版本。

有关更多详细信息,请参阅您的语言的 “先决条件” 部分:

第三方语言的弃用

每种语言版本仅在EOL(使用寿命终止)之前受支持,如有更改,恕不另行通知。

步骤 1:创建一个 AWS 账户

如果您不熟 AWS悉,则必须注册 AWS 账户 并创建管理用户。有关更多信息,请参阅 IAM 用户指南中的使用 IAM 进行设置

当您与之互动时 AWS,您可以指定您的 AWS 安全凭证来验证您的身份以及您是否有权访问所请求的资源。 AWS 使用安全证书对您的请求进行身份验证和授权。要了解更多信息,请参阅 IAM 用户指南中的AWS 安全证书

步骤 2:配置编程访问权限

在本地环境 AWS CDK 中使用开发时,您将依靠与资源 AWS CDK CLI进行交互 AWS 服务 并管理您的 AWS 资源。要使用 AWS CDK CLI,必须配置编程访问权限。要详细了解配置编程访问权限的不同方式,请参阅 AWS SDK 和工具参考指南中的身份验证和访问权限

对于雇主未提供身份验证方法的新用户,我们建议使用 AWS IAM Identity Center。此方法包括安装 AWS Command Line Interface (AWS CLI)、使用它进行配置和登录 AWS 访问门户。要使用 IAM Identity Center 配置编程访问权限,请参阅《软件开发工具包和AWS 工具参考指南》中的 IAM 身份中心身份验证。完成后,您的环境应包含以下元素:

  • AWS CLI,用于在运行应用程序之前启动 AWS 访问门户会话。

  • 一种共享 AWSconfig文件,其[default]配置文件包含一组配置值,可以从中引用 AWS CDK。要查找此文件的位置,请参阅《AWS SDK 和工具参考指南》中的共享文件的位置

  • 共享 config 文件设置了 region 设置。这将设置 AWS 请求 AWS 区域 的默认 AWS CDK 用途。

  • 在向发送请求之前, AWS CDK 使用配置文件的 SSO 令牌提供程序配置来获取凭证。 AWS该sso_role_name值是与 IAM Identity Center 权限集关联的 IAM 角色,应允许访问您的应用程序中 AWS 服务 使用的权限。

    以下示例 config 文件展示了使用 SSO 令牌提供程序配置来设置的默认配置文件。配置文件的 sso_session 设置是指所指定的 sso-session。该sso-session部分包含启动 AWS 访问门户会话的设置。

    [default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://provided-domain.awsapps.com/start sso_registration_scopes = sso:account:access

启动 AWS 访问门户会话

在访问之前 AWS 服务,您需要一个有效的 AWS 访问门户会话 AWS CDK 才能使用 IAM Identity Center 身份验证来解析证书。根据您配置的会话时长,您的访问权限最终将过期,并且 AWS CDK 会遇到身份验证错误。在中运行以下命令登录 AWS CLI AWS 访问门户。

aws sso login

如果您的 SSO 令牌提供程序配置使用命名配置文件而不是默认配置文件,则命令为aws sso login --profile NAME。使用--profile选项或AWS_PROFILE环境变量发出cdk命令时,也要指定此配置文件。

要测试是否已有活动会话,请运行以下 AWS CLI 命令。

aws sts get-caller-identity

对此命令的响应应该报告共享 config 文件中配置的 IAM Identity Center 账户和权限集。

注意

如果您已经有一个有效的 AWS 访问门户会话并且aws sso login正在运行,则无需提供凭据。

登录过程可能会提示您允许 AWS CLI 访问您的数据。由于 AWS CLI 是在适用于 Python 的 SDK 之上构建的,因此权限消息可能包含botocore名称的变体。

步骤 3:安装 AWS CDKCLI

使用以下 Package Man Node ager 命令 AWS CDK CLI全局安装。

npm install -g aws-cdk
注意

如果您遇到权限错误,并且拥有系统管理员访问权限,请尝试sudo npm install -g aws-cdk

运行以下命令以验证安装是否成功。 AWS CDK CLI应该输出版本号:

cdk --version

如果您收到错误消息,请尝试 AWS CDK CLI通过运行以下命令来卸载:

npm uninstall -g aws-cdk

然后,重复步骤以重新安装。 AWS CDK CLI

如果您仍然收到错误消息,请从当前项目和全局node-modules文件夹中删除该node-modules文件夹。要找到此文件夹,请运行npm config get prefix

AWS CDK CLI将从您在前面步骤中配置的来源获取安全证书。

注意

CDK 工具包 v2 适用于现有的 CDK v1 项目。但是,它无法初始化新的 CDK v1 项目。看看你新的先决条件是否需要能够做到这一点。

第 4 步:引导您的环境

您计划向其部署资源的每个 AWS 环境都必须进行引导

要引导,请运行以下命令:

cdk bootstrap aws://ACCOUNT-NUMBER/REGION
提示

如果您手边没有 AWS 账号,可以从 AWS Management Console. 或者,如果您 AWS CLI 安装了,则以下命令会显示您的默认帐户信息,包括账号。

aws sts get-caller-identity

如果您在本地配置中创建了命名 AWS 配置文件,则可以使用该--profile选项来显示特定配置文件的帐户信息。以下示例说明如何显示产品配置文件的账户信息。

aws sts get-caller-identity --profile prod

要显示默认区域,请使用aws configure get

aws configure get region aws configure get region --profile prod

可选 AWS CDK 工具

AWS Toolkit for Visual Studio Code是 Visual Studio Code 的开源插件,可帮助您在上创建、调试和部署应用程序 AWS。该工具包为开发 AWS CDK 应用程序提供了集成体验。它包括 AWS CDK Explorer 功能,用于列出您的 AWS CDK 项目并浏览 CDK 应用程序的各个组件。安装插件并详细了解如何使用 AWS CDK Explorer

后续步骤

既然你已经安装了 AWS CDK CLI,那就用它来构建你的第一个 AWS CDK 应用程序

要了解有关使用首选编程语言 AWS CDK 的更多信息,请参阅AWS CDK 在支持的编程语言中使用

AWS CDK 是一个开源项目。要做出贡献,请参阅贡献 AWS Cloud Development Kit (AWS CDK)

了解更多信息

要了解更多信息 AWS CDK,请参阅以下内容: