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そのものについては、直接ユーザーがアクセスするリソースというわけではありません。しかし、内部の仕組みを理解しておくことは、セキュリティやパフォーマンスを改善したい場合の参考になるでしょう。
Search キーワード検索
Popular 人気の記事
-
AWS EBSとは?8つの特徴とEBSボリュームについても解説
公開: 更新:
reccomended おすすめ記事
-
AWSエンジニアの将来性は?年収と必要なスキル6つをご紹介!
公開: 更新:
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
通信キャリア向け基盤構築/東京都渋谷区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/在宅ワーク
月給65万~65万円東京都渋谷区(神泉駅) -
各種対応/東京都新宿区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給60万~60万円東京都新宿区(高田馬場駅) -
要件定義、構築/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給60万~60万円東京都千代田区(飯田橋駅) -
運用構築/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給56万~56万円東京都千代田区(飯田橋駅) -
監視システムの保守、更改/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給55万~55万円東京都千代田区(神保町駅) -
各種対応/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】
月給60万~60万円東京都千代田区(虎ノ門駅)