64
はじめてのDNS 小林 翔平 Twitter、Facebook、Github、Qiita: @srockstyle Blog:http://blog.srockstyle.com/

はじめてのDNS

Embed Size (px)

DESCRIPTION

社内勉強会「はじめてのDNS」で発表した資料です。

Citation preview

Page 1: はじめてのDNS

はじめてのDNS小林 翔平

Twitter、Facebook、Github、Qiita: @srockstyle Blog:http://blog.srockstyle.com/

Page 2: はじめてのDNS

説明する人

Shohei Kobayashi@srockstyle

Server,Backend Engineer

Page 3: はじめてのDNS

注:スライド内のIPアドレスは全て適当です。 !

決してDOS攻撃や悪用はしないでください。

Page 4: はじめてのDNS

• DNSとネットワークの話

• 名前解決の仕組み

• DNSで起こりうるトラブルについて

• まとめ

アジェンダ

Page 5: はじめてのDNS

DNSって? (Domain Name Service)

Page 6: はじめてのDNS

その前に ネットワークの話

Page 7: はじめてのDNS

ネットワークはコンピュータの集合体

Page 8: はじめてのDNS

それぞれコンピュータが持つ住所を「IPアドレス」と言います。 これがないと、コンピュータ同士の通信ができません。

Page 9: はじめてのDNS

だけどインターネットはもっと複雑

Page 10: はじめてのDNS

住所となるIPアドレスにも種類が有ります。 「グローバルIPアドレス」 「ローカルIPアドレス」

Page 11: はじめてのDNS

グローバルIPアドレス これがインターネットの住所

Page 12: はじめてのDNS

グローバルIPアドレス

• IANA&各国のNICという組織が管理

• インターネットでやりとりするには絶対必須

• これがないとサーバにたどりつけないよぉふぇえ

例:222.223.24.2

Page 13: はじめてのDNS

さっきの例だとこうなる

Page 14: はじめてのDNS

グローバルIPがふられているネットワーク =グローバルネットワーク

ローカルIPがふられているネットワーク =ローカルネットワーク

内側と外側を区別するために

なんて呼びます

Page 15: はじめてのDNS

さっきの例だとこうなる

Page 16: はじめてのDNS

前置き終わり

Page 17: はじめてのDNS

じゃあDNSってどこで使うの? グローバルIPがあれば、

そのままでいいんじゃないの? !

インターネット使えるでしょ?

ここで疑問

Page 18: はじめてのDNS

ではここでDNSが無かった場合を想定した弊社営業A川のメールを見てみましょう

Page 19: はじめてのDNS

[[email protected]]のメール

株式会社×× ご担当社様

お世話になっております。マインドパレットA川です。

弊社のHPはhttp://222.123.56.5/です。

もしよければご参照ください。

以上、よろしくお願いいたします。

============

株式会社マインドパレット

 http://222.123.56.5/

 ■女の子のための写真共有ソーシャルネットワーク『Snapeee』

 公式サイト http://222.123.56.6/

 PC版 http://222.123.56.7

Page 20: はじめてのDNS

これを見た取引先の反応

な、なんだこのわかりづらい数値の羅列は…… なにがいったいよろしくなんだ? この署名はいったいなんなんだ?

Page 21: はじめてのDNS

わかりづらい!

Page 22: はじめてのDNS

DNSはこれを わかりやすくします。

Page 23: はじめてのDNS

[[email protected]]のメール

株式会社×× ご担当社様

お世話になっております。マインドパレットA川です。

弊社のHPはhttp://mindpl.co.jp/です。

もしよければご参照ください。

以上、よろしくお願いいたします。

============

株式会社マインドパレット

 http://mindpl.co.jp/

 ■女の子のための写真共有ソーシャルネットワーク『Snapeee』

 公式サイト http://snape.ee/

 PC版 http://www.snapeee.net/

Page 24: はじめてのDNS

わかりやすい!

Page 25: はじめてのDNS

DNSのお仕事 mindpl.co.jp = 222.123.56.6グローバルIPアドレスとドメインと呼ばれるURLを結びつけ、

インターネットを使うときドメインでアクセスできるようにすること!

この動作を「名前解決」と呼びます

Page 26: はじめてのDNS

日本よ、これがDNSだ!

Page 27: はじめてのDNS

第二章 名前解決の仕組み

Page 28: はじめてのDNS

ローカルネットワークのPCが mindpl.co.jpというアドレスで サーバにアクセスしたい場合

Page 29: はじめてのDNS

つまりこういう場合

Page 30: はじめてのDNS

DNSサーバがあります

