goo blog サービス終了のお知らせ 

徒然日記

内容非保証 ひだりのカテゴリーでフィルタすると、各ジャンルの情報だけ表示できるよ!

【AWSがベアメタルインスタンスを提供していなかった理由】

2021-03-03 14:42:27 | 会社_AWS

「AWSがベアメタルインスタンスを提供していなかった理由」


Nitro System (ニトロではなくナイトロと読む)と呼ばれる仕組みがキーだったらしい。

きっかけは、AWS が Mac OS のインスタンスを提供していること。それを可能としている仕組みが Nitrro であり、Mac OS は Mac mini 上で稼働していることがAWSの説明にかかれていたことだ。

Mac OS は仮想環境での提供は認めていなかったはずなので、ベアメタルとして提供する必要があるのだろう。 では、Nitroとは? と思ったところ。。。

このシステムのおかげで、EC2の仕組みを維持しつつ、ベアメタルサーバが提供できるようになったという。
その結果として、VMware Cloud on AWS が可能になり、さらに、MacOSインスタンスも提供するようになったようだ。

詳細はよくわからないので推測だが。。。

この Nitro Sysytem とは、従来のAWS用ハイパーバイザが「担ってきた機能」をハイパーバイザ(ユーザ向けのサーバでもある)とは別ハードで行うためのものであるようだ。 この「担ってきた機能」というのはおそらく、サーバがAWS独特のインフラ(ストレージやネットワーク)にアクセスするための機能なのだろう。

AWSはストレージはEBSであるし、ネットワークもおそらく独自のものがあるのだろう。 これらにIOするための機能を従来はハイパーバイザに組み込んでいたため、(ベアメタルを提供するために)ハイパーバイザを外すと、AWSインフラへのアクセス機能が失われてしまう。 ということなのであろう。
従来
【VM】→【HV】→【AWSインフラ】

Nitro System
【VM】→【新HV】→【Nitro System】→【AWSインフラ】

Nitro に処理を分離させる意義は、ハイパーバイザ自身が直接AWSインフラと会話しなくて済むことであろう。 おそらく、NitroがサーバのIO要求をフックし横取りする形で、AWSインフラへのIO処理を代行するのであろう。 

これによって、ハイパーバイザ自身は普通のIO要求を出せばよくなり、それゆえにハイパーバイザーの変更(例えば、VMware vSphere への変更)が可能になったり、ベアメタルインスタンスの提供が可能になったりした(サーバ上のOSは普通にIO要求をすればいいから)のだろう。

この結果として、VMware Cloud on AWS の様な、非AWSハイパーバイザを EC2 の上で動かすことができたり、MacOS インスタンスのような Mac mini server の上で動く市販OSを AWS EC2 の枠組みの中に取り込むことができるようになったのだろう。

AWSのしがらみを回避する苦肉の策といってしまえばその通りだ。 当初は仮想化絶対だったからそれでもよかったが、特殊な環境を作ったためにハイパーバイザも特製になって、その結果、汎用的なOSの採用が難しくなって。。。その問題解決のために Nitro が必要になった。 

でも技術的には面白い。

● AWS の Mac インスタンス
仮想でなく、Mac mini で動作するハードであり、Nitro System を活用していると書かれている。
https://aws.amazon.com/jp/ec2/instance-types/mac/

● AWS Mac インスタンスの仕組みの解説
https://www.publickey1.jp/blog/20/macawsmac_minithunderboltaws_reinvent_2020.html

● AWS Nitro System の解説
https://www.sbbit.jp/article/cont1/34457

● AWS Nitro System の解説
https://www.publickey1.jp/blog/18/aws_nitro_system.html

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 【写真を線画にするソフト ... | トップ | 【面白い情報を見つけた】 »
最新の画像もっと見る

コメントを投稿

会社_AWS」カテゴリの最新記事