DNS管理とルーティング
簡単な要約
DNSは「ネームレベルルータ」です。"それは有能なTTL、ゾーン、ポリシーに依存しています。最小設定:Anycastプロバイダ、健全なTTL、自動フェイルオーバーによる健康チェック、DNSSEC+CAA、 IaC管理およびオブザビリティ(応答と解像度の時間によるSLO)。
基本的なアーキテクチャ
権威あるサーバー(ゾーン)-会社のドメインを担当します。
再帰型リゾルバ(クライアント/ISP/own)-root→TLD→authoritativeに尋ねる。
Anycastは、多くのPoPで同じIPアドレス指定です。近いPoPはより速く応答し、事故を生き延びます。
ゾーンと委任
ドメインのルートゾーン→権威あるサーバーのプロバイダへの'NS'。
サブドメイン(例:「アピ」例を示します。com')は独立のために個々の'NS '/providersに委任することができる。
レコードタイプ(最小)
'A'/'AAAA'-IPv4/IPv6アドレス。
'CNAME'-名前のエイリアス;ゾーンのルートで使用しないでください(代わりにプロバイダでALIAS/ANAME)。
'TXT'-検証、SPF、カスタムラベル。
'MX'-メール(使用する場合)。
'SRV'-サービス(SIP、 LDAPなど)。
'CAA'-ドメインの証明書を発行することができます。
'NS'/'SOA'-委任/ゾーンパラメータ。
'DS'-親TLDへのDNSSECキー。
サンプルゾーン(フラグメント)
$TTL 300
@ IN SOA ns1.dns.example. noc.example. (2025110501 3600 600 604800 300)
IN NS ns1.dns.example.
IN NS ns2.dns.example.
@ IN A 203.0.113.10
@ IN AAAA 2001:db8::10 api IN CNAME api-prod.global.example.
_www IN CNAME cdn.example.net.
_caa IN CAA 0 issue "letsencrypt.org"
TTLとキャッシュ
短いTTL (30-300秒)-ダイナミクス用(APIフロント、フェイルオーバー)。
中型TTL (300-3600 s)-CDN/statics用。
長いTTL (≥ 1日)-まれな変更(MX/NS/DS)のために。
移行を計画する場合は、TTLを24〜72時間前に短縮してください。
ネガティブキャッシングTTL (NXDOMAIN): 'SOA MINIMUM'によって管理される'
ルーティングポリシー(GSLBレイヤー)
フェイルオーバー(アクティブ/パッシブ)-フェイルヘルスチェックにメインIPを渡し、リザーブを行います。
重み付け(traffic-split)-トラフィック分布(例えば、カナリア5/95)。
レイテンシーベースは、ネットワーク遅延による最も近いPoR/リージョンです。
Geoルーティング-国別/大陸別;ローカル/PCI/PIIの法則に便利です。
Multivalue-複数の'A/AAAA'とそれぞれの健康チェック。
カウンシル
重要なAPIについては、latency-based+health-checks+short TTLを接続してください。
スムーズなリリースのために-重み付けと緩やかなシェア成長。
地域の制限-許可されたプロバイダーの地理とリスト。
健康と自動切換え
健康チェック:HTTP (S) (200 OK、 body/header)、 TCP (port)、 ICMP。
評判/指紋:ポートだけでなく、バックエンド'a(バージョン、build-id)の正確さもチェックします。
感度しきい値:フラップを避けるために、'N'成功/失敗したチェックを連続します。
メトリクスの取得:健全なエンドポイントの共有、反応時間、スイッチの数。
プライベートエリアと分割地平線
プライベートDNS: VPC/VNet/On-premの内部ゾーン(例:'svc。ローカル。例')。
Split-horizon:内部クライアントと外部クライアントの異なる応答(内部IPとパブリックIP)。
漏出保護:外で「内部」名前を使用しないで下さい;プライベートエリアがパブリックプロバイダーを通じて解決しないことを確認してください。
DNSセキュリティ
DNSSEC:ゾーン署名(ZSK/KSK)、親ゾーンでの「DS」の公開、キーロールオーバー。
CAA: TLS sertsのリリースを信頼できるCAに制限します。
再カーソルのDoT/DoH-クライアント要求を暗号化します。
AuthoritativeのACL/Rate-Limit:反射DDoS/ANY要求に対する保護。
サブドメインの取得:リモートサービスのために定期的に「ハング」CNAME/ALIASをスキャンします(リソース削除-CNAMEは残ります)。
NS/Glueレコード:レジストラとDNSプロバイダ間の整合性。
SLOと観測可能性
SLO(例)
権威ある回答の可用性:≥ 99。99%/30日。
再帰応答時間(p95): ≤ 50 msローカル/≤ 150 msグローバル。
成功の健康チェック: ≥ 99。9%、誤検出-≤ 0。1%.
伝搬時間:TTL 60 sで≤ 5分。
メトリクス
RCODE (NOERROR/NXDOMAIN/SERVFAIL)、 QPS、 p50/p95応答時間。
分数IPv6/IPv4、 EDNSサイズ、切り捨て(TC)応答。
ヘルスチェックスイッチの数、フラッピング、DNSSEC署名エラー。
DoH/DoTクエリの共有(再帰を制御する場合)。
Logs(ログ)
クエリ(qname、 qtype、 rcode、 client ASN/geo)、異常(ANY嵐、1つの接頭辞による頻繁なNXDOMAIN)。
IaCと自動化
Terraform/DNSプロバイダ:リポジトリ内のゾーンを保持し、PRレビュー、計画/アプリ。
ExternalDNS (K8s): Ingress/Serviceからのレコードの自動作成/削除。
中間環境:'dev。'/'stg。'prefixおよび個々のDNSプロバイダアカウント。
テラフォーム(簡略例)
hcl resource "dns_a_record_set" "api" {
zone = "example.com."
name = "api"
addresses = ["203.0.113.10","203.0.113.20"]
ttl = 60
}
resource "dns_caa_record" "caa" {
zone = "example.com."
name = "@"
ttl = 3600 record {
flags = 0 tag = "issue"
value = "letsencrypt.org"
}
}
リゾルバ、キャッシュ、パフォーマンス
Unbound/Knot/Bindは、アプリケーションに近い→p95未満です。
ホットレコードのプリフェッチをオンにすると、権限が利用できない場合は、古い状態になります。
EDNS (0)と正しいバッファサイズ、DNSクッキー、最小応答。
分解能フローとアプリケーショントラフィック(QoS)。
負のTTLを考慮する:壊れたクライアントからのNXDOMAINの多くは、キャッシュを詰まらせることができます。
DDoSとレジリエンス
グローバルなPoPとボットトラフィック集約を持つAnycastプロバイダ。
権威ある増幅に対する保護に対する応答速度制限(RRL)。
「ANY」禁止、EDNSバッファ制限、「重い」タイプのフィルタ。
ゾーンのセグメンテーション:重要-最高のDDoSシールドを持つプロバイダで;あまり重要ではありません-別に。
「AXFR/IXFR」のバックアッププロバイダ(セカンダリ)とレジストラレベルで自動ファイローNS。
オペレーションとプロセス
変更:PRレビュー、カナリアレコード、ウォームアップキャッシュ(low TTL→deploy→return TTL)。
ロールオーバーDNSSEC:規制、ウィンドウ、有効性モニタリング(RFC 8901 KSK/ZSK)。
Runbook: PoPドロップ、不適切なNS委任、ヘルスチェックから落ちた、大規模なSERVFAIL。
DR計画:代替DNSプロバイダ、既製ゾーンテンプレート、レジストラへのアクセス、NSを置き換えるSLA。
実装チェックリスト
- 2つの独立した権威プロバイダ/RoP (Anycast)、レジストラで正しい'NS'。
- TTL戦略:ダイナミクスの短い、安定したレコードの長い;制御の下の否定的なTTL。
- ヘルスチェックとポリシー:サービスプロファイルによるフェイルオーバー/重み付け/レイテンシ/ジオプロファイル。
- DNSSEC (KSK/ZSK/DS)、 'CAA'はsertsの解放を制限します。
- ゾーン用IaC、 K8s用ExternalDNS、別々の環境/アカウント。
- 監視:rcode/QPS/latency/propagation、 SERVFAIL/signaturesによるアラート。
- DDoS: Anycast、 RRL、 EDNS制限、リストブロック/ACL。
- ドメインマイグレーションとTTLダウングレードに関する規制48-72時間。
- 「掛かる」CNAME/ALIAS、 MX/SPF/DKIM/DMARCの規則的な監査(郵便が使用されれば)。
よくある間違い
重大な'A/AAAA'のTTLが多すぎる-長い移行/fylovers。
1つのDNS プロバイダ/1つのPoPはSPOFです。
DNSSEC/CAAの欠如-置換/制御されていないsertsのリスク。
一貫性のない分割地平線→リークする内部名。
GSLBのヘルスチェックなし-ハンドスイッチングと遅延。
外部サービスのCNAMEを忘れた→買収のリスク。
IaC→「snowflake」が存在しない場合、手動編集中にエラーが発生します。
iGaming/Fintechの特異性
地域バージョンとPSP:地理/遅延ルーティング、IP/ASNパートナーのホワイトリスト、高速フェイルオーバーゲートウェイ。
ピック(試合/トーナメント):短いTTL、ウォームアップCDN、イベントの別名('event-N。例を示します。com')管理ポリシーを使用します。
法的正当性:重要な変更(監査ログ)中のゾーンの時間とバージョンを記録します。
Antifraud/BOT保護:tiebreakers/captcha/checkエンドポイントの個別の名前。攻撃の「ブラックホール」(陥没穴)への迅速な撤退。
ミニプレイブック
前面のカナリアリリース(重み付け):- 1。 'api-canary。例を示します。com'→トラフィックの5%;2)モニターp95/p99/エラー;3)25/50/100%への増加;4)分解の間に転がります。
1.TTL 60 s;2)ヘルスチェックマークされた領域→応答から削除されたGSLB;3)外部リゾルバのチェック。4)状態のコミュニケーション。
DNSプロバイダの移行:1.新しいプロバイダにゾーンをインポートします。2)古いものの同期セカンダリをオンにします。3)レコーダーの「NS」を「静かな」ウィンドウに変更します。4) SERVFAIL/valエラーを確認します。
[結果]
信頼できるDNSループは、Anycast authority+reasonable TTL+health/latency routing+DNSSEC/CAA+IaCとオブザビリティです。移行とロールオーバーのプロセスを記録し、バックアッププロバイダを維持し、定期的にゾーンをチェックして記録を「ぶら下げ」-ユーザーは最も暑い時間でも安定して目的の前線に到達します。