AWS Nitroとは?AWS Nitroと関連サービスをご紹介!

公開日時:  
AWS Nitroとは?AWS Nitroと関連サービスをご紹介!

AWS Nitroとは?


AWS Nitroとは、AWS EC2を実現するためのAWS内部の仕組みのひとつです。

AWSにはさまざまなレベルのサービスがありますが、基本的なサービスのひとつとして、仮想マシンを実現するEC2があります。AWS Nitroは、このEC2を実現するためのひとつの内部的な仕組みです。

ユーザーが直接Nitroを意識して操作するものではありません。しかし、内部の仕組みを理解しておくことで、ユーザーにはさまざまなメリットがあります。

もともとは、AWSがAmazon EC2を実現するために様々な機能をサーバー上のソフトウェアで実現していました。これをAWSが独自に開発したハードウェア(ASIC)に載せ替えたものが、AWS Nitronです。

このAWS Nitronにより、後述のAWS Nitro Enclavesといったセキュアな新しいサービスが実現できています。さらに、後述の利点があります。

AWS Nitroの機能


AWS Nitroが実現している機能は、通信処理・フィルタリング処理、ストレージアクセスでの暗号化処理、ハイパーバイザなどです。

AWS Nitroは、SR-IOVを含めた通信処理、フィルタリング処理、ローカルNVMeストレージアクセスにおける暗号化処理などを専用ASICベースで実現しています。つまり、これらの処理にCPUパワーを使うことがありません。

また、ハイパーバイザは、KVMベースのものを大幅に軽量化したものが採用されています。これにより、物理的なCPUは仮想化、ストレージ、ネットワークの処理の必要がなくなり、ユーザーアプリケーションの処理のみ行えばよくなるのです。

具体的には、Nitro セキュリティチップと呼ばれる部分では、システムがブートするごとにファームウェアの改変がないかチェックします。また、Nitroハイパーバイザでは、メモリとCPUリソースの割当てを管理します。

AWS Nitroの利点

AWS Nitroの特徴に触れましたが、利点は何でしょうか。重要なポイントは、AWS Nitroに相当する機能が外付けのハードウェアで実行されることです。

AWS EC2インスタンスを実行するための特有の処理があります。データの暗号化、復号化、ネットワーク管理や、ひとつのリソースを複数のユーザーで管理するための処理といった機能です。

これらの機能は、従来はサーバの中のソフトウェアで実行していたので、どうしてもそのソフトウェアはインストールしておく必要がありました。

AWS Nitroは外付けハードなので、ソフトウェアのインストールは必要ありません。このため、従来は実現できなかったクラウド上のベアメタルサーバが実現できました。

さらに、パフォーマンスの点でも利点があります。AWS Nitro処理はCPU以外の部分で実行されます。つまり、サーバーの能力のほぼすべてをユーザーの処理に使えるようになりました。

ベアメタルサーバとは

AWS Nitroに関連して、ベアメタルサーバについても触れます。「ベアメタルサーバ」とは、OSやソフトウェアなどがインストールされていないサーバーを指します。

ベアメタルサーバは、OSなどがインストールされていないので、そのままでは利用できる状態ではありません。

仮想化されたクラウドサーバーでは、複数のユーザーがひとつのサーバを共用します。これに対して、ベアメタルサーバーは仮想化されていないので、パフォーマンス上有利です。

また、オンプレミスで動いているシステムをそのままクラウドに移行したい場合に有利です。

OSやライブラリ等の環境を変えることでアプリケーションソフトの動作に問題が発生する場合があります。しかし、ベアメタルサーバであれば、オンプレミスで実績のあるOSやライブラリの環境をそのまま移行出来るため、互換性の点での心配がありません。

これは、安定性の面で大きなメリットとなります。

AWS Nitro Enclavesとは


AWS Nitro Enclavesは、AWS EC2の中で分離された環境を実現して、個人情報やヘルスケア、金融、知的財産といった機密性の高いデータを安全に処理できるようにする、新たなEC2の機能です。

Enclavesは、「飛び地」という意味です。EC2の中で、他と分離した領域を作成するイメージになります。

Enclavesは、完全に分離された仮想マシンです。そしてストレージや外部ネットワークがありません。

インスタンスのrootユーザーや管理者権限ユーザであっても、EnclavesにSSHで接続することはできません。当然上位インスタンスの管理者権限ユーザーからもアクセスすることはできません。

これらの仕組みにより、EC2 インスタンス内のデータはよりセキュアに保護されています。また、AWS Nitro Enclavesの利用については、追加費用は発生しません。

AWS MacインスタンスがNitroで実現

AWSのMacインスタンスは、Mac miniとAWS Nitroの組み合わせで実現されています。

AWS Nitroは、OSやプロセッサの種類に依存しない設計になっています。市販と同じインテル版のMac MiniにAWS Nitroを組みあわせることで、今まで存在しなかったMacのインスタンスが実現できています。

このシステムではAWS特有の暗号化や通信処理、フィルタリング処理等はすべてNitro側で処理されます。Mac Mini側は市販品と同じものであり、ユーザーアプリケーションでほぼすべてのプロセッサ能力を利用することができます。

従来、OS XはAWS EC2からは利用することができませんでしたが、Mac版ソフトウェアのテスト環境等、クラウド上でのOSXインスタンスの需要は多くありました。

AWS Nitroの実現があってこそ初めて、OS X版のクラウドインスタンスが実現できたといえます。

AWS Gravitonプロセッサ

アマゾン独自開発のGravionプロセッサを利用したEC2インスタンスでは、AWS Nitroが利用されています。

従来の多くのAWS EC2インスタンスは、Intelプロセッサベースのものが多く使われてきました。これに比べて、新しいAWS Graviton は、64-bit Armベースで独自開発のプロセッサです。コスト面、パフォーマンス面でも有利とされています。

ARMベースなので、Intelプロセッサとはバイナリ互換ではありません。スクリプト言語で書かれたアプリケーションはそのまま実行可能です。ネイティブアプリケーションは、再コンパイルすることで実行可能とされています。

AWS Nitroのまとめ


AWS Nitroについてまとめました。AWS Nitroとは、AWS EC2を実現するためのAWS内部の仕組みのひとつです。

もともとは、AWSがAmazon EC2を実現するための機能をサーバー上のソフトウェアで実現していました。これをAWSが独自に開発したハードウェアに載せ替えたものが、AWS Nitroです。

AWS Nitroの応用例として、AWS Nitro Enclavesがあります。AWS Nitro Enclavesは、個人情報やヘルスケア、金融といった機密性の高いデータを安全に処理できるようにする、新たなEC2の機能であり、従来のものよりさらにセキュアなEC2環境を実現します。

AWS Nitroそのものについては、直接ユーザーがアクセスするリソースというわけではありません。しかし、内部の仕組みを理解しておくことは、セキュリティやパフォーマンスを改善したい場合の参考になるでしょう。


AWS分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags