ネットワークの基礎
🐱 この章の目次
TCP/IP レイヤー
ネットワーク通信は TCP/IP の 4 層モデルで整理できます。 アプリケーション層(HTTP)、トランスポート層(TCP/UDP)、インターネット層(IP)、リンク層(Ethernet)の各レイヤーが役割を分担します。 バックエンド開発者が最も意識するのはトランスポート層とアプリケーション層です。
DNS 名前解決
DNS(Domain Name System) は、ドメイン名を IP アドレスに変換する分散データベースです。 名前解決は再帰的に行われ、ルートサーバ→TLD サーバ→権威サーバの順に問い合わせが伝播します。 TTL(Time To Live)の設定は、DNS キャッシュの有効期間を決定し、フェイルオーバーの速度に直接影響します。
ロードバランシング
ロードバランサ(load balancer) は、トラフィックを複数のバックエンドに分散する装置です。 L4 ロードバランサ は TCP/UDP レベルで振り分け、高スループット・低レイテンシが特徴です。 L7 ロードバランサ は HTTP ヘッダーやパスを見て振り分けるため、柔軟なルーティングが可能です。
| 種類 | 動作レイヤー | 判断材料 | 用途 |
|---|---|---|---|
| L4 | トランスポート層 | IP、ポート | 高速な TCP 分散 |
| L7 | アプリケーション層 | URL、ヘッダー、Cookie | パスベースルーティング |
CDN と TLS 終端
CDN(Content Delivery Network) は、コンテンツをエッジサーバにキャッシュし、ユーザーに近い場所から配信する仕組みです。 TLS 終端(TLS termination) をエッジやロードバランサで行うと、バックエンドの暗号化処理負荷を軽減できます。 TLS ハンドシェイクは 1〜2 RTT を消費するため、Keep-Alive や TLS セッション再開の活用が重要です。
VPC の基本構成
VPC(Virtual Private Cloud) は、クラウド上に論理的に隔離されたネットワークを構築する機能です。 サブネット、ルートテーブル、セキュリティグループを組み合わせてトラフィックを制御します。 パブリックサブネットにはロードバランサを、プライベートサブネットにはアプリケーションと DB を配置するのが一般的なパターンです。
ネットワークとレイテンシ
『インフラ大全』第 6〜7 章では、ネットワーク設計がレイテンシに与える影響を詳しく解説しています。 同一 AZ 内の通信は 1 ms 未満ですが、リージョン間通信は数十〜数百 ms かかります。 マイクロサービス間の呼び出し回数が増えるほどネットワークレイテンシが累積するため、サービス境界の設計が重要です。
参考文献
- 『インフラ大全』第 6 章 — ネットワーク基礎
- 『インフラ大全』第 7 章 — ロードバランシングと CDN