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
130
ロールプレイトレーニングでクラウドエンジニアを短期育成した知見を一挙公開 / roll playing training benefits and cases
takipone
0
610
スキル育成に生かすLlamaIndexの活用 /using-llamaIndex-to-enhance-ones-skills
takipone
1
3.3k
Amazon VPC Latticeに期待する / look-for-vpc-lattice
takipone
0
1.1k
DevelopersIOのアウトプット文化をハックして人材育成に繋げる話 /deviosapporo2022fall_takipone
takipone
0
950
AWSネットワークリソースをサービスでマルチテナントに 提供するときのスケーラビリティ / nwjaws202112-takipone
takipone
1
730
ネットワークがクラウドに載って変わることと変わらないこと /nwjaws201909-takipone
takipone
0
2.1k
AWSネイティブなEC/CRMシステム運用に欠かせないログ基盤構築 / cmdevio2018-aws-log-infra
takipone
7
3.1k
日本🇯🇵でAWS Direct Connect を利用する話/akiba-aws-dx
takipone
1
2.4k
Other Decks in Technology
See All in Technology
キャッシュレス決済のプロダクトから決済基盤への進化
b1a9id
0
210
データベースの引越しを Ora2Pg でスマートにやろう
jri_narita
0
180
Digitization部 紹介資料
sansan33
PRO
1
4k
Go Connectへの想い
chiroruxx
0
150
型システムを知りたい人のための型検査器作成入門
mame
10
1.8k
ソフトウェアテストのAI活用_ver1.20
fumisuke
0
220
生成AIの使い方講座 - 時短に効くTips集 -
mamodev
0
100
GitHub Copilot Use Cases at ZOZO
horie1024
1
350
「伝える」を加速させるCursor術
naomix
0
180
Tenstorrent 開発者プログラム
tenstorrent_japan
0
190
Text-to-SQLの評価データセットを作って最新LLMモデルの性能評価をしてみた
gotalab555
3
480
Data Hubグループ 紹介資料
sansan33
PRO
0
1.8k
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.7k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
It's Worth the Effort
3n
184
28k
Done Done
chrislema
184
16k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Automating Front-end Workflow
addyosmani
1370
200k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Agile that works and the tools we love
rasmusluckow
329
21k
GraphQLとの向き合い方2022年版
quramy
46
14k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
7
640
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クライアントの暗号化はプライバシー周辺の話題