全3717文字
PR

 米Amazon Web Services(アマゾン・ウェブ・サービス、AWS)は、クラウドで使用する数百万台以上のサーバーハードウエアをすべて自社で開発・製造してきた。そのハードの中身が近年、市販のPCサーバーとは大きく異なり、メインフレームに近い構成になっていた事実が明らかになった。

 AWSのサーバーが「IBMメインフレーム互換」になったわけではない。AWSは2012年、AWS専用サーバーハードの内部に、CPUとは別にI/Oやサービス管理を担う専用プロセッサーを自社で開発して搭載する方針を決断した。そうした専用プロセッサーを使う手法は、メインフレームを参考にしたものだったと、AWS幹部が2022年8月にオンライン講演で明らかにしたのだ。

 その幹部とはAWSのJames Hamilton(ジェームス・ハミルトン)シニア・バイス・プレジデント(SVP)だ。ハミルトン氏はこれまでも、自社イベントのAWS re:InventでAWSの内部仕様を明らかにしてきた。今回はAWSのサーバーに2000万個以上も搭載されてきた独自半導体「Nitroチップ」の開発史を、2022年8月3日に開催したイベントAWS Silicon Innovation Day 2022の講演「History of Silicon Innovation at AWS」で解説した。

ハイパーバイザーなどの処理を肩代わりするNitroチップ

 Nitroチップの役割そのものは、2017年11月のAWS re:Inventで初公開されている。2013年からAmazon EC2のサーバーに搭載され始めたNitroチップは、従来はサーバーのCPUが担ってきた様々なワークロードを、CPUに代わって処理する(オフロードする)存在である。

 具体的にはNitroチップは現在、ネットワークのパケット処理や暗号化処理に加えて、ハイパーバイザーや各種管理ソフトウエアが担うクラスター管理やセキュリティー管理、パフォーマンス監視などのワークロードを処理している。

 2017年11月の発表では、Nitroチップに各種ワークロードをオフロードすることで、サーバーのCPUパワーを従来よりも最大12.5%多く、ゲストの仮想マシンに振り分けられるようになったと説明している。同じ量のサーバーでより多くのサービス収入を得るのに、Nitroチップは貢献しているわけだ。

ベアメタル実現が課題だった

 EC2開発の主要メンバーであるPeter Desantis(ピーター・デサンティス)氏がNitroチップの開発を思い付いたのは、2012年のことだ。当時のAWSはベアメタルサーバーを顧客に提供する手段について検討していた。

 ハイパーバイザー上で稼働する仮想マシンではなく、ハイパーバイザーを介さないベアメタルサーバーを提供することは、当時のAWSにとっては不可能だった。EC2を使うユーザーが他の顧客の領域やAWSのシステム領域に侵入できなくする様々なセキュリティー機能が、ハイパーバイザー上に実装されていたためだ。「AWSはセキュリティーを最優先する」(ハミルトン氏)との原則はゆずれない。

 そこでデサンティス氏が考案したのは「サーバーの中にサーバーを設ける」というアイデアだ。物理サーバーの内部にサービス管理専用サーバーを内蔵し、物理サーバーへのあらゆるトラフィックをサービス管理専用サーバーで隔離する。こうすればハイパーバイザーを介さなくても、サーバー資源を安全にユーザーに提供できるようになる。当時のデサンティス氏はこのアイデアを「すべてのコンピューターにドングル(専用デバイス)を導入する」と表現していた。

メインフレームと同じ仕組みを10分の1のコストで実現せよ

 デサンティス氏から相談されたハミルトン氏は、すぐにそれが価値のあるアイデアだと直感する。サーバーとは別にネットワーク管理やサービス管理のサーバーを本体に内蔵する手法はメインフレームで採用されており、メインフレームの高性能やRAS(信頼性、可用性、サービス性)を実現するのに役立っていたからだ。

 ハミルトン氏はAWSに転じる以前に、米Microsoft(マイクロソフト)でSQL Serverの開発を率いていたことで知られるが、マイクロソフトの前には米IBMでDB2の開発チームに所属していた。IBM出身でメインフレームを熟知するハミルトン氏だからこそ、デサンティス氏のアイデアの価値を判断できたわけだ。

 メインフレームではサービス専用サーバーはその後、サービス専用チップへと姿を変えた。メインフレームのような専用チップをEC2のサーバーに導入すれば、EC2にメインフレーム並みのRASをもたらせるのは間違いない。しかし課題はコストである。クラウドを安価に提供する必要があるAWSにとって、ハードがメインフレームのように高価になるのは受け入れられない。Nitroチップは「予想されるコストの10分の1」(ハミルトン氏)で実現する必要があった。