サブドメインAレコード -- サブドメインのルーティング

サブドメイン用のAレコードを作成して、異なるサービスを異なるサーバーにルーティングする方法を解説します。blog、API、staging、appサブドメインの一般的なパターンを網羅しています。

AAddress Records

Zone File Entry

blog.example.com.     IN    A    203.0.113.60
api.example.com.      IN    A    203.0.113.70
staging.example.com.  IN    A    203.0.113.80

詳細な説明

サブドメインAレコード

サブドメインAレコードは、特定のサブドメイン(blog.example.comapi.example.comなど)をIPv4アドレスにマッピングします。ドメイン上の異なるサービスを異なるサーバーに向ける方法です。

BINDゾーンファイルの構文

; よくあるサブドメインレイアウト
blog.example.com.       3600    IN    A    203.0.113.60
api.example.com.        3600    IN    A    203.0.113.70
staging.example.com.    3600    IN    A    203.0.113.80
admin.example.com.      3600    IN    A    203.0.113.90
cdn.example.com.        3600    IN    A    203.0.113.100

; 相対名の使用(example.comのゾーンファイル内)
blog        3600    IN    A    203.0.113.60
api         3600    IN    A    203.0.113.70
staging     300     IN    A    203.0.113.80

サブドメインAレコードとCNAMEの使い分け

Aレコードを選択する場合:

  • ターゲットサーバーを自分で管理しており、静的IPアドレスを把握している
  • 同じサブドメインに他のレコードタイプ(MX、TXT)が必要
  • 最速の名前解決が必要(余分なCNAMEルックアップなし)

CNAMEを選択する場合:

  • ターゲットがサードパーティ(CDN、SaaSプラットフォーム)によって管理されており、IPが変更される可能性がある
  • ターゲットプロバイダーがIPを変更した際の自動更新が必要
  • そのサブドメインに他のレコードタイプが不要

よくあるサブドメインパターン

サブドメイン 用途 ターゲット例
www メインWebサイト WebサーバーまたはCDN
blog ブログまたはコンテンツサイト CMSサーバー
api APIエンドポイント APIゲートウェイまたはサーバー
staging 本番前テスト ステージングサーバー
admin 管理パネル 内部サーバー
mail メールサーバー SMTPサーバー
ftp ファイル転送 FTPサーバー
dev 開発環境 開発サーバー

アーキテクチャの考慮事項

各サブドメインはまったく異なるインフラを指すことができます:

  • www.example.com → VercelまたはNetlify(CNAME経由)
  • api.example.com → AWS EC2インスタンス(Aレコード経由)
  • blog.example.com → VPS上のWordPress(Aレコード経由)
  • mail.example.com → メールサーバーのIP(Aレコード経由、MXから参照)

この柔軟性により、チームは各サービスに最適なホスティングソリューションを独立して選択できます。

サブドメインのTTL戦略

  • 本番サブドメインwwwapi):安定したエンドポイントには3600(1時間)のような長いTTLを使用
  • ステージング/開発サブドメイン:IPの変更が頻繁なため300(5分)のような短いTTLを使用
  • 移行前:計画されたIP変更の十分前にTTLを下げる

セキュリティの考慮事項

  • ダングリングDNSレコード:サーバーを廃止してもAレコードを残したままにすると、攻撃者がそのIPアドレスを取得し、あなたのサブドメインでコンテンツを提供する可能性があります。サービス廃止時は必ずDNSレコードを削除してください。
  • サブドメイン乗っ取り:外部サービスを指すCNAMEレコードには特に注意してください。サービスのアカウントが期限切れになると、攻撃者がそのエンドポイントを取得する可能性があります。
  • アクセス制御:公開向けサブドメインと内部専用サブドメインに異なるIPを使用し、ファイアウォールルールと組み合わせることを検討してください。

ユースケース

サブドメインAレコードを作成して、APIサーバー、ブログプラットフォーム、ステージング環境、管理パネルなど、インフラの異なる部分をそれぞれのサーバーIPアドレスにルーティングします。

試してみる — DNS Record Generator

フルツールを開く