NetScaler Ingress Controller を介したワイルドカード DNS ドメインの設定

最終公開日 : Oct 02, 2026
ワイルドカード DNS ドメインは、存在しないドメインやサブドメインに対するリクエストを処理するために使用されます。DNS ゾーンでは、ワイルドカードドメインを使用して、存在しないすべてのドメインまたはサブドメインに対するクエリを特定のサーバーにリダイレクトできます。これは、各ドメインに対して個別のリソースレコード (RR) を作成する代わりに利用されます。ワイルドカード DNS ドメインの最も一般的な使用法は、インターネットから他のメールシステムにメールを転送するために使用できるゾーンを作成することです。
ワイルドカード DNS ドメインの詳細については、NetScaler ドキュメント を参照してください。
NetScaler Ingress Controller を使用して、NetScaler 上でワイルドカード DNS ドメインを設定できるようになりました。カスタムリソース定義 (CRD) は、クラウドネイティブデプロイメントでポリシーを設定する主要な方法です。NetScaler が提供するワイルドカード DNS CRD を使用すると、NetScaler Ingress Controller を使用して NetScaler 上でワイルドカード DNS ドメインを設定できます。ワイルドカード DNS CRD は、ワイルドカードドメインをサポートするために NetScaler Ingress Controller と NetScaler 間の通信を可能にします。

使用ガイドラインと制限事項

  • 完全修飾ドメイン名 (FQDN) の場合、DNS レコードを追加する方法は複数あります。Ingress リソースの NetScaler Ingress Controller に対して NS_CONFIG_DNS_REC 変数を有効にするか、ワイルドカード DNS CRD を使用できます。ただし、同じドメインへの複数の IP マッピングを避けるために、CRD または Ingress のいずれかを通じて設定されていることを確認する必要があります。
  • ワイルドカード DNS 設定には、ワイルドカード DNS CRD を使用することをお勧めします。
  • NetScaler Ingress Controller で NS_CONFIG_DNS_REC が有効になっている場合、Ingress を介して DNS アドレスレコードにワイルドカード DNS エントリを設定することはできません。

ワイルドカード DNS CRD の定義

ワイルドカード DNS CRD は、NetScaler Ingress Controller GitHub リポジトリの wildcarddnsentry.yaml で入手できます。ワイルドカード DNS CRD は、NetScaler 上でワイルドカード DNS エントリを設定するために必要なさまざまなオプションの属性を提供します。
ワイルドカード DNS CRD で提供される属性は次のとおりです。
属性 説明
domain ゾーン用に設定されたワイルドカードドメイン名を指定します。
dnsaddrec ワイルドカードドメインのIPv4アドレスを持つDNSアドレスレコードを指定します。
dnsaaaarec ワイルドカードドメインのIPv6アドレスを持つDNS AAAAレコードを指定します。
soarec SOAレコードの構成詳細を指定します。
nsrec ネームサーバーの構成詳細を指定します。

Wildcard DNS CRD をデプロイする

Wildcard DNS CRD をデプロイするには、以下を実行します。
  1. Wildcard DNS CRD をダウンロードします。
  2. 次のコマンドを使用して Wildcard DNS CD をデプロイします。
    kubectl create -f wildcarddnsentry.yaml

Wildcard DNS 構成ポリシーの記述方法

NetScaler が提供する Wildcard DNS CRD を Kubernetes クラスターにデプロイした後、ワイルドカード DNS 関連の構成を yaml ファイルで定義できます。.yaml ファイルでは、kind フィールドに wildcarddnsentry を使用し、spec セクションでポリシー構成の要件に基づいて Wildcard DNS CRD 属性を追加します。
以下は、NetScaler 上で SOA レコード、NS レコード、DNS ゾーン、およびアドレスと AAAA レコードを構成する YAML ファイル定義の例です。
apiVersion:
citrix.com/v1
kind: wildcarddnsentry
metadata:
  name: sample-config
spec:
  zone:
    domain: configexample
    dnsaddrec:
      domain-ip: 1.1.1.1
      ttl: 3600
    dnsaaaarec:
      domain-ip: '2001::.1'
      ttl: 3600
    soarec:
      origin-server: n2.configexample.com
      contact: admin.configexample.com
      serial: 100
      refresh: 3600
      retry: 3
      expire: 3600
    nsrec:
      nameserver: n1.configexample.com
      ttl: 3600
DNS設定を定義した後、以下のコマンドを使用してwildcarddns-example.yamlファイルをデプロイします。
kubectl create -f wildcarddns-example.yaml