← 研修トップ
仮想化とクラウドの土台
借りた機械の正体。1台の機械をなぜ分けるのか、ハイパーバイザは何を捕まえるのか、コンテナはなぜVMではないのか、リージョンとAZの物理はどこにあり、責任の線はどこに引かれるのか。アプリとDBの下に横たわる層を、OSとハードウェアの側から積み上げます。
- 1約 9 分なぜ1台の機械を分けるのか — 利用率と隔離1つの処理は機械を使い切れません。待ちが大半なので、余った能力を他へ回したくなります。分け方は2つ、時間で分けるか空間で分けるかです。
- 2約 9 分ハイパーバイザ — 特権命令をどう捕まえるかVMの中のOSは、自分が機械の最上位だと思って特権命令を出します。その命令は素通りせず、ハードウェアが捕まえてハイパーバイザに制御を渡します。
- 3約 9 分VMのメモリ — 二重のアドレス変換ゲストOSが「物理アドレス」と思って使う番号は、ホストから見ればまだ仮想アドレスです。表引きが2段重ねになり、両方の表を辿ってはじめて実物の番地に着きます。
- 4約 9 分コンテナはVMではない — namespace で「見える世界」を分けるコンテナの中で動くのは、ホストのカーネルをそのまま使う普通のプロセスです。ゲストOSは無く、CPUの特権命令も1つも捕まえていません。
- 5約 9 分cgroup で資源を配る — 絞られるものと殺されるものnamespace が「何が見えるか」を分けるのに対し、cgroup は「どれだけ使えるか」を配ります。担当する機構が別です。
- 6約 9 分イメージはレイヤ — copy-on-write と内容アドレスイメージは1枚の塊ではなく、**読み取り専用の差分(レイヤ)の積み重ね**です。OCI image-spec はレイヤを「変更集合」と定義し、各レイヤを**中身のハッシュ(digest)で名指し**します。
- 7約 9 分クラウドは他人のコンピュータ — リージョンとAZの物理クラウドで借りた計算資源は、どこかの建物にある実物の機械です。リージョンは地理上の場所、AZ(アベイラビリティーゾーン)は電源・冷却・網が独立した1つ以上のデータセンターで、可用性の約束はこの物理的な分離から来ています。
- 8約 9 分どこまでが自分の責任か — 線は契約で決まり技術で消えない借りる層が上がるほど、線の下(物理・ハイパーバイザ・OS)は提供者に移ります。しかし線の上——データ、設定、暗号化を有効にするか、誰に何を許すか——は、どこまで上がっても自分に残ります。
- 9約 9 分オートスケールは何を見て増やすか — 測定・判断・起動の遅れ「自動で増える」は1つの動作ではなく、測定 → 判断 → 起動の3段です。どの段にも遅れがあり、効くのは3つの和だけ後です。
- 10約 9 分サーバレスとmicroVM — コンテナとVMの合流点他人のコードを同じカーネルの上で動かすと、見える範囲と使える量は絞れますが、カーネル自身の穴は共有したままです。