サーバーやクラウドの管理画面で「シリアルコンソール」と「VNCコンソール」という言葉を見かけたことはないだろうか。どちらも遠隔からマシンを操作するための機能だが、仕組みも用途もまったく違う。
シリアルコンソールは「テキストだけの緊急用ドア」。VNCコンソールは「画面ごと見えるリモートデスクトップ」。障害対応ならシリアル、GUI操作が必要ならVNCと使い分ける。
シリアルコンソールとは
シリアルコンソールは、文字情報だけを送受信するコンソールだ。物理的にはRS-232CやUARTと呼ばれるシリアルポートを使い、バイト列を1ビットずつ送る古典的な通信方式である。
特徴
- テキストしか表示できない
- 超低速(9600bps〜115200bps程度)でも十分動作する
- ネットワークが死んでいても使える(専用ケーブル直結)
- OSが起動する前のブートローダ(GRUB)の出力や、カーネルパニックのメッセージも見られる
- AWSやGCPなどのクラウドでは標準機能として用意されている
こんな時に使う
- サーバーにSSHすらできない(ネットワーク障害・設定ミス)
- カーネルが起動中に止まった、何のエラーか見たい
- ヘッドレスサーバーの初期セットアップ(モニターを繋がない)
- BIOS設定の確認(テキストベースのBIOSなら)
必要なもの
- ハードウェア: シリアルケーブル(またはヌルモデムケーブル)
- ソフトウェア: PuTTY(Windows)やscreen / minicom(Linux/Mac)
- サーバー側の設定: getty や grub のコンソール出力設定
クラウドの場合はブラウザだけで使える。AWSのEC2シリアルコンソールやGCPのシリアルポート接続が代表的だ。
VNCコンソールとは
VNC(Virtual Network Computing)コンソールは、画面の表示内容をそのまま遠隔に転送する方式だ。RFB(Remote Framebuffer Protocol)というプロトコルを使い、サーバーのデスクトップ画面をリアルタイムで表示する。
特徴
- グラフィカルな画面をそのまま表示できる
- ある程度の帯域が必要(数Mbps〜)
- TCP/IPネットワークが必須
- OSが完全に起動してGUI環境が動いている必要がある
- マウス操作やクリップボード共有も可能
こんな時に使う
- GUIのインストーラを使いたい(Linuxデスクトップのセットアップなど)
- サーバーにデスクトップ環境(Xfce, GNOME等)を入れて遠隔操作したい
- 仮想マシン(VMware, VirtualBox, Proxmox等)の画面を直接見たい
- データセンターのIPMI/iLO/iDRAC経由でOSインストールしたい
必要なもの
- サーバー側: VNCサーバー(TightVNC, TigerVNC, RealVNC等)+ デスクトップ環境
- クライアント側: VNCビューア(TigerVNC, RealVNC, UltraVNC等)
- ネットワーク: TCP/IP接続(デフォルトはポート5900)
VNCはSSHトンネルと組み合わせて使うのがセキュリティの基本。暗号化がないため、そのままインターネットに公開してはいけない。
2つの違いを一覧で比較
実際の使い分け
サーバー管理(Linux)の場合: SSMやSSHが使えない緊急時はシリアルコンソール一択。ネットワークスタックがロードされる前のカーネルブートログを見たい時もシリアル。日常のサーバー管理はSSHで十分なので、どちらのコンソールもあまり使わない。
仮想マシン(VPS/VM)の場合: VPSプロバイダの管理画面には「VNCコンソール」が付いていることが多い。OSインストール時やBIOS設定の変更に使う。ただしVNCは遅いので、OSが入ったらSSHに切り替えるのがセオリー。
データセンター(専有サーバー)の場合: IPMI/iLO/iDRACと呼ばれる管理チップが搭載されており、シリアルコンソールとVNCコンソールの両方を提供している。BIOSレベルの操作はシリアル(またはIPMIのテキストコンソール)、OSのGUI操作はVNC(IPMIのリモートコントロール)と使い分ける。
初心者がまず覚えること:
- 「SSHが繋がらない」→ まずシリアルコンソールを試す
- 「GUIのインストーラを使いたい」→ VNCコンソール
- 「どっちを選べばいいかわからない」→ シリアルコンソールを選んでおけば間違いない
まとめ
シリアルコンソールとVNCコンソールは、どちらも「遠隔からマシンを操作する」ための道具だが、設計思想が根本的に異なる。
シリアルコンソールはテキスト一通。ネットワークが死んでいても、OSが起動していなくても動く。サーバーの生死確認や障害対応の最後の砦として絶大な信頼性を誇る。
VNCコンソールは画面そのものを転送する。GUI操作が必要な場面では便利だが、サーバー管理においては「OSが壊れたら意味がない」という弱点がある。
適材適所で使い分けるのが、サーバー運用の第一歩だ。