Webアプリケーションエンジニアが知るべきDNSの基本 accepted

Abstract

概要

毎日触れるインターネット。ブラウザから実行するURL。
DNSは主にドメイン名とIPアドレスの関連付けを管理しており、インターネットを支えるインフラの1つです。
しかしあまりに当たり前すぎて、DNSを強く意識することは少ないかもしれません。

つまり俺たちは雰囲気でDNSを利用している。

しかし…
新規ドメイン名登録とサービス公開。
サービス拡大によるドメイン名やネームサーバーの移設。

手に汗握る切り替え作業。
キャッシュが消えるまでの根拠のない不安感。
おい!準備は万端か?

DNSの設定を操作することに恐怖を感じる場面もあるのかもしれません。

そこで今回、

  • TCP/IPと名前解決の仕組み
  • DNSの基本
  • TTLでキャッシュコントロール
  • ドメイン名登録からサービス公開、サイト移設の手順

を通し、順を追った解説を通し「DNSは怖くない」を持ち帰っていただきます。
デモとして、実際のドメイン名でサービスが立ち上がり、DNSが切り替わる様子もお届けします。

「DNSやネットワークは敬遠していた」「なんか怖い」「なんで浸透って言っちゃいけないの?」
そんな人に。
トラブル事例や解決方法、ベストプラクティスなど、今日から使える内容とともに「お、やれるやん」を持ち帰って頂きたいと思います。

目次

▶︎言葉の定義

よく混同する言葉をまず定義します

▶︎なぜドメイン名は生まれたか 〜ドメイン名の生い立ち〜

  • インターネットが繋がる基本、IPアドレス
  • IPアドレスは数字の羅列、覚えられない!
  • ドメイン名の登場、管理の歴史

▶︎ドメイン名とIPアドレスを関連づける 〜名前解決〜

  • ドメイン名とIPアドレス
  • ドメイン名がIPアドレスにたどり着くまでの詳細な流れ
  • DNSはインターネットの重要なインフラ

▶︎名前空間の構造 〜ツリー構造とゾーン〜

  • ドメイン名前空間
  • ツリー構造と分散データベース
  • ゾーンと委任
  • 権威DNSサーバ

▶︎DNSの応答はどんなもの? 〜リソースレコード〜

名前解決の応答として返す実際の内容であるリソースレコードの代表的な物を解説します。

  • NSレコード
  • SOAレコード
  • Aレコード
  • MXレコード
  • TXTレコード(SPF、DKIM)
  • CAAレコード(HTTPS化が促進される今、注目のレコード)

▶︎名前解決にリソースレコードで答える 〜権威DNSサーバ〜

  • クライアントからの問い合わせに答える
  • リソースレコードを提供、管理する
  • 名前解決ができなくても応答を返す
  • 世界に13集団(クラスタ)!

▶︎ブラウザからどう名前解決するの? 〜スタブリゾルバ とフルリゾルバ〜

  • ブラウザから名前解決依頼、スタブリゾルバ
  • スタブリゾルバから再帰検索、フルリゾルバ
  • フルリゾルバから反復検索の流れ
  • リソースレコードのキャッシュとTTL

▶︎AWSでドメイン名を扱ってみるデモ 〜ドメイン名をWebサーバに関連付ける〜

  • あらかじめ取得したドメイン名を使い、実際にAWSでサービスするまでのDNSの操作をデモ
  • NSレコード、Aレコード、CNAME、Alias(Route53独自機能、便利)の解説
  • TTL、親の権威DNSサーバ、子(自分)の権威DNSサーバ、サブドメインの設定
  • 10分ほどで順を追って設定し、ドメイン名からWebサイトがみれる
  • 実際の意味を知って操作をみていただくことで、安心して操作できる!

▶︎キャッシュを制する! 〜キャッシュとTTL〜

  • TTLとは
  • TTL、キャッシュを正しく扱う
  • どこにキャッシュされる?

▶︎トラブル事例:権威DNSサーバ引っ越しトラブルと正しい手順

  • 引っ越しトラブル!新しいネームサーバが引けない!
  • 手順1:新しいサーバの構築
  • 手順2:引っ越し先の権威DNSサーバ構築
  • 手順3:親の権威DNSサーバの委任情報切り替え
  • 手順4:引っ越し元のゾーン情報切り替え
  • 手順5:平行運用
  • 手順6:古いネームサーバの停止

▶︎浸透問題〜なぜ浸透と言ってはいけないのか〜

  • 浸透という言葉の意味とDNSの仕組みの決定的な違い
  • TTL、キャッシュ、移転
  • 正しい知識と手順の理解が大前提
  • しかし我々にはクライアントがいる
  • 経験上での解説例
  • エンジニアリングとは寄り添うこと

対象者

  • DNSの「知らなかったを知りたい」方
  • 正直、雰囲気でDNSを使っているかもしれない方
  • 意図した時間通りにドメイン名が切り替わらなかった経験が…ある方
  • Route53の設定にいつも手に汗握ってしまう方
  • 単純にDNSは恐ろしい…という方
  • 初学から知識を得たい方
  • 何より技術を楽しくしたいと思ってくださる方

Video
Slides
Session Information
Confirmed confirmed
Material Level Beginner
Starts On 9/8/18, 2:20 PM
Room Multi-Purpose Room 1
Session Duration Regular Session (60min)
Spoken Language Japanese
Interpretation Unavailable
Slide Language Japanese