Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

パススルー(パススルー)とは | 意味や読み方など丁寧でわかりやすい用語解説

パススルー(パススルー)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

パススルー (パススルー)

英語表記

passthrough (パススルー)

用語解説

「パススルー」とは、システムや機器があるデータを何も加工したり変更したりすることなく、そのまま素通りさせる、あるいは別のシステムや機器に直接渡す動作や機能の総称である。直訳すると「通過させる」という意味になり、ITの文脈では、間に存在するレイヤーや仲介システムを透過し、下位または上位のコンポーネントが直接通信やリソースを利用できるようにする概念として用いられる。これは、介在する層が不要なオーバーヘッド(処理負荷)を生じさせたり、特定の機能の利用を妨げたりする場合に、その影響を回避し、性能や互換性を向上させる目的で採用されることが多い。

この概念は、コンピュータシステムにおけるさまざまな層や領域で利用される。最も代表的なのが仮想化技術の分野だ。仮想化環境では、物理的なハードウェアリソース(CPU、メモリ、ストレージ、ネットワークインターフェースカードなど)の上にハイパーバイザと呼ばれるソフトウェアが動作し、その上で複数の仮想マシン(VM)が独立して稼働する。通常、仮想マシンはハイパーバイザが抽象化した仮想的なデバイスを介して物理リソースにアクセスするが、このアクセスにはハイパーバイザを介する分のわずかな処理遅延やオーバーヘッドが発生する。

そこでパススルー機能が利用される。仮想化におけるパススルー(特にデバイスパススルーやPCIパススルー)とは、特定の物理ハードウェアデバイスをハイパーバイザが抽象化せずに、仮想マシンが直接、専用デバイスとして利用できるようにする技術を指す。例えば、高性能なグラフィック処理が必要な仮想マシンに物理GPUを直接割り当てるGPUパススルー、低遅延で高速なネットワーク通信が必要な仮想マシンに物理NICを直接割り当てるNICパススルーなどがこれに該当する。この機能を利用することで、仮想マシンは物理デバイスのネイティブな性能を最大限に引き出すことができ、特定のデバイスに特化したドライバを直接ロードして利用することも可能になる。これは、CAD/CAMのようなグラフィック集約型アプリケーションや、リアルタイム性が求められるシステム、あるいは物理デバイスの特殊な機能を仮想環境で利用したい場合に非常に有効である。デバイスパススルーは通常、Intel VT-dやAMD-V IOMMUといったCPUの仮想化支援機能を利用して実現される。しかし、パススルーされたデバイスは、他の仮想マシンと共有できなくなり、その仮想マシンが稼働している物理サーバ間で仮想マシンのライブマイグレーション(稼働中のVMを別の物理サーバに移動させる機能)が制限されるなど、柔軟性や可用性に制約が生じる場合がある。

ネットワークの分野でもパススルーは広く利用される。例えば、IPsecやPPTPといったVPN(Virtual Private Network)プロトコルのパススルー機能がある。これは、NAT(Network Address Translation)環境下において、ルータやファイアウォールがVPNの通信パケットの内容を特に変更することなく、そのまま通過させる機能である。NATはプライベートIPアドレスとグローバルIPアドレスを変換することで複数のデバイスが単一のグローバルIPアドレスを共有できるようにする技術だが、VPNのような特定のプロトコルはNATと相性が悪く、そのままでは正常に通信できない場合がある。パススルー機能により、NATデバイスがVPNパケットの通過を特別に許可することで、外部ネットワークからVPN接続が可能になる。また、透過型プロキシサーバや透過型ロードバランサも、クライアントとサーバ間の通信経路に存在しながら、あたかも存在しないかのように振る舞い、通信内容を直接処理せずに透過させる点でパススルーの概念に近い。

ストレージの分野では、RAIDコントローラが接続された物理ディスクをそのままOSに認識させる「JBOD (Just a Bunch Of Disks)」モードは、RAID機能による抽象化を行わず、ディスクをパススルーしていると解釈できる。また、仮想化環境において、物理ディスクやRAIDボリューム全体を、ハイパーバイザのファイルシステムを介さずに、仮想マシンが直接利用できるようにするRAW Device Mapping (RDM)のような機能もパススルーの一種と言える。これは、仮想ディスクファイルによるオーバーヘッドを避けてI/O性能を向上させたり、ストレージの特定の機能を仮想マシンから直接利用したりする際に用いられる。

パススルーは、システムの仲介層が提供する抽象化や管理機能の一部を犠牲にする代わりに、以下のメリットをもたらす。一つは「性能の向上」である。仲介層を介さないことで処理のオーバーヘッドが減少し、レイテンシ(遅延)が削減される。次に「特定の機能や互換性の維持」である。物理デバイスが持つ固有の機能や、そのデバイス専用のドライバを直接利用できるようになり、完全な互換性が保たれる。しかし、デメリットも存在する。パススルーされたリソースは、そのデバイスを占有するシステムに固定され、他のシステムとの「共有が困難」になる。これにより、リソースの「柔軟性や可用性が低下」する可能性があり、仮想マシンのライブマイグレーションなど、仮想化環境が提供する高度な管理機能が利用できなくなる場合もある。

このように、パススルーはシステムの設計において、性能、機能、互換性を優先する際に有効な手段であるが、その代償として管理の柔軟性やリソースの共有性が損なわれる可能性があることを理解しておく必要がある。

関連コンテンツ

関連IT用語