설명
AWS::Route53::HostedZone을 생성하면 기본 NS와 SOA 레코드는 만들어지지만, 애플리케이션의 도메인 이름이 서비스 대상에 자동으로 연결되지는 않습니다. 필요한 A, CNAME 등의 레코드를 별도로 관리해야 합니다.
잠재적 영향
서비스에 필요한 레코드가 없거나 대상이 잘못되면 사용자가 DNS 이름으로 서비스에 접속하지 못할 수 있습니다.
해결 방법
필요한 레코드와 실제 대상이 일치하는지 확인하고 AWS::Route53::RecordSet이나 AWS::Route53::RecordSetGroup 등으로 변경을 관리하세요. 레코드를 다른 스택이나 도구에서 관리하는 경우 중복 생성하지 말고 관리 주체를 명확히 하세요. 공개 영역은 상위 도메인의 네임서버 위임도 확인하세요.
예시
소유한 도메인을 입력합니다. HostedZoneName에는 끝의 점 없이 영역 이름을, DomainName에는 www 같은 하위 이름을, DnsEndpoint에는 실제 대상 호스트 이름을 입력합니다. 변경 후 레코드는 생성한 HostedZone에 연결됩니다.
변경 전
yaml
Parameters:
HostedZoneName:
Type: String
Resources:
HostedZone:
Type: AWS::Route53::HostedZone
Properties:
Name: !Ref HostedZoneName
변경 후
yaml
Parameters:
HostedZoneName:
Type: String
DomainName:
Type: String
DnsEndpoint:
Type: String
Resources:
HostedZone:
Type: AWS::Route53::HostedZone
Properties:
Name: !Ref HostedZoneName
RecordSet:
Type: AWS::Route53::RecordSet
Properties:
HostedZoneId: !Ref HostedZone
Name: !Sub '${DomainName}.${HostedZoneName}.'
Type: CNAME
TTL: '900'
ResourceRecords:
- !Ref DnsEndpoint