Я использую AWS CDK (с Python в качестве языка развертывания) и пытаюсь добавить запись псевдонима существующего распределения облачного интерфейса в существующую размещенную зону. Хотя я могу заставить cdk synth
работать, cdk deploy
не может найти размещенную зону.
Я тестировал AWS CDK версии 1.5.0 (сборка c020efa) и 1.6.0 (сборка 3a0cde0).
Я пробовал найти зону так:
zone = route53.HostedZone.from_hosted_zone_attributes(
self,
'MyHostedZone',
zone_name = props.domainName,
hosted_zone_id = 'Z1XXXXXXXXXS1'
)
И вот так:
zone = route53.HostedZone.from_lookup(
self,
'MyHostedZone',
domain_name = props.domainName
)
И используя его (который работает, если создается новая размещенная зона):
route53.ARecord(
self,
'SiteAliasRecord',
record_name = siteDomain,
target = route53.RecordTarget(alias_target=target),
zone = zone
)
В обоих случаях сообщение об ошибке:
StaticSiteHTTPS / SiteAliasRecord (StaticSiteHTTPSSiteAliasRecord9BXXXXX) Не обнаружена размещенная зона с идентификатором: Z2XXX6BQ9TEB5H (служба: AmazonRoute53; код состояния: 404; код ошибки: NoSuchHostedZone; идентификатор запроса:
Я не знаю, откуда берется ID Z2XXX6BQ9TEB5H
, его нет в моем шаблоне, и у меня нет размещенной зоны с этим идентификатором. Оба генерируют .template.json, содержащий:
"StaticSiteHTTPSSiteAliasRecord9BXXXXX": {
"Type": "AWS::Route53::RecordSet",
"Properties": {
"Name": "dev.mydomain.com.",
"Type": "A",
"AliasTarget": {
"DNSName": {
"Fn::GetAtt": [
"StaticSiteHTTPSSiteDistributionCFDistribution3BXXXXX",
"DomainName"
]
},
"HostedZoneId": "Z2YYYYYYYYYW2"
},
"HostedZoneId": "Z1XXXXXXXXXXS1"
},
from_lookup
генерирует "HostedZoneId": "/hostedzone/Z1XXXXXXXXXXS1"
, а from_hosted_zone_attributes
генерирует "HostedZoneId": "Z1XXXXXXXXXXS1"
в template.json, но в любом случае deploy
не находит размещенную зону. Однако это, похоже, предполагает, что synth
находит размещенную зону в порядке, и записи cdk context
создаются там также synth
.
Я также попытался получить размещенную зону через from_hosted_zone_id
и from_hosted_zone_attributes
, которые также вызывают ошибки, но я понимаю, что они на самом деле ничего не ищут в моей учетной записи.
Кстати, создание новой размещенной зоны с помощью CDK работает и содержит запись псевдонима.
Как я могу отладить это дальше? Должен ли я использовать другой механизм для предоставления или поиска моей размещенной зоны?
, { hostedZoneId: staticSiteArgs.HostedZoneId, zoneName: staticSiteArgs.HostedZoneName });
Затем создайте запись: _3 _ $ {stackName} -dns-record, { zone: zone, recordName: fullDnsRecordName, target: routing.AddressRecordTarget.fromAlias(target), ttl: cdk.Duration.minutes(staticSiteArgs.DnsTTLMinutes) });
- person charlybones   schedule 02.09.2019