AWS Cloud Development Kit (AWS CDK) - Developer Guide

Developer Guide

AWS Cloud Development Kit (AWS CDK) v2

Version 2

Copyright ? 2024 Amazon Web Services, Inc. and/or its a?liates. All rights reserved.

AWS Cloud Development Kit (AWS CDK) v2

Developer Guide

AWS Cloud Development Kit (AWS CDK) v2: Developer Guide

Copyright ? 2024 Amazon Web Services, Inc. and/or its a?liates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service

that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any

manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are

the property of their respective owners, who may or may not be a?liated with, connected to, or

sponsored by Amazon.

AWS Cloud Development Kit (AWS CDK) v2

Developer Guide

Table of Contents

What is the AWS CDK? .................................................................................................................... 1

Bene?ts of the AWS CDK ........................................................................................................................... 2

Example of the AWS CDK ........................................................................................................................... 5

AWS CDK features ...................................................................................................................................... 10

The AWS CDK GitHub repository ....................................................................................................... 10

The AWS CDK API reference ............................................................................................................... 10

The Construct Programming Model .................................................................................................. 10

The Construct Hub ............................................................................................................................... 10

Next steps .................................................................................................................................................... 11

Learn more .................................................................................................................................................. 11

CDK core concepts ......................................................................................................................... 12

AWS CDK and IaC ....................................................................................................................................... 12

AWS CDK and AWS CloudFormation ..................................................................................................... 12

AWS CDK and abstractions ...................................................................................................................... 13

Learn more about core AWS CDK concepts .......................................................................................... 13

Interacting with the AWS CDK ........................................................................................................... 13

Developing with the AWS CDK .......................................................................................................... 13

Deploying with the AWS CDK ............................................................................................................ 13

Learn more ............................................................................................................................................. 14

Programming languages ........................................................................................................................... 14

Libraries ........................................................................................................................................................ 16

The AWS CDK Library .......................................................................................................................... 16

The AWS Construct Library ................................................................................................................ 17

The Constructs library ......................................................................................................................... 17

The AWS CDK API reference ............................................................................................................... 17

Learn more ............................................................................................................................................. 17

Projects .........................................................................................................................................................

Universal ?les and folders ..................................................................................................................

Language-speci?c ?les and folders ..................................................................................................

Apps ..............................................................................................................................................................

How to create a CDK app ...................................................................................................................

The construct tree ................................................................................................................................

Stacks ............................................................................................................................................................

How to de?ne a stack .........................................................................................................................

18

18

18

31

31

33

34

35

Version 2 iii

AWS Cloud Development Kit (AWS CDK) v2

Developer Guide

Working with stacks ............................................................................................................................. 41

Constructs .................................................................................................................................................... 48

Import and use constructs .................................................................................................................. 48

Construct levels ..................................................................................................................................... 49

De?ning constructs ............................................................................................................................... 50

Working with constructs ..................................................................................................................... 59

Working with third-party constructs ................................................................................................ 65

Learn more ............................................................................................................................................. 74

Environments .............................................................................................................................................. 75

Learn more ............................................................................................................................................. 76

Bootstrapping .............................................................................................................................................. 77

What is bootstrapping? ....................................................................................................................... 77

How does bootstrapping work? ......................................................................................................... 77

Learn more ............................................................................................................................................. 78

Resources ...................................................................................................................................................... 78

Con?guring resources using constructs ........................................................................................... 78

Referencing resources .......................................................................................................................... 81

Resource physical names ..................................................................................................................... 90

Passing unique resource identi?ers .................................................................................................. 92

Granting permissions between resources ........................................................................................ 95

Resource metrics and alarms ............................................................................................................. 98

Network tra?c .................................................................................................................................... 101

Event handling .................................................................................................................................... 105

Removal policies ................................................................................................................................. 106

Identi?ers ................................................................................................................................................... 111

Construct IDs ....................................................................................................................................... 111

Paths ...................................................................................................................................................... 114

Unique IDs ............................................................................................................................................ 115

Logical IDs ............................................................................................................................................ 117

Tokens ......................................................................................................................................................... 117

Tokens and token encodings ............................................................................................................ 119

String-encoded tokens ...................................................................................................................... 121

List-encoded tokens ........................................................................................................................... 123

Number-encoded tokens ................................................................................................................... 123

Lazy values ........................................................................................................................................... 123

Converting to JSON ........................................................................................................................... 126

Version 2 iv

AWS Cloud Development Kit (AWS CDK) v2

Developer Guide

Parameters ................................................................................................................................................. 127

About parameters ............................................................................................................................... 127

Learn more ........................................................................................................................................... 128

Tags ............................................................................................................................................................. 128

Using tags ............................................................................................................................................ 128

Tag priorities ........................................................................................................................................ 130

Optional properties ............................................................................................................................ 131

Example ................................................................................................................................................

Tagging single constructs .................................................................................................................

Assets ..........................................................................................................................................................

Assets in detail ....................................................................................................................................

135

138

141

141

Asset types ........................................................................................................................................... 142

Amazon S3 assets ............................................................................................................................... 142

Docker image assets .......................................................................................................................... 155

AWS CloudFormation resource metadata ..................................................................................... 166

Permissions ................................................................................................................................................ 166

Principals .............................................................................................................................................. 167

Grants .................................................................................................................................................... 167

Roles ...................................................................................................................................................... 170

Resource policies ................................................................................................................................. 176

Using external IAM objects ............................................................................................................... 177

Context values .......................................................................................................................................... 178

Sources of context values ................................................................................................................. 179

Context methods ................................................................................................................................ 180

Viewing and managing context ....................................................................................................... 181

AWS CDK Toolkit --context ?ag ................................................................................................. 182

Example ................................................................................................................................................ 183

Feature ?ags ............................................................................................................................................. 187

Reverting to v1 behavior ..................................................................................................................

Aspects .......................................................................................................................................................

Aspects in detail .................................................................................................................................

Example ................................................................................................................................................

Getting started ............................................................................................................................

Prerequisites ..............................................................................................................................................

Step 1: Create an AWS account and administrative user ................................................................

Step 2: Determine your method of managing users ........................................................................

188

189

190

191

195

195

195

195

Version 2 v

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download