Route 53 ホストゾーンのサービス用レコードの確認

Route 53 ホストゾーンにサービスで必要な DNS レコードがあるか確認してください。

説明

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

参考資料