Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DNSにちょっとだけ詳しくなりたい人に贈る少し突っ込んだDNSの話 / devioday1_dns
Search
takipone
April 11, 2023
Technology
2
11k
DNSにちょっとだけ詳しくなりたい人に贈る少し突っ込んだDNSの話 / devioday1_dns
知っているようで知らないことの多いDNS。ちょっとだけ詳しくなるためのDNSの仕組み講座から最近のDNS事情までをまるっと紹介する30分です。
takipone
April 11, 2023
Tweet
Share
More Decks by takipone
See All by takipone
OJTに夢を見すぎていませんか? ロールプレイ研修の試行錯誤/tryanderror-in-roleplaying-training
takipone
1
260
ロールプレイトレーニングでクラウドエンジニアを短期育成した知見を一挙公開 / roll playing training benefits and cases
takipone
0
710
スキル育成に生かすLlamaIndexの活用 /using-llamaIndex-to-enhance-ones-skills
takipone
1
3.6k
Amazon VPC Latticeに期待する / look-for-vpc-lattice
takipone
0
1.2k
DevelopersIOのアウトプット文化をハックして人材育成に繋げる話 /deviosapporo2022fall_takipone
takipone
0
1k
AWSネットワークリソースをサービスでマルチテナントに 提供するときのスケーラビリティ / nwjaws202112-takipone
takipone
1
790
ネットワークがクラウドに載って変わることと変わらないこと /nwjaws201909-takipone
takipone
0
2.2k
AWSネイティブなEC/CRMシステム運用に欠かせないログ基盤構築 / cmdevio2018-aws-log-infra
takipone
7
3.2k
日本🇯🇵でAWS Direct Connect を利用する話/akiba-aws-dx
takipone
1
2.5k
Other Decks in Technology
See All in Technology
バグハンター視点によるサプライチェーンの脆弱性
scgajge12
2
560
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
生成AI時代の自動E2Eテスト運用とPlaywright実践知_引持力哉
legalontechnologies
PRO
0
160
技術以外の世界に『越境』しエンジニアとして進化を遂げる 〜Kotlinへの愛とDevHRとしての挑戦を添えて〜
subroh0508
1
260
こがヘンだよ!Snowflake?サービス名称へのこだわり
tarotaro0129
0
110
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
400
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
9
6.3k
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
350
たかが特別な時間の終わり / It's Only the End of Special Time
watany
23
5.3k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
37k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
21k
形式手法特論:CEGAR を用いたモデル検査の状態空間削減 #kernelvm / Kernel VM Study Hokuriku Part 8
ytaka23
2
330
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
990
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
RailsConf 2023
tenderlove
30
1.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Balancing Empowerment & Direction
lara
5
790
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Building Applications with DynamoDB
mza
96
6.8k
How to train your dragon (web standard)
notwaldorf
97
6.4k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Transcript
DNSにちょっとだけ詳しくなりたい人に贈る少し 突っ込んだDNSの話 2023/4/11 DevelopersIO BASECAMPディレクター 大瀧隆太 / takipone
2 誰 • 名前: 大瀧隆太 @takipone • お仕事: 事業開発 •
好きな技術: ◦ Amazon Route 53, CloudFront ◦ SORACOM ◦ Tailscale ◦ Starlink
3 DevelopersIO BASECAMP(デベキャン)第1期完走!
4 聴講者のターゲット • ITエンジニア ◦ フロントエンド、バックエンド、クラウドインフラ ◦ プリセールス、PM、PdM • DNSの学び方
◦ 現場で叩き上げ ◦ 学校で習った DNSにちょっと詳しくなるためのTips集を紹介する30分
5 事前リサーチ(社内アンケート)
6 お品書き 1. DNS概説 2. DNSちょっと詳しくなる1: 勉強方法とデバッグ 3. DNSちょっと詳しくなる2: Amazon
Route 53 4. DNSちょっと詳しくなる3: DNS over なにか
7 DNS概説 DNS(Domain Name System)は名前解決の手段のひとつ 名前解決は通信相手のホスト名をIPアドレスに変換する仕 組み yakiniku.local ホスト名 192.168.1.1
IPアドレス
8 DNS概説 DNSはシンプルなクライアント/サーバシステム DNSクライアント スマホやPC DNSサーバー ルーターやクラウド リクエスト レスポンス
9 DNS概説 簡素な分散システムとキャッシュ クライアント (リゾルバ) キャッシュサーバ (スタブリゾルバ) コンテンツサーバ (ドメインによる 階層化と委譲)
10 DNS概説 今日のTCP/IPネットワーク、インターネットの根幹 ありとあらゆるクライアントが、ありとあらゆるTCP/IP通信の 前段としてDNSサーバにリクエストを送りまくる DNSサーバは基本的につらい役回り 落ちるとすごく怒られるし、攻撃で狙われる
11 ここからは ちょっとだけ詳しくなる足がかりを DNSちょっと詳しくなる1: 勉強方法とデバッグ
12 勉強方法とデバッグ インターネット技術なので公開 情報が豊富 • JPRSのWebサイト • RFC: https://jprs.jp/tech/index.html #dns-rfc-info
書籍もたくさん出てる • 「DNSをはじめよう」
13 勉強方法とデバッグ digコマンド: DNSの通信をほぼダンプしてくれる cURLみたいなコマンド % dig classmethod.jp ; <<>>
DiG 9.10.6 <<>> classmethod.jp ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28062 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 9 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;classmethod.jp. IN A ;; ANSWER SECTION: トラブルシューティングには ヘッダ情報が大事 メッセージボディはセクションに分類される
14 勉強方法とデバッグ Amazon VPC内などを除き公開サー ビスなので手元からデバッグできる 実際の動きを追いやすいのがDNS のいいところ 便利なクエリオプションがたくさんあ るので頑張ってmanを見よう %
dig +short @8.8.8.8 . NS f.root-servers.net. a.root-servers.net. k.root-servers.net. h.root-servers.net. i.root-servers.net. j.root-servers.net. m.root-servers.net. l.root-servers.net. g.root-servers.net. b.root-servers.net. d.root-servers.net. c.root-servers.net. e.root-servers.net. %
15 勉強方法とデバッグ digコマンドのエラー • NXDOMAIN : HTTP 404 NotFound •
SERVFAIL : HTTP 5XX Server Error • NOERROR : HTTP 2XX OK NOERRORでもANSWER SECTIONが空っぽなど問題があ る場合も
16 DNSちょっと詳しくなる2: Amazon Route 53
↓ 大規模DNSマネージドサービスの登場 • キャッシュサーバ • コンテンツサーバ 17 Amazon Route 53
- 大規模DNSサービスを知ろう DNSサーバは運用が大変 ここで説明するのはコンテンツサーバ ※ Route 53は両方の機能を持つことに 注意
18 大規模DNSサービスの特徴 古典的な冗長化はプライマリ/セカンダリの2台構成 プライマリサーバ セカンダリサーバ ゾーン転送 これに代わるIP Anycastによる大規模な分散構成
19 IP Anycastとは • 複数ホストに同じグローバルIPアドレスを割り当て • インターネットのルータの構成で最寄りのホストを 向ける X.X.X.X X.X.X.X
X.X.X.X
20 IP Anycastとは DNS専用の仕組みではなく、インターネットの様々なサービ スで活用されている • Amazon Global Accelerator •
Cloudflare • Google Cloud CDN 検証にはEC2が便利(リージョン選び放題はありがたい)
21 多彩なDNSルーティングポリシー 単一のリソースレコードに対してフェイルオーバー (障害検出と振り替え)やロードバランス(負荷分散)などロジッ クを持たせる プライマリの サーバ セカンダリの サーバ Route
53 死活監視
22 多彩なDNSルーティングポリシー • フェイルオーバー • 位置情報 • 地理的近接性 • レイテンシー
• IPベース • 複数値回答 • 加重 • EDNS0 Client Subnet
23 DNSちょっと詳しくなる3 : DNS over なにか
24 DNS over なにか DNSクライアント周りの最近の話題 DNSは非暗号化プロトコル ISPでクエリーログが収集されてしまうリスク ISPのキャッシュサーバ
25 DNS over なにか 日本は法律で保護されるなど国によって状況はさまざま プライバシーに敏感なインターネットユーザー層 ※ コンテンツサーバー側はDNSSECという別の技術
26 DNSトラフィックの暗号化 実装はたくさん • DNS over TLS • DNS over
HTTPS • DNS over HTTP/3 Android Private DNSはover TLS だけど今後over HTTP/3に移るかも (iOSにもある)
27 まとめ • RFCと書籍、digコマンドでDNSをお友達にしよう • 大規模DNSマネージドサービスはIP Anycast • DNSクライアントの暗号化はプライバシー周辺の話題