Amazon EC2の最新基盤として「VMware Cloud on AWS」や「EC2ベアメタル」の実現にもつながったAWSの「Nitro System」とは?

2018年1月11日


Amazon Web Services(AWS)は、2017年11月に開催されたイベント「AWS re:Invent 2017」で、同社クラウド独自の基盤技術である「Nitro System」(ナイトロシステムと発音するようです)の存在を明かしました。

Nitro Systemは仮想マシンを提供するAmazon EC2を実現するためのサブシステムです。もともとAmazon EC2を実現するためにホストサーバで稼働していたソフトウェアを、AWSが独自に開発したハードウェアにオフロードしたもの。

Amazon EC2はAWSの中核的なサービスですから、Nitro SystemはAWSにおける最新の基盤技術と言っていいでしょう。

そしてNitro SystemによってAmazon EC2を実現するための機能がホストサーバからオフロードされたからこそ、Amazon EC2でのベアメタルサーバが実現し、ベアメタルサーバが実現したからこそVMware Cloud on AWSが実現した、と説明されています。

と同時に、Amazon EC2のホストサーバから処理がオフロードされたことで、ホストサーバの能力のほとんどすべてがユーザーのインスタンスに振り分けられるようになり、Amazon EC2と関連するネットワークやストレージ性能の向上にも寄与しています。

では、そのクラウドに最適化されたサーバのサブシステムであるNitro Systemとはどういうものか、AWS re:Invent 2017の公開された資料動画などからまとめてみました。

Nitro Systemで、Amazon EC2のための機能をハードウェア化

Amazon EC2ではハイパーバイザの下位に、インスタンスごとに適切なストレージやネットワークとやりとりするための処理、セキュリティのための処理や監視のための処理などが行われています。

もともとAmazon EC2のためのネットワーク、ストレージ、セキュリティの3つの機能はすべて、Amazon EC2のホストサーバ上でソフトウェアで実装され、処理されていました。

Amazon EC2はもともとソフトウェアで実現されていた

しかし最新のC5インスタンスでは、このAmazon EC2のための処理が専用のハードウェアであるNitro Systemにオフロードされています。そしてハイパーバイザもNitro Systemに最適化されたKVMベースのNitro Hypervisorに置き換えられました。

Amazon EC2を実現する機能はNitro Systemにオフロードされた

公開されている動画「(1) AWS re:Invent 2017: C5 Instances and the Evolution of Amazon EC2 Virtualization (CMP332) - YouTube」によると、Nitro SystemはKVMベースの軽量なハイパーバイザであるNitro Hypervisorと、ネットワークやストレージの処理を行うNitro Card、そしてサーバのファームウェアやイメージの整合性チェックなどを含むNitroセキュリティチップなどから構成されています。

Nitro Systemによってホストサーバから独立したハードウェアでセキュリティを確保しているため、より高いセキュリティレベルが実現されているとも説明されています。

Nitro Systemの構成

段階的にAmazon EC2の機能をハードウェアへオフロード

ホストサーバ上のソフトウェアからNitro Systemへのオフロードは段階的に行われました。

最初にNitro Systemが使われ始めたのは2013年に登場したC3インスタンスで、ネットワークの機能がホストサーバ上からNitro Systemへ移動しました。

C3インスタンスでNitro Systemが初登場

結果としてネットワーク帯域幅が20%、レイテンシが50%向上し、ネットワーク負荷の変動も減ったとのことです。

2015年に登場したC4インスタンスで、ストレージ処理もNitro Sysemへ移行。ネットワークと同様にインスタンスに対するストレージの入出力は、Nitro System経由で検証され、適切なストレージに振り分けられるようになります。

C4インスタンスではストレージの機能もNitro Systemへ移行

ここまでのNitro Systemは、市販のASICを組み合わせて作られていました。

AWSはこのASICを作っていたAnnapurna labsを2015年初頭に買収します。数百万台規模のサーバを展開するAWSにとって、ASICを外部から調達するよりもベンダをまるごと買収してしまうほうが最終的には低コストで将来性もあると判断したためです。

2015年、AWSはASICベンダAnnapurna labsを買収

そして2017年に登場したC5インスタンスでは、最後のセキュリティ関連の機能もNitro Systemへ移され、ソフトウェアで実装されていたAmazon EC2の基盤のNitro Systemへの移行が完了します。下記の図でも、右側のホストサーバ上で実装されているソフトウェアがほとんどなくなっていることが分かります。

C5インスタンスですべての機能がNitro Systemへ移行した

これによりAmazon EC2でのベアメタルサーバの提供が実現したと同時に、VMware Cloud on AWSも実現したわけです。

VMware Cloud on AWSもNitro System上で実現されている

クラウドはもともと安価な汎用サーバを用いて構築されるものでした。しかしそのサーバをクラウドに最適化していった結果、独自のASICを開発し搭載するクラウド専用サーバへと変化していったことになります。

関連動画

このエントリーをはてなブックマークに追加
follow us in feedly


≫次の記事
Google、Dockerイメージに対するテスト自動化フレームワーク「Container Structure Tests」オープンソースで公開

≪前の記事
資金が尽き12月に廃刊するはずだったLinux Journal、一転して支援者により存続へ、「Linux Journal 2.0」を宣言


カテゴリ



Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



新着記事 10本


PR - Books


fig

fig

fig