Page 31: はじめてのDNS

ドメインがなければドメインを取得します

Page 32: はじめてのDNS

ドメインを扱うDNSサーバをドメイン取得時に指定

mindpl.co.jp を管理するDNSサーバは

222.25.34.4

この時点では名前解決無理なので サーバにふられたグローバルIPを指定

Page 33: はじめてのDNS

これでmindpl.co.jpでアクセスするとまず 222.25.34.4のサーバに名前解決の

リクエストが飛ばされます !

(ちなみに本来ブラウザでアクセスしたいのは 222.25.34.3の方)

Page 34: はじめてのDNS

もちろんこの時点ではなにも返りません

Page 35: はじめてのDNS

名前解決の設定をDNSサーバにします

!

mindpl.co.jp = 222.25.34.3

この一つ一つの設定を「レコード」と呼びます

Page 36: はじめてのDNS

設定できるレコードと役割

• Aレコード:IPアドレスをドメインと結びつける

• MXレコード:優先されるメールサーバを設定する

• CNAMEレコード:ドメインの別名を割り振る

• NSレコード:ドメインの情報をもつDNSを指定

Page 37: はじめてのDNS

Aレコード設定!

Page 38: はじめてのDNS

DNSサーバにmindpl.co.jpのIPアドレスを聞きにいきます

Page 39: はじめてのDNS

DNSサーバからmindpl.co.jpのIPアドレスが返されます

Page 40: はじめてのDNS

これで目的のサーバにmindpl.co.jpでアクセスできる!

Page 42: はじめてのDNS

Mission Complete!

Page 43: はじめてのDNS

疑問とか問題点

Q:mindpl.co.jpにアクセスするたびにDNSサーバ問い合わせするのめんどくない?

A:めんどいです

Page 44: はじめてのDNS

疑問とか問題点

Q:mindpl.co.jpに名前解決の処理が回る分だけ、スピードは遅くなるんじゃない?

A:遅くなります。

Page 45: はじめてのDNS

疑問とか問題点

Q:名前解決の処理が集中した場合サーバ落ちるしレスポンス遅くなるんじゃない?

A:落ちますし遅くなります。

Page 46: はじめてのDNS

そこでDNSは二つのシステムに分離されています

DNS Contents Server DNS Cache Server

Page 47: はじめてのDNS

DNS Contents Server DNSの情報のマスターを持っているサーバ

!

DNS Cache Server DNSの情報をDNS Contents Serverから持ってきてキャッシュするサーバ

あちこちにDNS Cache Serverをたてることで、 DNSは負荷を軽減しています。

Page 48: はじめてのDNS

あとはブラウザやPCが勝手にDNSの情報をキャッシュしたりします。

Page 49: はじめてのDNS

これで目的のサーバにDNSに毎回直接問い合わせなくても キャッシュを参照してmindpl.co.jpでアクセスできます!

Page 50: はじめてのDNS

Cache?

Page 51: はじめてのDNS

設定を間違うと辛いよ

Page 52: はじめてのDNS

設定を間違うと辛い

Page 53: はじめてのDNS
Page 54: はじめてのDNS

DNSのキャッシュについて

Page 55: はじめてのDNS

TTL(キャッシュ生存期間) を設定します!

!

TTLはTime To Liveの略

Page 56: はじめてのDNS

TTLとは?

Page 57: はじめてのDNS

TTLが切れるとDNS Content Serverに マスターデータを取得に行きます。

Page 58: はじめてのDNS

Q:名前解決できなかった時のキャッシュはどうなるの?

Page 59: はじめてのDNS

A:それもキャッシュされます

存在しない名前解決はネガティブキャッシュとして保存されます!

TTLが切れるまでその名前解決はもちろんできない

→なので存在しないURLの名前解決は気をつけよう

Page 60: はじめてのDNS

補足:ネガティブキャッシュのTTL

他のAレコードやMXレコードに比べて、短く設定するのが常識です! by サーバ管理者

Page 61: はじめてのDNS

つまり、DNSの浸透待ちとは……

インターネット全体にある対象ドメインのTTLが全て切れるの待ちということです。

Page 62: はじめてのDNS

この辺りの仕組みを簡単に提供してくれる AWS Route53は本当に素晴らしいですね

Page 63: はじめてのDNS

まとめ

• DNSはグローバルIPとドメインを結ぶ仕事だよ

• DNSサーバはDNSコンテンツサーバとDNSキャッシュサーバがあるよ。

• DNSにはTTL(キャッシュ生存期間)があって、その設定はきちんとしようね。

Page 64: はじめてのDNS

ご清聴ありがとうございました