npm i -D @alma-cdk/domain
以TLS证书简化子域创建,并配置AWS CloudFront等服务.
稳定项目
此构造仍为 v0 必要时可以引入大版本并进行断开修改(没有大版本起伏),尽管我们的目标是尽可能地保持API的稳定(即使在内部) v0 发展)。 我们的目标是出版 v1.0.0 不久之后, 将会通过大版本的突起来进行更改.
开始
import { Domain } from '@alma-cdk/domain';
import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
const domain = new Domain(this, 'Domain', {
zone: 'example.com', // retrieve the zone via lookup, or provide IHostedZone
subdomain: 'foobar', // optional subdomain
});
const distribution = new cloudfront.Distribution(this, 'Distribution', {
/* other cloudfront configuration values removed for brevity */
certificate: domain.certificate, // reference to created ICertificate
domainNames: [domain.fqdn], // foobar.example.com
enableIpv6: domain.enableIpv6, // true by default – set enableIpv6 prop to false during new Domain()
})
// assign CloudFront distribution to given fqdn with A + AAAA records
domain.addTarget(new targets.CloudFrontTarget(distribution))
云纹助手
而不是指定 certificate, (中文(简体) ), domainNames 财务报告和审定财务报表 enableIpv6 属性,您可以选择使用单行道帮助工具方法 configureCloudFront() 以同时设置所有三个值 – 不要忘记使用 ... 对象扩展语法 :
const distribution = new cloudfront.Distribution(this, 'Distribution', {
/* other cloudfront configuration values removed for brevity */
// one-liner to configure certificate, domainNames and IPv6 support
...domain.configureCloudFront(),
})
// assign CloudFront distribution to given fqdn with A + AAAA records
domain.addTarget(new targets.CloudFrontTarget(distribution))
注:返回的域名配置是 domainNames: [domain.fqdn],意味着这只在您的 CloudFront 分布只有单一域名的情景下起作用 .