

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
負荷平衡・とは?基本をつかもう
インターネットのサービスは、同時に多くの人が利用します。1台のサーバーだけだと、アクセスが集中したときに応答が遅くなったり、落ちてしまうことがあります。そこで使われるのが 負荷平衡です。負荷平衡とは、複数のサーバーに処理を分配して、全体の応答を早く安定させるしくみのことを指します。
負荷平衡の目的と役割
目的は、処理能力を最大限に活かし、障害が起きてもサービスを止めずに稼働させることです。役割としては、リクエストを適切なサーバーへ割り当て、サーバーの健康状態を監視し、故障時には自動的に切り替えることが挙げられます。
動作の仕組み
仕組みの基本は次のとおりです。まず ロードバランサーと呼ばれる機器やソフトウェアが、外部からの依頼を受け取ります。次に 複数のサーバーに順番に、または最適な基準で割り振り、処理結果を返します。サーバーの健康状態は定期的に確認され、動作していないサーバーには新しいリクエストを送らないようにします。これにより、1台のサーバーがダウンしても、他のサーバーが引き継いでサービスを継続できます。
構成要素とよくあるタイプ
主な要素は ロードバランサー、サーバー群、ヘルスチェック機能の3つです。タイプとしては次のようなものがあります。
DNS負荷平衡はドメイン名の解決時に複数のIPを返す仕組みです。リバースプロキシ型は前段に設置してリクエストを適切なサーバーへ転送します。ハードウェア型は専用機で高性能ですがコストがかかります。ソフトウェア型はソフトウェアだけで実装でき、クラウド環境に最適です。
アルゴリズムの例と特徴
以下の表は、よく使われるいくつかのアルゴリズムと特徴をまとめたものです。
| アルゴリズム | 特徴 | 向き・用途 |
|---|---|---|
| ラウンドロビン | 順番にサーバーへ割り当てる基本的な方法 | シンプルで安定的 |
| 最小接続数 | 現在接続数が最も少ないサーバーへ割り当て | 接続負荷が偏りにくい |
| IPハッシュ | クライアントのIPアドレスから割り当て先を決定 | 同じ利用者のリクエストが同じサーバーに行きやすい |
| ヘルスチェック連携 | 生存判定に基づき沈んでいるサーバーを除外 | 高い可用性 |
運用時のポイントと注意点
負荷平衡を導入すると良い点が多い一方で、設計時にはいくつかの実務ポイントがあります。セッションの持続性(Sticky Session)をどう扱うか、ステートレス設計を心がけるか、データベース接続の共有方法、キャッシュの整合性などです。セッションをサーバー間で共有する設計を選ぶと、サーバーを追加・削除しても影響が小さくなります。一方でステートレス設計はサーバー間での情報共有を減らす代わりに、認証情報の再取得やキャッシュの再利用が増えることがあります。
実世界での例
たとえば人気のゲームサイトや動画配信サイトでは、多くの利用者が同時にアクセスします。負荷平衡がなければ、一部のサーバーだけが過負荷になり、動画が止まったりページが表示されなくなります。負荷平衡を使えば、人気のある時間帯でもスムーズに閲覧できる可能性が上がります。
要点のまとめ
負荷平衡は、サービスの安定性と速度を両立させる基本的な技術です。複数のサーバーを連携させ、障害時には自動的に切り替え、適切なアルゴリズムで負荷を分散します。難しそうに見えますが、実際にはクラウドサービスの多くにこの機能が組み込まれており、初心者でも設定を通じて導入しやすくなっています。
負荷平衡の同意語
- 負荷分散
- 処理要求を複数のサーバやリソースに均等に割り当てて、全体の性能と信頼性を高める仕組み。主にロードバランサや分散アーキテクチャで実現される。
- ロードバランシング
- 英語由来の用語で、ネットワークやアプリケーション層でリクエストを分配する技術全般を指す。
- ロードバランス
- ロードバランシングの略称。日常の技術解説でも広く使われる表現。
- 負荷均衡
- 全体の負荷を均等に分散して、特定の資源へ負荷が偏らないように調整する考え方。
- 負荷分散機構
- 負荷分散を実現するための仕組み全体(ソフトウェア/ハードウェア/構成)を指す。
- 負荷分散技術
- 負荷分散を実現する具体的な技術要素(アルゴリズム、ヘルスチェック、セッション管理など)を指す。
- 負荷分散サービス
- クラウドやオンプレミスで提供される、負荷分散機能をサービスとして利用する形態のこと。
- ロードバランサー
- 負荷分散を実現する装置やソフトウェアの総称。ハードウェア・ソフトウェアのいずれも含む。
- ロードバランサ
- ロードバランサーの略称として使われることがある表現。
- 負荷分散アルゴリズム
- リクエストをどの資源へ割り振るかを決定するルールの総称。代表例にはラウンドロビン、最小接続、IPハッシュなどがある。
- ラウンドロビン
- 順番に均等に割り当てるアルゴリズムの一種。セッションの偏りを抑える基本的手法。
- 最小接続法
- 現在の接続数が最も少ないサーバへ新たな接続を割り当てるアルゴリズム。
- IPハッシュ
- クライアントのIPアドレスを元に割り当て先を決定するアルゴリズム。特定のクライアントのリクエストを同じサーバに割り振る安定性を狙う。
負荷平衡の対義語・反対語
- 負荷集中
- 負荷が特定のサーバーやノードに強く偏って集中している状態。全体の分散が崩れ、1台に過剰な負荷がかかるのが特徴。
- 負荷偏在
- 負荷が均等に分散されず、特定のノードに比べて他のノードが過少・過多のいずれかの状態を作る現象。
- 不均衡負荷
- ノード間で負荷の差が大きく、全体としての均等性が失われている状態。
- 過負荷
- 個々のノードが処理能力を超える負荷を受け、遅延や障害の原因となる状態。
- 負荷の偏重
- 特定のノードへ負荷が偏って重くのしかかる状態。均等な配分ができていない表現。
- 不均等配分
- 負荷が均等に分配されていないことを指す表現。
負荷平衡の共起語
- 負荷分散
- 複数のバックエンドへ処理を分散して、処理能力と可用性を高める基本概念。Webアプリではリクエストを背後の複数サーバへ振り分けます。
- ロードバランシング
- 負荷分散を実現する技術や手法の総称。負荷分散器(ロードバランサ)を介してリクエストを分配します。
- ロードバランサ
- 負荷分散を実現する機器やサービス。受信したリクエストを背後のサーバへ割り当てます。
- 負荷分散アルゴリズム
- バックエンドの割り当てルールを決定する方法のこと。代表例としてラウンドロビン等があります。
- ラウンドロビン
- 順番にバックエンドへリクエストを割り当てる最も基本的なアルゴリズム。
- 最小接続
- 現在の接続数が最も少ないバックエンドに振り分けるアルゴリズム。
- IPハッシュ
- 訪問者のIPアドレスを元にバックエンドを決定する方法。セッションの安定性を支えることがあります。
- セッションアフィニティ
- 同じクライアントの連続リクエストを同じバックエンドへ送る性質。セッション維持とも呼ばれます。
- スティッキーセッション
- セッションアフィニティの別名。クライアントを特定のバックエンドに固定します。
- ヘルスチェック
- バックエンドの健全性を定期的に確認する機能。障害の早期検知に役立ちます。
- ヘルスエンドポイント
- 健全性判定の対象となるURLやエンドポイント。バックエンドの状態を監視します。
- アクティブ-スタンバイ
- 1つのバックエンドが処理を担当し、もう1つが待機状態になる構成。
- アクティブ-アクティブ
- 複数のバックエンドが同時に処理を担当する構成。容量を最大化します。
- L4負荷分散
- TCP/UDPの転送層で振り分ける負荷分散。高速で汎用性が高いのが特徴です。
- L7負荷分散
- HTTP/HTTPSなどのアプリケーション層で振り分ける。リクエスト内容に基づく判断が可能です。
- 逆プロキシ
- クライアントとバックエンドの間に立ち、リクエストを転送する中間サーバ。多くの負荷分散は逆プロキシとして動作します。
- 可用性
- サービスが停止せず継続して利用できる能力。ダウンタイムを抑えることが目的です。
- 高可用性
- 障害が発生しても業務を継続できる設計・構成のこと。冗長性が鍵になります。
- 冗長化
- 機器や経路を複数用意して、単一障害点を減らす設計手法。
- フェイルオーバー
- 障害発生時に自動的に正常系へ切り替える仕組み。サービス継続性を守ります。
- オートスケーリング
- 需要に応じて自動的にリソースを増減させる機能。費用対効果を最適化します。
- クラウドロードバランサ
- クラウド環境が提供するロードバランササービス。例:AWSのELB/ALB/NLB、GCP、Azure。
- L4/L7
- L4はネットワーク層、L7はアプリケーション層。どちらで振り分けるかで設計が変わります。
- DNS負荷分散
- DNSを使ってグローバルにリソースを分散する手法。地理的近接性やレイテンシ最適化に用いられます。
- DNSラウンドロビン
- DNSレベルで複数のIPを順番に返す手法。全体の負荷分散を支えます。
- グローバルロードバランシング
- 地理的に分散したエンドポイント間で負荷を分散すること。グローバル規模の可用性を高めます。
- セッション維持
- セッションアフィニティと同義。クライアントの連続リクエストを同一バックエンドに固定します。
- レイテンシ/応答時間
- リクエストから応答までの時間。遅延を減らすことが性能の指標になります。
- バックエンドプール
- 負荷分散の対象となるバックエンドサーバ群の集合。
負荷平衡の関連用語
- 負荷平衡
- 複数のサーバに処理を分散して、性能と可用性を高める考え方の総称。英語では Load Balancing。
- 負荷分散
- 上記と同義の用語。実運用ではこの表現が広く使われる。
- ロードバランサー
- 負荷分散を実現する装置またはソフトウェア。受信したリクエストをバックエンドへ振り分け、ヘルスチェックやセッション管理も担う。
- ロードバランシング
- 英語由来の表現で、日本語では『負荷分散』と同義で使われることが多い。
- 負荷分散アルゴリズム
- リクエストの割り振り方針。代表的なものにはラウンドロビン、最小接続、IPハッシュ、重み付きラウンドロビン、最短応答時間などがある。
- ラウンドロビン
- サーバを順番に割り当てる最も基本的なアルゴリズム。公平に分散しやすいが状態を考慮しない。
- 重み付きラウンドロビン
- 各サーバに割り当てる重みを設定して、処理能力の差を補正する。
- 最小接続
- 現在の接続数が最も少ないサーバへ割り振るアルゴリズム。長時間の接続で偏りにくい。
- 最短応答時間
- バックエンドの応答時間を基に、最も速いサーバへ割り振る戦略。
- IPハッシュ
- クライアントのIPアドレスを基準にバックエンドを決定。固定的な割り当てが可能で、セッションの局所性を保ちやすい。
- セッション持続性
- セッションを同じバックエンドで処理する機能。Sticky Sessionsとも呼ばれる。
- セッションアフィニティ
- 同一クライアントのリクエストを特定のバックエンドへ固定する仕組み。
- ヘルスチェック
- バックエンドの健全性を定期的に確認し、障害時にはそのノードを除外する。
- ヘルスチェックエンドポイント
- バックエンドの状態を判定する検査対象のURLやエンドポイント。
- TLS終端
- TLS/SSL の暗号化通信の終端をロードバランサ側で行い、バックエンドは平文で受け取る設定。
- DNS負荷分散
- DNSの応答で複数のバックエンドIPを返し、クライアント側で分散を実現する手法。
- L4負荷分散
- 第4層(TCP/UDP)で振り分ける方式。高速だがアプリケーション層の情報は使えない。
- L7負荷分散
- 第7層(HTTP/HTTPS)で振り分ける方式。URLやヘッダ、クッキー等で細かく制御可能。
- グローバルロードバランシング
- 地理的に離れたデータセンター間でトラフィックを分散し、遅延を抑える考え方。
- Anycast
- 同一のIPアドレスを複数地点に配置し、最も近いノードが応答する方式。
- サービスメッシュによるロードバランシング
- IstioやLinkerdなどのサービスメッシュが、マイクロサービス間の呼び出しを分散・制御する仕組み。
- Kubernetesのロードバランシング
- KubernetesのService(LoadBalancer型やIngress)を使って、クラスター外部へトラフィックを分散する。
- クラウドロードバランサ
- クラウドベンダーが提供するロードバランサ。例: AWSのELB/ALB/NLB、GCPのCloud Load Balancing、AzureのLoad Balancer。
- フェイルオーバー
- 障害発生時に自動的に別のバックアップへ切替える仕組み。
- 高可用性
- 長時間停止させずに動作させる設計・運用思想。
- オートスケーリング
- 需要の変化に応じて自動的にバックエンドの台数を増減させる機能。
- モニタリング
- 負荷分散のパフォーマンス指標とヘルス状態を観測・記録する活動。
- SSLオフロード
- TLSの暗号処理をロードバランサ側で実行してバックエンドの負荷を軽減する設定。
- 課題と考慮点
- セッションの永続性、キャッシュの整合性、遅延影響、設定の複雑さなど、設計時に検討すべきポイント。



















