
GitHubは12月11日(現地時間)、プルリクエストの「Files changed」ページにおいて、コミットごとのレビュー機能を追加したと発表した。これにより、すべてのコミット、任意のコミットの組み合わせ、あるいは単一のコミットを新しいインターフェイス上で直接確認できるようになった。
A major feature gap with the classic “Files changed” page (review commit-by-commit) is now closed and commit filtering has been improved in this update to the pull request “Files changed” experience!
⇧「GitHub」で「新機能」が公開されたそうなのだが、
⇧ 確認した感じ、公式の「ドキュメント」に反映されていないのかしらね...
いや、せっかく「工数」をかけて、それなりの「コスト」を費やして「開発」してリリースした「機能」だと思われるからして、多くの人に使って欲しいと思っているという気がするのだと信じたいので、該当の「ドキュメント」の場所も連携して然るべきな気がするのだが...
あんまり利用して欲しいと思ってはいないということなんですかね?
利用して欲しいと思っていないのだとしたら、「機能」をリリースした意図が分からないのですよね...
必死に「売上」に繋げるようという心持ちにならなくても良いぐらい、予算に余裕があるということなんですかね...
意外に仮想IPアドレス(VIP:Virtual IP address)の定義に関する説明がない話
ネットの情報を漁っていたところ、意外に「仮想IPアドレス(VIP:Virtual IP address)」の定義についての説明って無いんだなぁ、と思ったので。
英語版のWikipediaによると、
A virtual IP address (VIP address or VIPA) is an IP address that does not correspond to a single physical network interface. Uses for VIPs include network address translation (especially one-to-many NAT), fault tolerance, and mobility.
Usage
For one-to-many NAT, a VIP address is advertised from the NAT device (often a router), and incoming data packets destined to that VIP address are routed to different actual IP addresses (with address translation). These VIP addresses have several variations and implementation scenarios, including Common Address Redundancy Protocol (CARP) and Proxy ARP. In addition, if there are multiple actual IP addresses, load balancing can be performed as part of NAT.
⇧ とあり、有名なところで言うと、「ロードバランサー(LoadBalancer)」とかが「仮想IPアドレス(VIP:Virtual IP address)」の利用例になると。
「ChatGPT」氏に質問してみたところ、以下のような回答が返ってきた。
| No | 大分類 | 種類 | 説明 | 物理NICとの関係 | 主な用途例 |
|---|---|---|---|---|---|
| 1 | 物理 | パブリックIP | インターネット上でルーティングされる一意のIP | 物理NICに割り当て | Web公開サーバ/インターネット通信 |
| 2 | 物理 | プライベートIP | LAN内部で利用するIP(外部非公開) | 物理NICに割り当て | LAN内通信/ルータ配下の機器 |
| 3 | 物理 | リンクローカルIP | 同一リンク内だけで自動利用されるIP(例:169.254.x.x) | 物理NICに割り当て | DHCP失敗時の自動通信 |
| 4 | 物理 | ループバックIP | ホスト内部の仮想インターフェース用のIP | NICとは無関係(仮想ループバック) | 自分自身の内部通信/アプリ検証 |
| 5 | 物理 | ブロードキャスト | サブネット全体宛の特殊アドレス | 物理NICが送信対象として扱う | ネットワーク全体への通知 |
| 6 | 物理 | マルチキャスト | グループ宛て通信の特殊アドレス | 物理NICが受信対象として扱う | 一斉配信(動画等) |
| 7 | 物理 | Anycast | 複数ノードに同じアドレスが存在可能 | 物理NICに割り当て(ルータ等) | 複数地点への最短ルーティング等 |
| 8 | 仮想 | 仮想IP(VIP) | 物理NICに固定されないIP、複数端末で共有可能 | 物理NICではなく論理的/サービス側で扱われる | 負荷分散・HAクラスタリング・VIP入口 |
■ChatGPTの考えるIPアドレスの分類
IPアドレス
│
┌───────────────┴───────────────────┐
│ │
物理IPアドレス 仮想IPアドレス
│ │
│ └─ 仮想IP(VIP)
│ ・物理インターフェースに固定されないIP
│ ・ロードバランサ/冗長化などで使われる :contentReference[oaicite:1]{index=1}
│
├─ パブリックIP
│ ・インターネット上でグローバルに一意
│
├─ プライベートIP
│ ・組織/家庭内LANでのみ利用
│
├─ リンクローカルIP
│ ・同一ネットワーク内で自動的に使われるIP
│
├─ ループバックIP
│ ・そのホスト内部でのみ利用
│
└─ 特殊IP(ブロードキャスト/マルチキャスト etc)
・特別な通信目的のアドレス
⇧ 結局のところ、分類が整理されていないってことなんかな...
確かに、「IPアドレス」の「種類」の分類とかまとめてくれているようなサイトが見当たらないものな...
「Microsoft Azure」の「サポートチーム」の方の公開している「サポート情報」のブログによると、
1. 仮想 IP アドレスを使用するアプリケーションと Azure ロードバランサーの設置について
Azure の VM では Azure 仮想ネットワークから割り当てられた IP アドレスのみを使用できます。WSFC の仮想 IP アドレス等、Azure VM の OS 内で設定した IP アドレスは Azure 仮想ネットワークで正しく機能せず通信ができません。
そのため、WSFC により高可用性化したアプリケーションで仮想 IP アドレスを使用する場合は Azure ロードバランサーを展開し、かつ、ロードバランサーのフロントエンド IP を WSFC のアプリケーションで使用する仮想 IP アドレスと同一に設定する必要があります。
⇧ とあり、「バックエンドプール」に該当する「仮想マシン」に割り当てている「仮想IPアドレス(VIP:Virtual IP address)」という説明が出てきておりますな。

