AWS CDK pattern / solution construct implementing a static website hosting with CloudFront + S3 + ACM certificate
An AWS CDK Level 3 construct that implements an opinionated static website in AWS using:
.html
files and related assetsInstall package:
$ npm install @ukautz/aws-cdk-static-website
Then in your stack:
import * as cdk from 'aws-cdk-lib';
import { aws_route53 as route53 } from 'aws-cdk-lib';
import { StaticWebsite } from '@ukautz/aws-cdk-static-website';
import { Construct } from 'constructs';
export class YourStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.Stack) {
super(scope, id, props);
// load (or create) a hosted zone, in which the record(s) will be created
const hostedZone = route53.HostedZone.fromLookup(this, 'HostedZone', {
domainName: 'your-domain.tld',
});
// create a static website, that uploads and serves contents from a local folder
new StaticWebsite(this, 'StaticWebsite', {
directory: '/path/to/where/your/contents/are',
domain: 'blog.your-domain.tld',
hostedZone,
});
}
}
Note: See the StaticWebsiteProps
interface for all available properties.
@ukautz/aws-cdk-domain-redirector
- an AWS-CDK L3 construct for HTTPS domain redirection