AレコードCNAME は似ているように聞こえるが、DNSでは2つの異なるタスクを実行する:AレコードはドメインをIPv4アドレスに直接割り当て、CNAMEは代わりにエイリアスを別のホスト名に設定します。この記事では、実用的な違い、それぞれのタイプのレコードが輝く場所、そしてサブドメイン、www、外部サービスが正しいホスト名に確実に割り当てられるように、両方を正しく使用する方法について説明します。 住所 ショー
中心点
- AレコードIPv4アドレスへのドメインの直接割り当て
- CNAMEサブドメインから別のホスト名へのエイリアス
- パフォーマンスAレコードは通常より速く、CNAMEはより柔軟
- エイペックス・ドメインルート・ドメインには通常、Aレコードを使用する。
- メンテナンスIPの変更はAレコードのみで、CNAMEはそれに従う。
DNAの簡単な説明
比較する DNS 人は名前を記憶し、コンピュータはIPを話し、DNSはその2つの間を翻訳する。example.deを呼び出すと、リゾルバは権威あるネームサーバーから一致するエントリーを検索し、IPを提供する。 サーバー が送信される。このプロセスを円滑に進めるために、リゾルバは中間記憶装置と連携し、結果が有効である期間を規定する定義されたTTLを尊重する。コンパクトな入門書としては DNSとドメインネームシステムを参照してください。基本的なルールとして、正しいDNSエントリーがなければ、たとえウェブサーバーがトップレベルであっても、ユーザーはウェブサイトに到達することができません。 得点.
Aレコード:IPv4アドレスへの直接割り当て
A Aレコード はドメインやサブドメインを 203.0.113.10のような特定のIPv4に直接接続するので、リクエストは 迂回することなく目的のマシンに直接到達する。リゾルバは通常1つのクエリーしか必要としないため、この直接性は速度をもたらし、応答時間を著しく短くすることができる。メインドメインや、独自のターゲットサーバーを持つサブドメインでは、IPを管理し、常に変更しないのであれば、Aレコードを使用します。 主権 を使用して解決します。変更頻度に合わせてTTLを計画する:変更頻度が少ない場合は、DNSトラフィックを減らすためにTTLを長くし、頻繁に移動する場合は、新しいIPがより速く普及するようにTTLを短くする。IPv6も使用する場合は、AAAAレコードを追加してください。 アイピーブイフォー より。
CNAME: ホスト名とサブドメインの別名
A CNAME はIPを指すのではなく、別のホスト名を指すため、多くのサブドメインの管理を簡素化するエイリアスとして理解されます。例: www.beispiel.de CNAMEとしてexample.deを指し、実際のIPはルートドメインにのみあり、単一のカスタマイズポイントのままです。サーバIPが変更された場合、メインドメインのAレコードを調整するだけで、依存するすべてのCNAMEは自動的に新しい ゴール.特に複数のサービスが同じバックエンドを使用している場合、私はこの方法でブログ、ショップ、アプリのサブドメインを無駄なくセットアップしている。また、cdn.provider.netのような外部のプラットフォームにもこの方法で接続している。 マスト.
直接比較:特性、性能、使用
どちらのエントリータイプも明確なタスクをこなすが、ターゲット、解像度、使用焦点の点で違いがあり、日常業務で気づくだろう。エイペックス・ドメインでは、通常 Aレコードなぜなら、MXのような電子メールエントリは並列でなければならず、CNAMEはそこで問題を引き起こすからである。サブドメインの場合、CNAMEはメンテナンスの手間を減らし、特に大規模な環境では設定を明確に保つことができるので、より魅力的である。レスポンスタイムの点では、Aレコードはルックアップで十分であるのに対し、CNAMEは少なくとも1つの追加ステップを必要とするため加点となる。次の表はコアデータを要約したもので、目的に応じて意図的に両方を使用する理由を示している。 ミックス:
| 特徴 | Aレコード | CNAME |
|---|---|---|
| ターゲット・タイプ | アイピーアドレス (IPv4) | ホスト名 (別名) |
| 決議 | ほとんど1ルックアップ | 少なくとも2つのルックアップ |
| メイン・ドメイン(エイペックス) | ふさわしい | MXに問題がある |
| IP変更のメンテナンス | 影響を受けるすべてのAレコードを変更する | 宛先はAレコードのみ、CNAMEはそれに従う |
| 応募要項 | ソリッドだ、 クリティカル 目標 | 多数のサブドメイン、外部サービス |
実践:クリーンなコンフィギュレーションの例
新しいプロジェクトでは、まずApexドメインを明確に分離します。 AレコードwwwはCNAME経由でApexを指し、必要に応じてさらにサブドメインが続きます。ショップがSaaSプラットフォームを指している場合、私はshop.example.netへのCNAMEとしてshop.yourdomain.comを設定し、その後の変更がIPの知識なしで機能するようにしている。monitor.deinedomain.deのような独自のマシンを持つ内部ツールについては、私は意識的にIPを制御し、直接解決を好むので、Aレコードを選択します。以下のミニマトリクスは、その違いを具体的にし、CNAMEが大規模なセットアップにおいていかに柔軟であるかを示しています。これが私のDNS管理方法です。 クリア そして手応えがある:
| サブドメイン | タイプ | ゴール |
|---|---|---|
| www | CNAME | example.com |
| ブログ | CNAME | example.com |
| 店 | CNAME | ショップエクスターナルドットコム |
| example.com | Aレコード | 192.0.2.10 |
TTL、パフォーマンス、CNAMEチェーン
仝 TTL (Time to Live)は、リゾルバが応答をキャッシュする時間に影響し、パフォーマンスと適時性に直接影響します。静的ターゲットの場合、DNSクエリの回数を減らすために長いTTLを使用し、計画的な移転の前には早めにTTLを下げて、変更が世界中に素早く届くようにしています。CNAMEについては、チェーンが増えるごとに解決回数が増えるため、チェーンを短く保ち、エイリアスパスを定期的にチェックするようにしています。ループを作らないようにし、最終目的地が実際にAまたはAAAAレコードで解決できることを確認してください。 ウェブサイト に到達できない。digやnslookupのようなツールで変更をテストし、応答時間を観察し、リゾルバが期待されるTTLを尊重しているかどうかをチェックする。
AAAAレコードとIPv6: 二重のアクセス、クリーンな優先順位付け
Aレコードに加えて、私は一貫して次のものを使っている。 AAAAレコード クライアントがIPv6経由でも接続できるようにするためだ。最近のスタックは "happy eyeballs "メソッドを使い、自動的に速いパスを選択します。重要:サービスがIPv6で完全にアクセスできる場合(ファイアウォール、ルーティング、TLS証明書、VirtualHost/SNI)だけAAAAレコードを発行してください。IPv6パスが壊れているとタイムアウトにつながります。私はAとAAAAのTTLを同一に保ち、両方のパスが同期して老化するようにし、応答が正しいかどうかを定期的にdig AAAAでチェックします。
ワイルドカード: ワイルドカードの使用方法
ワイルドカードエントリー(*.yourdomain.com)を使えば、未知のサブドメインをインターセプトすることができます。私は通常 CNAME またはランディングページへのAレコード。優先順位に注意:明示的なエントリーはワイルドカードを打ち負かす。ワイルドカードMXやワイルドカードNSは、意図せずにメールやゾーンの構造を変えてしまう可能性があるので避けましょう。どのサブドメインがプレースホルダを介して実際に解決されるかがわかるように、ワイルドカードを透過的に文書化しておきましょう。
複数のAレコード:ラウンドロビンとフェイルオーバーを正しく評価する
複数着用の場合 Aレコード 同じラベルに対して、リゾルバはしばしば応答をラウンドロビンで 配布する。これは単純なロードバランシングであり、ヘルスチェックではない。ターゲットが失敗しても、キャッシュはTTLが切れるまでそれを配信する。本当の高可用性のためには、DNSを上流のチェック(ロードバランサーやCDNなど)と組み合わせたり、weighted/active-passiveのようなプロバイダーの機能を使ったりします。TTLは意図的に計画する:高速な切り替えには十分短く、不必要な負荷に対しては十分長く。AセットとAAAAセットを分けることで、非対称なアクセスのリスクを冒すことなく、ファミリー単位で微妙にコントロールすることもできる。
Apexドメイン、Eメール、CNAMEの代替案
について エイペックス-AまたはAAAAレコードに加えて、電子メールのMX、SPFのTXT、時にはSRVのような他のエントリが存在することが多く、CNAMEが競合を引き起こす理由である。プロバイダによっては、いわゆるALIASまたはANAMEタイプを提供しており、頂点ではCNAMEと同様に動作しますが、リゾルバにIPを提示するため、並列エントリが干渉せずに存在します。プロバイダーがこれを提供していない場合は、エイペックスではAレコードとAAAAレコードにこだわり、サブドメインではCNAMEのみを使用することで、セットアップを安定させ、メンテナンスの手間を省くことができます。メール配信については、MXが正しく設定されていること、SPF、DKIM、DMARCが完了していることを常にチェックし、配信とレピュテーションが正しく行われるようにしています。この組織により、ウェブとメールが確実に連動するようになり、適切な 場所 変更する。
Eメール、MX、CNAME:トラブルを防ぐルール
私は2つの原則を守っている。 CNAMEなし (「CNAMEと他のデータを使用しない」規則)。2) MXのターゲットホスト名は、理想的にはCNAMEではなくA/AAAAを直接指すべきである。DKIMでは、ベンダーセレクタにCNAMEを使うのが好きです。セレクタラベルにはCNAMEだけが存在し、適切に機能するからです。配信そのものについては、メールホスト(mail.deinedomain.deなど)に専用のA/AAAレコードを設定し、TXT経由でSPF、DKIM、DMARCを維持することで、メールフローを堅牢に保つようにしています。
落とし穴:典型的なミスに素早く気づく
最も頻繁に起こる問題は、長すぎることだ。 CNAME-エイペックスドメインのチェーン、エイリアスループ、CNAMEは、MXがすでに存在し、競合を引き起こしています。このような場合、私はゾーンファイルを上から下までチェックし、チェーンを最小限に減らし、他のエントリーが必要なところにAレコードを設定します。wwwサブドメインとapexの順番を間違えないようにすること。また、世界中のキャッシュがTTLに応じて新しい値を表示するのに時間がかかるため、変更後のプロパゲーションも監視すること。構造化されたモニタリングは、トラブルシューティングの手間を省き、あなたの 来場者 目的地に確実に到達する。
プロバイダーとともに変更をクリーンに実行する
DNSレコードを変更する前に、次のようにします。 TTLキャッシュのランタイムを待ってから新しい値を設定することで、ユーザは新鮮なデータを素早く受け取ることができます。一般的なホストのA、AAAA、CNAME、MX、TXT、SRVのフィールドを持つ明確なインターフェースがあり、予測可能な処理を可能にします。具体的な例をご覧になりたい場合は、コンパクトな DNS設定ガイドこれは入力フィールドと典型的な組み合わせを示している。保存後、私はdig/nslookupを使って答えとTTLが正しいかどうかをチェックし、いくつかのネットワーク経由でウェブと電子メールへのアクセスをテストする。これにより、変更が予期せぬ問題を引き起こさないことを確認している。 ギャップ を残す。
診断の実際:digとnslookupのパターン
迅速なチェックにはクリアコマンドを使っている。そして ディグ+トレース を使えば、権威サーバまでの解決チェーン全体を見ることができます。CNAMEチェーンや委任の問題を視覚化するのに理想的です。と dig www.deinedomain.de A +ttlunits リゾルバが実際にどのTTLを返すかをチェックする。そして dig cname.ziel.tld CNAME を使えば、エイリアスが解決可能なターゲットを指しているかどうかを認識できる。IPv6を忘れないように、AAAAでテストすることも重要である。Windowsでは エヌエスルックアップ サーバーを8.8.8.8または1.1.1.1に設定して、独立したレスポンスを取得し、ローカルキャッシュを除外した。
証明書とCNAME:ブラウザが実際にチェックするもの
ホスト名がCNAMEで異なる宛先を指していても、ブラウザは 証明書 は常に、元々呼び出された名前に対す るものである。したがって、証明書には、必ずしもターゲットホストではなく、エイリアス名(SAN/CN)を含める必要がある。私は自動化のためにDNS-01チャレンジをよく使用する。 アクメ・チャレンジ は、私が手動でTXTレコードを調整することなく、検証を管理するプロバイダにCNAMEを介して委譲することができます。CNAMEが正しく解決され、同じラベルに並列レコードがないことを確認してください。
CDNとSaaSの統合:ホストヘッダーとApex戦略
CDNやSaaSサービスでは、次のようなことが可能です。 ホストヘッダ 重要:ターゲットサーバーは、CNAME経由で別のホスト名を指定した場合でも、HTTPヘッダーに元のドメインが含まれていることを期待します。プロバイダーがホスト名にTLSを含む "カスタムドメイン "を保存しているかどうかを確認してください。ALIAS/ANAMEのないApexドメインの場合、私はwwwへの301リダイレクトで作業し、CNAMEとしてCDNをポイントします。
スプリット・ホライズンDNS:内部DNSと外部DNS
企業ネットワークでは、私は次のように使いたい。 スプリット・ホライズン内部リゾルバは、外部リゾルバとは異なる応答を提供する(例えば、内部サービス用のプライベートIP)。ゾーンの明確な分離と標準化されたラベルがここでは重要である。内部でどの名前が異なるかを文書化し、内部ホスト名が不注意に公開されるのを防ぎます。ここでは、ゾーンの境界を越えた連鎖を避けるためにCNAMEを控えめに設定し、高速なロールアウトのために内部的にTTLを短くしておく。
セキュリティ:ぶら下がりCNAMEとサブドメインの乗っ取りを避ける
特に重要なのは ぶら下がりCNAME を外部プロバイダーに提供し、そのターゲットエンドポイントはもはや存在しない。その後、攻撃者は空いているエンドポイントを登録し、あなたのサブドメインでコンテンツを配信することができます。私の対策ゾーンを定期的に監査し、未使用のCNAMEを削除し、外部依存関係を文書化し、プロジェクトが期限切れになったらDNSレコードを積極的にクリーンアップする。また、CAAレコードを設定して証明書の発行を制限し、必要な範囲でワイルドカードを最小限に抑えています。
エイリアスとリダイレクトのSEO的側面
DNSエントリーは名前を解決するものであり、名前を置き換えるものではない。 転送そのため、検索エンジンがメインアドレスを認識できるよう、HTTPリダイレクトや一貫したcanonicalタグにも注意を払っている。wwwをエイペックスへのCNAMEとして使用する場合は、すべてのユーザーを優先URLに誘導し、シグナルが束になるようにする。エイリアスのように機能するサブドメインについては、コンテンツが二重に表示されないように内部リンクとカノニカルに注意を払い、クロールの予算が適切に保たれるようにする。エイリアスとリーチに関する実践的なヒントは、以下のコンパクトな記事でご覧いただけます。 ドメイン・エイリアスとSEOクリーンな構造を優先DNSとSEOは分けて考えましょう:DNSは素早く解決し 信頼できる SEOは可視性と一貫性をコントロールする。
プレーンテキストでの要約
仝 Aレコード は、ドメインをIPv4アドレスに直接接続し、特にMXとTXTエントリーが並列しているApexドメインで、スピードと制御を提供します。CNAMEは、ホスト名へのエイリアスを設定し、多くのサブドメインが同じターゲットを指す場合や外部サービスが統合されている場合に有効です。ターゲットへの変更は、通常メインドメインのAレコードにアクセスするだけで十分です。短いチェーン、適切なTTLに注意し、頂点にメールエントリがある場合はCNAMEを避ける。このようにタスクを明確に分けることで、各ホストに対して適切なエントリを選択し、ゾーン こぎれい そして、迅速で確実な解決を保証します。


