@ukautz/aws-cdk-static-website
v2.2.0
Published
An AWS CDK Level 3 construct that implements an opinionated static website in AWS using:
Downloads
2
Readme
AWS CDK: Static Website
An AWS CDK Level 3 construct that implements an opinionated static website in AWS using:
- A public readable S3 bucket, that mirrors the contents of local directory of
.html
files and related assets - A CloudFront distribution, that caches the S3 delivery and enforces HTTPS
- Route53 record(s) that route one or multiple public domains to S3
- A certificate for the provided public domain(s) for HTTPS
Usage
Install 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.