ipvsとは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
ipvsとは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


はじめに

この記事では、ipvsとは何かを、初心者にも分かるように丁寧に解説します。ipvsはLinuxカーネルの機能の一部で、複数のサーバへトラフィックを分散する「ロードバランサー」です。仮想IP(VIP)を使って、同じアドレスにアクセスしてきたクライアントのリクエストを、背後にある複数の実サーバへ均等に割り振ります。これにより、サービスの信頼性と処理能力を向上させることができます。

ipvsの基礎と仕組み

ipvsは、LVS(Linux Virtual Server)の中核となるコンポーネントです。主な要素として、仮想サーバ(Virtual Server)と、実際に処理を担当する実サーバ(Real Server)があります。クライアントは仮想IPにアクセスしますが、IPVSが受け取ったリクエストを実サーバへ分散させ、実サーバからの応答をクライアントへ返します。

動作モードには主に以下のようなものがあります。

  • NAT(Network Address Translation)モード:パケットの送信元情報を変換して実サーバへ送る方式。設定は比較的簡単ですが、パケット処理がやや重くなりやすいです。
  • DR(Direct Routing)モード:仮想IPと実サーバの間で直接応答が返る方式。高い処理性能が得られますが、ネットワーク設計の要件が厳しくなります。
  • TUN( tunneling )モード:IP層でルーティングを行う方式。柔軟性があり、複雑な環境に適しています。

これらのモードはいずれも、IPレベルでの負荷分散を実現し、アプリケーション層の詳細に左右されずにトラフィックをさばくことができます。

実際の設定と運用の流れ

実際にipvsを使ってロードバランスを構築する基本的な流れを、コマンド例とともに紹介します。

前提として、Linux環境にて ipvsadm というツールが用いられます。これはIPVSの設定を行うためのコマンド群です。

1) ipvsadm のインストールと準備

例: Debian系なら sudo apt-get install ipvsadm、RedHat系なら sudo yum install ipvsadm を実行します。インストール後、IPVSが有効になっていることを確認します。

2) 仮想サーバの追加

例: ipvsadm -A -t 192.168.1.100:80 -s rr

ここで 192.168.1.100:80 は仮想IPとポート-s rr はラウンドロビン方式を指定しています。

3) 実サーバの登録

例: ipvsadm -a -t 192.168.1.100:80 -r 192.168.2.101:80 -mipvsadm -a -t 192.168.1.100:80 -r 192.168.2.102:80 -m

ここで -a は追加、-r は実サーバの追加、-m は NAT 方式を意味します(DR/ Tunを使う場合は -g や -t の組み合わせを選択します)。

4) 状態の確認と管理

例: ipvsadm -L -n で現在の設定を一覧表示します。ipvsadm -Z で設定の保存・再ロードを行うことも可能です。

5) 実運用時の注意点

ヘルスチェック:実サーバの健全性を定期的に監視し、停止したサーバを自動的に除外する設定が重要です。
セキュリティ:VIPを守る適切なファイアウォール設定と、不要なポートの開放を避けましょう。
監視とログトラフィックの分散状況や障害時の挙動を把握できる監視ツールを組み合わせると安定運用がしやすくなります。

ipvs の利点と他の技術との違い

IPVSはL4(トランスポート層)ロードバランシングに強く、NginxやHAProxyのようなL7ロードバランサに比べてオーバーヘッドが小さい場合があります。そのため、Web サービスの基盤において高い処理能力が求められる場面で選択されることが多いです。一方で、L7 レベルの機能(URL ベースの分岐、ヘッダ情報の詳細な検査など)が必要な場合は、NginxやHAProxy などのL7ロードバランサと組み合わせて使うことが一般的です。

まとめ

ipvsは Linux カーネルの強力なロードバランサ機能で、仮想IPを通じて複数の実サーバへリクエストを分散します。NAT/DR/TUNといったモードがあり、用途に応じて使い分けることができます。設定は ipvsadm というツールで行い、実サーバの追加、仮想サーバの設定、ヘルスチェックの構成を順に行います。適切な監視とセキュリティ対策を合わせることで、高可用性と高い処理能力を両立させることが可能です。この記事を機に、テスト環境で実際に試してみると理解が深まります。


ipvsの同意語

IP Virtual Server (IPVS)
Linux Virtual Server(LVS)の中核機能の一つで、複数のバックエンドにトラフィックを分散する“仮想サーバ”を作るための仕組み。IPアドレスを基準にしたロードバランシングを実現します。
IPVS
IP Virtual Serverの略称。IP-basedロードバランシングを担当するモジュールで、IPVSとして動作することでトラフィックをバックエンドへ分配します。
アイピーブイエス
IPVSの読み方(日本語表記)。
IP-based load balancing
IPアドレスを基準にしたロードバランシングの考え方。IPVSはこの機能を技術的に実現します。
IPロードバランサ
IPアドレスを用いて負荷分散を行うソフトウェア・機能の総称。IPVSはその代表的な実装の一つです。
Linux Virtual Server (LVS) のロードバランシング機能
LVSに含まれるロードバランシング機能の総称。IPVSはLVSのコアモジュールとして動作します。
LVS
Linux Virtual Serverの略称。IPVSを含むロードバランシング技術の総称として使われます。
仮想サーバー (Virtual Server)
IPVSが扱う“仮想サーバ”。実バックエンドサーバを抽象化してトラフィックを分散するための論理的なサーバです。
仮想サービス (Virtual Service)
IPVS内で定義される、仮想IPとポートで表されるサービス単位。バックエンドの実サーバへ振り分ける対象です。

ipvsの対義語・反対語

