🍛

AWS CDK で API Gateway にカスタムドメインを割り当てるためのRoute53への ALIAS レコードの設定

2021/05/15に公開

AWS CDKは頻繁に更新されているため、本記事のみならず、他の記事/ブログなども更新日時をよく確認しましょう。

いきなり正解を

 // HTTP API
const domainNameForApiGateway = new apiGateway.DomainName(this, 'DomainNameForApiGateway', {
    domainName: apiGatewayFQDN, // hogehoge.example.com(string)
    certificate: certificateForApiGateway, // ACM で作った証明書(ICertificate)
})

// API Gateway へのルート
const apiGatewayRecordTarget = route53.RecordTarget.fromAlias(
	new route53targets.ApiGatewayv2DomainProperties(
		domainNameForApiGateway.regionalDomainName, // これと
		domainNameForApiGateway.regionalHostedZoneId // これ
	)
)

reginalDomainName, reginalHostedZoneId を指定しなければならず、ずっとFQDNやRoute53で作っていたPublic Hosted ZoneのインスタンスからIDを取得して渡したりしていました

ApiGatewayv2DomainProperties がだいぶ新顔のようで、まったく情報がでてこず、リファレンスはあるものの、何が正解かわからないでいました

https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-route53-targets.ApiGatewayv2DomainProperties.html

結局、上記の正解にたどり着いたのは npm のページ
https://www.npmjs.com/package/@aws-cdk/aws-route53-targets

(つまり、GitHubのnpmパッケージのREADME.md https://github.com/aws/aws-cdk/tree/master/packages/%40aws-cdk/aws-route53-targets)
に書いてありました

わからんよこんなん

Discussion