Skip to main content

On This Page

Automating AWS Infrastructure with Cloud Development Kit (CDK)

2 min read
Share

These articles are AI-generated summaries. Please check the original sources for full details.

AWS Cloud Development Kit

Veronica Eulenberg is implementing the AWS Cloud Resume Challenge. She transitioned from manual tools like Infrastructure Composer to the AWS CDK for programmatic infrastructure management.

Why This Matters

Manual infrastructure configuration through GUIs often leads to inconsistency and difficulty in replication. Moving to an Imperative IaC model via CDK allows developers to use familiar programming languages, reducing the friction of learning proprietary templates while ensuring that environments can be destroyed and recreated from scratch consistently.

Key Insights

  • Tool Selection: The author found Infrastructure Composer and IaC Generator overwhelming due to excessive options, opting for CDK for its programmatic approach (2026).
  • S3 Public Access Configuration: Implementing a public website requires explicitly disabling Block Public Access settings (blockPublicAcls, blockPublicPolicy) to allow external read access.
  • Resource Lifecycle Management: Setting removalPolicy to cdk.RemovalPolicy.DESTROY and enabling autoDeleteObjects ensures that S3 buckets are fully removed when the CloudFormation stack is deleted.

Working Examples

Initialization of the AWS CDK project environment.

npm install -g aws-cdk
mkdir aws-resume
cd aws-resume
cdk init app --language javascript

Definition of a public S3 bucket for website hosting with automated cleanup policies.

// Bucket name will be auto generated
const bucket = new s3.Bucket(this, 'ResumeBucket', {
websiteIndexDocument: 'index.html',
// Allow anyone to see this bucket's content
publicReadAccess: true,
blockPublicAccess: new s3.BlockPublicAccess({
blockPublicAcls: false,
blockPublicPolicy: false,
ignorePublicAcls: false,
restrictPublicBuckets: false,
}),
// Delete everything in bucket when this CF Stack is deleted!
autoDeleteObjects: true,
removalPolicy: cdk.RemovalPolicy.DESTROY,
});
// Print URL after deploy is done
new cdk.CfnOutput(this, 'WebsiteURL', {
value: bucket.bucketWebsiteUrl,
});

Deployment sequence for pushing the CDK stack to AWS.

aws login
cdk bootstrap
cdk deploy

Practical Applications

  • ،Use case: Static site hosting using S3 and CDK for rapid deployment of resume projects.
  • ,Pitfall: Incorrect region strings in ~/.aws/config leading to deployment failures; resolved by verifying identity via aws sts get-caller-identity.

References:

Continue reading

Next article

Optimizing Workflow with Claude Code /copy Command

Related Content