直接接続
IPVSを介さず、クライアントとバックエンドサーバが直接通信する状態のこと。IPVSによる分散は行われない。
単一サーバー構成
複数のリアルサーバを使わず、1台のサーバーのみで運用する構成のこと。
ロードバランシングなし
IPVSや他の負荷分散機構を利用せず、負荷を分散しない状態のこと。
DNSラウンドロビン
DNSレベルで複数のバックエンドを返して負荷を分散する手法。IPVSのネットワーク層負荷分散とは別のアプローチ。
アプリケーション層負荷分散
L7(アプリケーション層)で負荷を分散する設計。IPVSが主にL4で動作するのに対し、対比として挙げられることがある。
クラスタリングなし
複数ノードをクラスタとして統合して運用する機能を使わない状態。

ipvsの共起語

IPVS
Linux Virtual Server のコア機能。カーネルレベルで動作するロードバランシング機構の総称。
LVS
Linux Virtual Server の略称。IPVS を核としたロードバランシング技術全体を指すことが多い。
ipvsadm
IPVS の設定・運用を行うコマンドラインツール。仮想サーバ・実サーバの登録・削除を管理する。
VIP
仮想IPアドレス。クライアントからのアクセス先として機能し、ロードバランサの入口となるIP。
仮想サーバ
VIP:port に対応する、公開されるサービスエンドポイントの設定単位。
実サーバ
バックエンドの実体サーバ。IPVS が負荷分散の対象として扱う。
DR
Direct Routing。VIP をフロントに置き、パケットを直接実サーバへ送るモード。
NAT
NAT モード。VIP と実サーバ間でアドレス変換を行い、クライアントからは実サーバのIPが見えない状態にする。
TUN
TUN(トンネリング)モード。パケットをトンネル経由で実サーバへ運ぶモード。
RR
Round Robin。順番にリクエストを割り振っていく基本アルゴリズム
WRR
Weighted Round Robin。サーバごとに重みを設定して割り当てるアルゴリズム。
LC
Least Connections。最も接続数が少ない実サーバへ割り当てるアルゴリズム。
WLC
Weighted Least Connections。接続数と重みを組み合わせて分散を最適化するアルゴリズム
DH
Destination Hash。宛先情報をハッシュして分散先を決定するアルゴリズム。
SH
Source Hash。クライアントの送信元IPをハッシュして分散先を決定するアルゴリズム。
SED
Shortest Expected Delay。遅延の予測を最適化して振り分けるアルゴリズム。
ヘルスチェック
RS(実サーバ)の生存・状態を監視する機能。故障時には自動的に振り分けを変更する。
Keepalived
高可用性を実現するデーモン。VRRP による VIP のフェイルオーバーを支援する。
VRRP
Virtual Router Redundancy Protocol。VIP の冗長化・可用性を高めるプロトコル。
kube-proxy (IPVS mode)
Kubernetes で IPVS を用いたサービス負荷分散を実現するモード。
IPv4
IPv4 アドレス空間を使う場合に適用される。
IPv6
IPv6 アドレス空間を使う場合に適用される。
iptables
NAT やフィルタ設定を行うツール。LVS NAT などで併用されることがある。
ロードバランシング
複数のサーバへトラフィックを分散して処理性能を向上させる技術。
可用性
HA。障害発生時もサービスを継続する設計思想と仕組み。

ipvsの関連用語

IPVS
IP Virtual Server の略。Linuxカーネル機能として、TCP/UDPトラフィックを仮想サーバへ分散するL4ロードバランシングを実現します。
LVS
Linux Virtual Server の略。IPVSを中心としたロードバランシステム全体の名称です。
NATモード
LVS NATモードでは、ディレクターが受けたパケットの宛先をRSの実IPに変換して返します。クライアントはVIPをそのまま見る前提です。
DRモード
Direct Routing。ディレクターはパケットをRSへ転送し、RSがクライアントへ直接応答します。ネットワーク設定がやや複雑です。
TUNモード
TUNモード(トンネリング)では、ディレクターとRS間をIPトンネルで結び、RSが応答します。
VIP
Virtual IP。クライアントが接続する仮想IPアドレスで、実サーバには直接割り当てません。
Real Server
サーバー。負荷分散の対象となる実際のサーバです。
Virtual Service
仮想サービス。VIPとポートの組み合わせで定義され、IPVSがこのサービスにトラフィックを配布します。
ipvsadm
ipvsadm。IPVSを設定・監視するためのコマンドラインツールです。
Keepalived
高可用性を実現するツール。VRRPでVIPのフェイルオーバーを管理し、IPVS設定を保護します。
VRRP
Virtual Router Redundancy Protocol。VIPのフェイルオーバーを実現する冗長化プロトコルです。
健康チェック
RSの生存確認。TCP/HTTP/ICMPなどを用いてRSが稼働しているかを監視します。
セッションアフィニティ
セッションの継続性。同じクライアントの接続を同じRSに割り当てる設定です。
Round Robin
RR。基本アルゴリズムで、順番にRSへ割り当てます。
Weighted Round Robin
WRR。RSごとに重みを設定して割り当ての比率を調整します。
Least Connections
LC。接続数が最も少ないRSを選択します。
Weighted Least Connections
WLC。接続数と重みを考慮して割り当てます。
Destination Hashing
DH。宛先のハッシュ値に基づきRSを決定します。
TLSパススルー
TLSを終端せずにパススルーする運用。L4ロードバランサーでよく使われます。

インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14237viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2377viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1054viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
936viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
900viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
882viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
783viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
778viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
768viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
743viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
685viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
648viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
545viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
538viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
537viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
531viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
497viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
471viws
googleドキュメントとは?初心者が今日から使いこなす基本ガイド共起語・同意語・対義語も併せて解説!
434viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
425viws

新着記事

インターネット・コンピュータの関連記事