開始使用 AWS CDK - AWS Cloud Development Kit (AWS CDK) V2

這是 AWS CDK v2 開發人員指南。較舊的 CDK 第 1 版已於 2022 年 6 月 1 日進入維護,並於 2023 年 6 月 1 日結束支援。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

開始使用 AWS CDK

安裝 AWS CDK CLI並建立您的第一個 CDK 應用程式,開始使用。 AWS Cloud Development Kit (AWS 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)或更高版本

  • 阿帕奇 Maven 3.5 或更高版本

推薦使用 Java IDE(我們在本指南中的一些示例中使用了 Eclipse)。IDE 必須能夠導入 Maven 項目。檢查以確保您的項目設置為使用 Java 1.8。將 JAVA_HOME 環境變數設定為您已安裝 JDK 的路徑。

C#

.NET 核心 3.1 或更新版本,或 .NET 6.0 或更新版本。

視覺工作室 2019(任何版本)或視覺工作室代碼推薦。

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 身分中心設定程式設計存取,請參閱 AWS SDK 和工具參考指南中的 IAM 身分中心身分驗證。完成之後,您的環境應包含下列元素:

  • 您可以在 AWS CLI執行應用程式之前啟動 AWS 存取入口網站工作階段。

  • 具有設定AWSconfig檔的共用檔案,其中包含可從中參照的一組組態值 AWS CDK。[default]若要尋找此檔案的位置,請參閱 AWS SDK 和工具參考指南中的共用檔案位置

  • 共用config檔案會region設定設定。這會設定 AWS 要求 AWS 區域 使 AWS CDK 用的預設值。

  • AWS CDK 使用設定檔的 SSO 權杖提供者組態,在傳送要求之前取得認證 AWS。這個sso_role_name值是連接到 IAM 身分中心權限集的 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 身分中心驗證來解析登入資料。根據您配置的會話長度,您的訪問最終將過期,並且 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 管理器命令 AWS CDK CLI全局安Node裝。

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此選項來顯示特定設定檔的帳戶資訊。下列範例顯示如何顯示 prod 設定檔的帳戶資訊。

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 程式碼的開放原始碼外掛程式,可協助您在上建立、偵錯和部署應用程式 AWS。此工具組提供開發 AWS CDK 應用程式的整合體驗。它包括 AWS CDK 資源管理器功能列出您的 AWS CDK 項目並瀏覽 CDK 應用程序的各種組件。安裝外掛程式並進一步瞭解如何使用 AWS CDK 檔案總管

後續步驟

現在您已經安裝了 AWS CDK CLI,請使用它來構建您的第一個 AWS CDK 應用程序

若要進一步瞭解如何使用偏好 AWS CDK 的程式設計語言,請參閱使用支援的 AWS CDK 程式設計語言

AWS CDK 這是一個開源項目。若要貢獻,請參閱貢獻給 AWS Cloud Development Kit (AWS CDK).

進一步了解

若要進一步了解 AWS CDK,請參閱下列內容: