Amazon cloudformation 如何将路由53 A记录定向到ApiGateway v2
ApiGateway 1有一个别名,但其接口不符合V2: 以下是Amazon cloudformation 如何将路由53 A记录定向到ApiGateway v2,amazon-cloudformation,aws-api-gateway,amazon-route53,aws-cdk,Amazon Cloudformation,Aws Api Gateway,Amazon Route53,Aws Cdk,ApiGateway 1有一个别名,但其接口不符合V2: 以下是domainName: const domainName = new apigw2.DomainName(config.scope, config.id + 'DomainName', { domainName: config.domainName, certificate: config.certificate, }); 看起来aws-route53-targets软件包还不支持apigatewa
domainName
:
const domainName = new apigw2.DomainName(config.scope, config.id + 'DomainName', {
domainName: config.domainName,
certificate: config.certificate,
});
看起来aws-route53-targets软件包还不支持apigatewayv2。同时,您可能可以将v2对象包装到v1接口中,如下所示:
new route53.ARecord(config.scope, config.id + "AliasRecord", {
recordName: config.domainName,
target: route53.RecordTarget.fromAlias(
new route53targets.ApiGatewayDomain({
...domainName,
domainNameAliasDomainName: domainName.regionalDomainName,
domainNameAliasHostedZoneId: domainName.regionalHostedZoneId
})
),
zone: config.hostedZone
});
您可以按照以下文档中描述的方式进行尝试:
const certArn = 'arn:aws:acm:us-east-1:111111111111:certificate';
const domainName = 'example.com';
const dn = new DomainName(stack, 'DN', {
domainName,
certificate: acm.Certificate.fromCertificateArn(stack, 'cert', certArn),
});
const api = new HttpApi(stack, 'HttpProxyProdApi', {
defaultIntegration: new LambdaProxyIntegration({ handler }),
// https://${dn.domainName}/foo goes to prodApi $default stage
defaultDomainMapping: {
domainName: dn,
mappingKey: 'foo',
},
});