在AWS CDK代码中,确保在创建CloudFront分发时正确设置A记录别名和目标地址。以下是一个示例:
import * as cdk from 'aws-cdk-lib';
import * as routes from 'aws-cdk-lib/aws-route53-targets';
import * as cf from 'aws-cdk-lib/aws-cloudfront';
const myApp = new cdk.App();
const myStack = new cdk.Stack(myApp, 'my-stack');
const myDistribution = new cf.CloudFrontWebDistribution(myStack, 'my-distribution', {
originConfigs: [
{
s3OriginSource: {
s3BucketSource: myBucket,
originAccessIdentity: myOai,
},
behaviors: [
{
isDefaultBehavior: true,
pathPattern: '*',
allowedMethods: cf.CloudFrontAllowedMethods.ALL,
cachedMethods: cf.CloudFrontAllowedCachedMethods.GET_HEAD,
compress: true,
},
],
},
],
});
// create a new A record in Route53
new route53.ARecord(myStack, 'my-distribution-A-record', {
zone: myHostedZone,
recordName: 'example.com',
target: routes.CloudFrontTarget.fromDistribution(myDistribution),
});