🐱 うさねこ教室 Python と可観測性の教室

ネットワークの基礎

🐱 この章の目次

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