Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
280
ロールプレイトレーニングでクラウドエンジニアを短期育成した知見を一挙公開 / roll playing training benefits and cases
takipone
0
740
スキル育成に生かす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
1.1k
AWSネットワークリソースをサービスでマルチテナントに 提供するときのスケーラビリティ / nwjaws202112-takipone
takipone
1
800
ネットワークがクラウドに載って変わることと変わらないこと /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
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
440
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.1k
システムのアラート調査をサポートするAI Agentの紹介/Introduction to an AI Agent for System Alert Investigation
taddy_919
2
2.1k
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
300
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
900
20260204_Midosuji_Tech
takuyay0ne
1
140
Digitization部 紹介資料
sansan33
PRO
1
6.8k
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
180
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
130
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
150
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
Designing Powerful Visuals for Engaging Learning
tmiket
0
230
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
49
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
[SF Ruby Conf 2025] Rails X
palkan
1
740
Making Projects Easy
brettharned
120
6.6k
Designing for Performance
lara
610
70k
Docker and Python
trallard
47
3.7k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
64
Chasing Engaging Ingredients in Design
codingconduct
0
110
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
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クライアントの暗号化はプライバシー周辺の話題