すべてのプロダクト
Search
ドキュメントセンター

Container Compute Service:Alibaba DNS Cache を使用した DNS パフォーマンスの向上

最終更新日:Mar 26, 2026

Alibaba DNS Cache は、Container Compute Service (ACS) クラスター向けのカーネルベースの DNS キャッシュコンポーネントです。侵入不要で、パフォーマンス専有型、低オーバーヘッドです。DNSConfig を変更することなく、ノード間の DNS トラフィックを削減し、ACS Pod の DNS クエリのレイテンシーを低減します。

Alibaba DNS Cache を使用する理由

ローカル DNS キャッシュがない場合、高い DNS クエリレートを持つ Pod は、異なるノード上の DNS サービスにリクエストを送信する可能性があります。これにより、ネットワークのラウンドトリップレイテンシーが増加し、CoreDNS の負荷が増大します。Alibaba DNS Cache は、以下の方法でこの問題に対処します。

  • Pod レベルでキャッシュされた応答を提供し、繰り返されるアップストリームルックアップを排除します。

  • クエリがノードを離れる前にインターセプトすることで、ノード間の DNS トラフィックを削減します。

  • 透過的に動作します。アプリケーションの変更や DNSConfig の修正は不要です。

仕組み

Alibaba DNS Cache は、アプリケーション Pod からの DNS クエリをインターセプトし、キャッシュされた応答を提供します。キャッシュミスが発生した場合、DNS ゾーン構成に基づいてクエリをルーティングします。

  • 直接アップストリームパス: クエリは直接アップストリーム DNS サービスに送信されます。Alibaba DNS Cache は結果をキャッシュし、アプリケーションに返します。

  • CoreDNS パス: クエリは CoreDNS に送信されます。CoreDNS でもミスが発生した場合、CoreDNS はアップストリーム DNS サービスにクエリを送信し、応答をキャッシュして Alibaba DNS Cache に返します。その後、Alibaba DNS Cache はそれをアプリケーションに返します。

image

制限事項

制限事項詳細
クラスタータイプACS クラスターのみ。ACS Pod にのみ適用されます。
サポートされているレコードタイプA、AAAA、および CNAME レコード
サポートされているトランスポートUDP ベースの DNS クエリのみ
最大応答サイズ256 バイト

Alibaba DNS Cache のインストール

前提条件

開始する前に、以下があることを確認してください。

  • ACS クラスター

  • クラスター管理権限を持つ ACS コンソールへのアクセス

コンポーネントのインストール

  1. ACS コンソール」にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. クラスター」ページで、管理するクラスターの ID をクリックします。左側のナビゲーションウィンドウで、「操作」 > 「アドオン」を選択します。

  3. [アドオン] ページで、[ネットワーキング] タブをクリックし、[Alibaba DNS キャッシュ] コンポーネントを探します。

  4. [Alibaba DNS Cache] カードで、[インストール] をクリックします。表示されるダイアログボックスで、[OK] をクリックします。Alibaba DNS Cache がインストールされると、ACS Pod から開始された DNS クエリが高速化されます。追加の操作は不要です。

    重要

    Alibaba DNS Cache をインストールすると、kube-system 名前空間に blazing-dns という名前の ConfigMap が作成されます。この ConfigMap を変更または削除しないでください。

インストールの検証

DNS キャッシュアクセラレーションは、コンポーネントのインストール後に作成された Pod にのみ適用されます。既存の Pod は影響を受けません。

次のコマンドを実行して、新しい Pod で DNS キャッシュアクセラレーションが有効になっていることを確認します。

kubectl get pod -o=jsonpath='{.items[?(@.metadata.annotations.network\.alibabacloud\.com/enable-dns-cache=="true")].metadata.name}' -A

出力に Pod 名が一覧表示される場合、それらの Pod では DNS キャッシュアクセラレーションが有効になっています。network.alibabacloud.com/enable-dns-cache: "true" アノテーションがない Pod は高速化されません。

Alibaba DNS Cache のアンインストール

アンインストールする前に、実行中の Pod が DNS キャッシュアクセラレーションを使用していないことを確認してください。

ステップ 1: DNS キャッシュアクセラレーションが有効になっている Pod の確認

jq がインストールされているかどうかに応じて、次のいずれかのコマンドを実行します。

`jq` なし:

kubectl get pod -o=jsonpath='{.items[?(@.metadata.annotations.network\.alibabacloud\.com/enable-dns-cache=="true")].metadata.name}' -A

`jq` あり:

kubectl get pod -o=jsonpath='{.items[?(@.metadata.annotations.network\.alibabacloud\.com/enable-dns-cache=="true")]}' -A | jq -rc ".metadata.namespace,.metadata.name"

出力が空の場合、ステップ 3 にスキップします。Pod がリスト表示される場合、ステップ 2 に進みます。

ステップ 2: 既存の Pod の DNS キャッシュアクセラレーションの無効化

  1. [クラスター] ページで、管理するクラスターの ID をクリックします。左側のナビゲーションウィンドウで、[設定] > [ConfigMap] を選択します。

  2. [ConfigMap] ページで、名前空間として kube-system を選択します。blazing-dns の [操作] 列で、[編集] をクリックします。表示されるパネルで、[config] を enabled: false に設定します。

  3. ステップ 1 を繰り返し、続行する前に Pod が返されないことを確認します。

ステップ 3: コンポーネントのアンインストール

  1. [クラスター] ページで、管理するクラスターの ID をクリックします。左側のナビゲーションウィンドウで、[操作] > [アドオン] を選択します。

  2. [アドオン] ページで、[ネットワーク] タブをクリックします。[Alibaba DNS Cache] カードで、[アンインストール] をクリックします。表示されるメッセージで、[OK] をクリックします。