ちなみに、「WSFC(Windows Server Failover Clustering)」は
⇧ 上記の説明を見た限りでは、「Windows Server」の「機能」っぽいので、「Linux」環境の話では無さそう。
「Linux」環境における「仮想IPアドレス(VIP:Virtual IP address)」の話については、
⇧ 上記サイト様が詳しいです。
一応、「仮想IPアドレス(VIP:Virtual IP address)」を確認するには、
■すべてのアドレスの情報を表示する
ip a
⇧ の出力結果から当たりを付けることはできるっぽい。
「ChatGPT」氏に質問してみたところ、以下のような回答が返ってきた。
secondaryが付いている場合、その IP は 主 IP ではなく追加されたもの であることを示します。
これは仮想IP やエイリアスIP としてよく使われます。
⇧ ただ、このあたりの「ip a」の出力結果の見方についての「情報」もハッキリとしないので、何とも言えない...
「ChatGPT」氏に「SSHトンネル」の「IPアドレス」についても質問してみたところ、以下のような回答が返ってきた。
結論から言うと:
👉 SSHトンネルで使われるIPアドレスは、通常は「仮想IPアドレス(VIP)」とはみなされません。
ただし、SSHトンネルの中で別の仮想インターフェースが生成され、そこに割り当てられるIPは 仮想的なネットワークインターフェース上のIP となり、たしかに「物理NICとは独立したIPアドレス」になります。これをどう分類するかは文脈次第です。
① 元の物理NICのIP
② SSHトンネル自体が作る仮想インターフェース上のIP
SSHで「tun/tap」モード(OSI Layer 3トンネル)を使うと:
➡ サーバとクライアントの間に 仮想的なネットワークインターフェース(例:tun0)が作られ、
➡ そこに 別のIPアドレスが割り当てらることがあります(例:10.10.10.2/32 と 10.10.10.10/32)。
これは 実際の物理NICではなく仮想のネットワークインターフェース上のIPアドレスです。
このように SSHトンネルで通信を通すために設定されるIPアドレスは、物理NICに依存しない「仮想的なIPアドレス」 です。
🧠 ここが重要:「SSHトンネル」の「仮想 NIC」に割り当てされる「IPアドレス」は「仮想IPアドレス(VIP)」か?
📌 結論
-
上の SSHトンネルの仮想インターフェースのIP は、
→ 「物理NICに直接結びつかないIP」 という意味では 仮想的なIP です。 -
ただし、ネットワーク用語として一般的にいう 「仮想IPアドレス(VIP)」 とは別物です。
📌 仮想IPアドレス(VIP) は本来:
- ✅複数ノードの代表IPとして使う
- ✅負荷分散や可用性のために共有/移譲されるIP
- ✅物理NIC 1つに固定されない “サービス入口IP”
という意味で使われます。
⚠ 一方で SSHの仮想インターフェース IP は:
- ✅トンネル接続の内部で使われる
- ✅トンネルの両端で相互に定義される
- ✅負荷分散やフェイルオーバーのための共有入口ではない
という違いがあります。
✅ まとめ
| 項目 | SSHトンネル内の仮想インターフェースIP | 一般的な仮想IPアドレス(VIP) |
|---|---|---|
| 物理NICと直接の関係 | ✘ 物理NICに結びつかない(仮想インターフェース) | ✘ 組織的に物理NICとは独立したサービス入口 |
| 目的 | トンネル内で別のIPネットワークを実現 | 負荷分散・冗長化・共有されたサービス入口/IP |
| 生成される場所 | SSH の tun/tap などの仮想インターフェース上 |
ロードバランサ/クラスタ構成など外向き |
| VPNライクな利用 | ✔ 内部通信経路の確立 | ✔ 必要に応じてサービス分散の経路 |
| 一般的な呼び方 | トンネル内の仮想インターフェースIP | 仮想IPアドレス(VIP) |
✨ 補足
-
SSHトンネルのIPが「仮想IP」っぽく見えるのは、物理NICではない仮想インターフェース上に割り当てられるからです。
→ しかしネットワーク業界で “VIP” と言う場合とは意味が異なることが多いです。 -
SSHトンネルでは通常、ポートフォワーディングや SOCKS プロキシ も使われますが、これらは内部でIPを直接扱うわけではなく、RabbitMQ的にトンネルするだけです。
📌 まとめの一言
➡ SSHトンネルで設定される「仮想インターフェースのIP」は物理NICとは無関係なIPですが、ロードバランサやHAで言う「仮想IPアドレス(VIP)」とは役割が違います。
どちらも仮想的ですが、目的と文脈が異なるという点が重要です。
う~む...
やはり、分類が整理されていないんだよなぁ...
何と言うか、
- 目的
- 文脈
に依存するのであるならば、尚更、「IPアドレス」の分類と整理についてはハッキリさせておくべきな気がするんだが...
IT業界って、いろんなものの「定義」について「ファジー」なこと、あるあるですよね...
結果として、「認識齟齬」が頻出することが枚挙に暇がない状態になってしまっているのだが...
本当に、何とかならないものかしらね...
毎度モヤモヤ感が半端ない…
今回はこのへんで。
