説明
amazondns プラグインは、バックエンドとして Amazon DNS Server を利用して権威のある名前サーバーとして動作します。
Amazon DNSサーバーは、Route 53 のプライベートホストゾーンに指定した DNS ドメイン名を解決するために使用されます。ただし、サーバーはキャッシングネームサーバーとして機能します。CoreDNS には proxy プラグイン があり、Amazon DNS サーバーをバックエンドとして設定できますが、権威のある名前サーバーにはなりません。私の場合、サブドメインの委任された責任を処理するには権威のある名前サーバーが必要です。そのためこのプラグインを作成しました。
構文
amazondns ZONE [ADDRESS] {
soa RR
ns RR
nsa RR
}
- ZONE はこのプラグインのゾーンスコープです。
- ADDRESS は、Amazon DNS サーバーのアドレスを具体的に定義します。ADDRESS エントリがない場合、このプラグインは インスタンスメタデータ を使用して自動的に解決します。
- soa RR は RFC 1035 スタイルの SOA レコードです。
- ns RR は RFC 1035 スタイルの NS レコードです。
- nsa RR は RFC 1035 スタイルの NS に対応する A レコードです。IP アドレスは、このプラグインを使用して CoreDNS が実行されている EC2 インスタンスのプライベート IP アドレスになります。注意: CoreDNS は VPC 内の EC2 インスタンスで起動する必要があります。それ以外の場所からは Amazon DNS サーバーにアクセスできないためです。
例
2 つの名前サーバー (ns1.sub.example.org
と ns2.sub.example.org
) で sub.example.org
の権威のある名前サーバーを作成します。
. {
amazondns sub.example.org {
soa "sub.example.org 3600 IN SOA ns1.sub.example.org hostmaster.sub.example.org (2018030619 3600 1200 1209600 900)"
ns "sub.example.org 3600 IN NS ns1.sub.example.org"
ns "sub.example.org 3600 IN NS ns2.sub.example.org"
nsa "ns1.sub.example.org 3600 IN A 192.168.0.10"
nsa "ns2.sub.example.org 3600 IN A 192.168.0.130"
}
}