Route 53 に存在しないホスト名の課金コストを軽減する

Route 53 に存在しないホスト名の課金コストを軽減する

この請求サイクルの 5 日目に、私の Route 53 ゾーンは、最近削除した特定のホストに対して 3,300 万件を超えるリクエストを受信しました。また、関連する DNS レコードも削除されました。

存在しないホスト レコードへのクエリに対して課金されるとは思っていませんでしたが、課金ダッシュボードによると実際に課金されています。また、削除されてからクエリの数は 2 倍になっています。初期のクエリ ログと調査から、この削除されたホスト名に対して多くの冗長なリクエストを行っているクライアントがいることが示唆されています。

ご興味があれば、このホストは、WebRTC および VOIP 通話をブートストラップする STUN プロトコルのオープン パブリック サーバーとして動作していました。このパブリック サーバーの稼働にかかる課金コストが手に負えなくなってきたため、新しい IP アドレスと新しいホスト名に移動しました。最近、DNS アドレスをコードとサンプル ドキュメントにハードコードしている他の有名なパブリック サービスがあることを知りました。

今夜、私は 4 日間の TTL で 127.0.0.1 (または ::1) に解決される偽の A および AAAA レコードを戻しました。これにより、リクエストを繰り返しているコードが (それほど) 問い合わせを停止し、エントリが下流の DNS サーバーにキャッシュされる可能性があります。しかし、過剰で冗長な DNS クエリは常にコストのかかる問題であり、私は決して対処できませんでした。私は何年もの間、ホスト サービスに対する DDOS 攻撃に対処し、軽減してきましたが、冗長なリクエストを行う Route 53 クライアントをファイアウォールで保護する方法を理解できませんでした。

理想的な解決策は、Route 53 が削除されたホスト名のリクエストを単に無視する (そして料金を請求しない) ことです。

どのような選択肢がありますか?

答え1

レコードを削除するのではなく、ローカルホストの IP アドレスと非常に長い TTL を使用して有効な応答を返すという現在のソリューションは、確かに 1 つの解決策です。

Amazon Route 53 の (現在の) 公式ドキュメント述べ、示唆する代替アプローチ

ルート53が応答するとNXDOMAIN または NODATA 応答 (否定応答) を伴う DNS クエリの場合、標準クエリの料金が課金されます。(Amazon Route 53 の料金表の「クエリ」を参照してください)。否定応答のコストが気になる場合は、次の手順に従ってください。

  • SOAレコードのTTL値を増やす(デフォルトでは900秒に設定されています)

  • SOAレコードの最小存続時間(TTL)値(デフォルトでは86400秒(= 24時間))を増やす

これにより、特定の DNS レコードが存在しないという Route 53 からの DNS 応答、NXDOMAIN 応答、NODATA 応答がキャッシュされる時間が長くなります (ネガティブ キャッシュをサポートする適切なリゾルバ内)。これにより、課金されるリクエストの数が減ります。


SOA レコードには次の要素が含まれます。

最小存続時間 (TTL)。この値は、再帰リゾルバーが Route 53 からの次の応答をキャッシュする時間の長さを定義するのに役立ちます。

  • NXドメイン DNS クエリで指定された名前 (example.com など) を持つレコードは、どのタイプも存在しません。また、DNS クエリで指定された名前 (zenith.example.com など) の子であるレコードも存在しません。

  • データなしDNS クエリで指定された名前を持つレコードが少なくとも 1 つありますが、それらのレコードのいずれも DNS クエリで指定されたタイプ (A など) を持ちません。

DNS リゾルバが NXDOMAIN または NODATA 応答をキャッシュすることをネガティブ キャッシュと呼びます。

ネガティブ キャッシュの期間は、次の値のうち小さい方になります。

  • この値は、SOA レコードの最小 TTL です。この例では、値は 86400 (1 日) です。
  • SOA レコードの TTL の値。

ルート53が応答するとNXDOMAIN または NODATA 応答 (否定応答) を伴う DNS クエリの場合、標準クエリの料金が課金されます。(Amazon Route 53 の料金表の「クエリ」を参照してください)。否定応答のコストが気になる場合は、SOA レコードの TTL、SOA レコードの最小 TTL (この値)、またはその両方を変更するという方法があります。ホストゾーン全体の否定応答に適用されるこれらの TTL を増やすと、プラスの影響とマイナスの影響の両方が生じる可能性があることに注意してください。

...

関連情報