AWS Route 53レコードの値が空

通常のDNSレコードに必要な参照先の値がない状態

説明

エイリアス以外のRoute 53レコードには、種類に応じた records の値が必要です。空の配列では有効なDNSの参照先を指定できません。AWSのエイリアスレコードは、records の代わりに alias の参照先を使います。

想定される影響

DNS構成の適用に失敗し、想定した名前でサービスに接続できない可能性があります。

対処方法

A、CNAME、NSなどの種類に合う値を指定し、空のモジュール入力を拒否してください。エイリアスレコードには正しい alias の参照先とホストゾーンを指定してください。

例

次の例では、空のNSレコードにホストゾーンのネームサーバー一覧を設定しています。ホストゾーンとレコード名は実際のDNS構成に合わせてください。

変更前

hcl
resource "aws_route53_record" "service_record" {
  allow_overwrite = true
  name            = "test.example.com"
  ttl             = 30
  type            = "NS"
  zone_id         = aws_route53_zone.example.zone_id

  records = []
}

変更後

hcl
resource "aws_route53_record" "service_record" {
  allow_overwrite = true
  name            = "test.example.com"
  ttl             = 30
  type            = "NS"
  zone_id         = aws_route53_zone.example.zone_id

  records = [
    aws_route53_zone.example.name_servers[0],
    aws_route53_zone.example.name_servers[1],
    aws_route53_zone.example.name_servers[2],
    aws_route53_zone.example.name_servers[3],
  ]
}

参考資料