株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

Prism Proを使って、SpectreとMeltdownのパッチの影響を理解する

本記事の原文はNutanixコミュニティのブログNutanix Connect Blogの記事の翻訳ヴァージョンです。原文の著者はNutanix社のSr. Technical Marketing EngineerのBrian Suhr氏です。原文を参照したい方はUsing Prism Pro to Understand the Effects of Spectre and Meltdown Patchesをご確認ください。情報は原文の投稿時のままの情報ですので、現時点では投稿時の情報と製品とで差異が出ている場合があります。

当社のNutanix社製品についてはこちら。本ブログのNutanix関連記事のまとめページこちら

ネットワールドのNutanix関連情報はぜひ以下のポータルから取得ください(初回はID、パスワードの取得が必要です)。

Fig371

火星でのバケーションから戻ってきた、というようなことでもない限り、最近もっともモダンなCPUアーキテクチャ上で発見されたセキュリティの脆弱性に関する様々な雑音や混乱から逃れるということはできないでしょう。これらの脆弱性ーSpectreとMeltdownーは3つにカテゴライズされており、ソフトウェアのパッチが必要であり、終息についてはマイクロコードのアップデートが必要です。これについてもっと詳しく知りたいということであれば meltdownattack.com は研究の最初の一歩としてはうってつけです。 

このパッチは何故今までの元は異なるのか?

この理由はSpectreとMeltdownの脆弱性がいずれもCPUのアーキテクチャに関連したものだからであり、これを終息させようとすることはOSやアプリケーションが近年のCPUの投機的な実行機能を利用する方法を調整するということまでもが含まれてくるからです。ゲストOSのベンダーはそのお客様に対してこれらのパッチを当てることによるパフォーマンスへの負の影響について声高にのべており、不安定になってしまうことを理由に最初のパッチを取り下げたベンダーも見られます。

SpectreとMeltdownによるパフォーマンスの劣化の最終結果を完全に理解することになるにはまだ時間が足りませんが、私は皆様に対して、完全にそれを検証し終えること無くパッチの適応を急いではならないと警鐘を鳴らしたいと思います。パッチを当てる対象はハイパーバイザー、ゲストOS、そしてマイクロコードレイヤが含まれ、アップデートを充てる際には、まず、最低でも評価の手順のフェーズを終えて、それぞれのパッチの影響を理解して行うべきです。このフェーズ化されたアプローチはそれぞれのパッチ、そしてその組み合わせが安定性を備えるまでの時間という意味でも、より大きな環境へとそれを適応していく前に行うことは理にかなっています。

Prism Proがどのように役立つのか?

このブログ記事の本筋に立ち戻りましょう。我々はPrism Proを利用することで、今日の皆様の環境とパッチを当てたあとの状態の環境とのCPUの利用率の上昇差分について理解していく手順をシンプルにしていくことができると考えています。

もしも、どの時間をみて、(そして)どのような変化が起こりそうか、ということがわかっているのであれば、通常のパフォーマンスチャートでそのイベントの影響を見ることができます。以下の例にあるように、一番上のチャートは選択した仮想マシンの3時間の間隔でのCPUの利用率の様子を顕しています。矢印のマークの部分ではこの仮想マシンのCPUの利用率が驚くほど上昇していることがわかります。利用率が上昇したという事実については理解が難しいものではありません、しかし、チャートはこの変化が通常こうしたものであるのか、それともこの環境における変化がこの程度なのか、ということを顕しているわけではありません。

Fig372

AOS 5.5のリリースとともに、NutanixはX-FitテクノロジーをPrism Proへ追加しました。つまり、管理機構は今は仮想マシンやホストの通常どのように振る舞っているかを学習できるようになっています。振る舞いを学習したシステムが監視している特定の計測値が通常の振る舞いの領域幅をはみ出したと判断した場合、これは不具合として記録され、警告が発報されます。

次の例も上でお見せした同じ仮想マシンにおけるシナリオですが、今回は新しい、インテリジェンスを備えたチャートを利用しています。以下のチャートでは濃いブルーのラインが実際のCPUの利用率を顕しており、青い影の幅はこの仮想マシンの通常時のCPU利用を学習した上で生成されたベースラインを顕しています。チャートの一部にズームイン(赤い円の中へ)してみると、同様にCPUの消費率がスパイクしていることが表されています。しかしながら、この新しい情報の中では、この値が学習されたベースラインを上回って上昇しているということがわかります。不具合が明らかで、この仮想マシンにとって通常の状態でないということですから、アラートが発行されます。

Fig373

振る舞い学習のアルゴリズムはNutanixのX-Fitに組み込まれており、定期的に今回取り上げた仮想マシンを確認して、CPUの増加が継続していることを示しています。しばらくすれば、Prismは変更されたCPUの利用率がこの仮想マシンにとって通常の振る舞いであるということを学習し、ベースラインをそれに合わせて以下の例にあるように適切に調整し始めます。利用量が増えていますので、変更後のベースラインは最初はもっと大きな幅になります。この幅はPrismが仮想マシンの監視を継続指定国津入れて自動的に調整されていきます。

Fig374

これまでのところ、我々があげてきた例では単一の仮想マシンの振る舞いに注目してきました。単一の仮想マシンのチャートを見るということは非常に有用ですが、多くの組織ではSpectreとMeltdownの脆弱性に対処するために百から数千の仮想マシンにパッチを当てる必要があります。こうした修正を展開してその影響について監視していくという範囲の大きさを考えれば、注目すべき点は自然により高いレベルになっていくことでしょう。こうした場合のシナリオではホストレベルで環境を見ていくほうが時間を短縮することができる一方で、それぞれの変更の結果を追跡するということもまだ、できるレベルでしょう。

パッチの影響についてホストレベルで見ていくことができるということを示すために、環境においてCPUの利用上昇をシミュレーションする仮想マシンのグループを利用しました。以下の例ではホストレベルのCPUの利用チャートと学習されたベースライン、そして最後に利用率のスパイクが表示されています。このスパイクはホストレベルでの不具合アクティビティとして記録されており、その実態は我々がこれまで上で見てきた仮想マシンです。

Fig375

それぞれのこうした不具合のイベントはPrism内にアラートを作成します。もしもEmailによる通知が設定されていれば、emailアラートとして送信されます。この警告システム自体は非常に有用なものですが、Prismはそれに加えてその不具合の所在についてその不具合にどのような要素が関連しているかを付属させることで簡単に理解しやすくしてくれています。

Prismダッシュボードの影響を受けたクラスタのウィジットはクラスタの健全性についての高いレベルでの詳細を提示します。以下のスクリーンショットを見ていただければ分かる通り、直近24時間無いでの不具合の数を1つのデータポイントが顕しています。

Fig376

ウィジット内の不具合数をクリックすると、以下の例のようにその期間における不具合のそれぞれとどの計測値が不具合に該当したのかということも一つのリストにして見ることができます。それぞれの不具合をクリックすれば上で仮想マシンやホストの例で見てきたようなチャートへとアクセスすることができます。

Fig377

キャパシティ変更についての計画

組織はゲストOSにパッチを当てることで他のクラスタに対して影響を与える可能性のある決して小さくはないCPU利用率の上昇を理解し、その計画を建てなくてはなりません。Prism Proのキャパシティプランニングの機能によって、クラスタにこうした追加の要求を加えることで、シナリオをモデル化することができます。

この例では我々はテクストクラスタのシナリオを作成しました。以下のチャートは現在の環境においての見通しの詳細といかにリストされている既存のホストリソースを顕しています。

Fig378

浪費されているリソースを回収する

モデル化されたノードの追加が要求に答えるためには必要よりも大きなものであったり、そうでなくても置かれている状況下において理想的な解決策であるとはいえない場合、浪費されているリソースを回収することを考えることもできます。Prism Proは最適化もしくは回収できるリソースを特定する時にわかりやすいデータを提示します。次のスクリーンショットは全体、もしくはクラスタごとのレベルでリソースの最適化について示しているウィジットです。

この例ではoverprovisionedとinactiveに分類された仮想マシンに注目します。というのも、これらいずれのカテゴリーも組織が合理的に回収し易いリソースを含んでおり、簡単に要求の増加に応えることができます。

  • over-provisioned分類は先に述べた学習した仮想マシンの振る舞いの機能を利用しており、常日頃、割り当てられたリソースのうち本の限られた量しか利用していない仮想マシンです。
  • inactive分類は最低30日間電源が入っていない状態が続いた仮想マシンが特定されています。このカテゴリも学習した仮想マシンの振る舞いを利用しており、電源が入っていたとしてもCPUとディスクの活動が最低量のみを使い続けているというものも含まれています。

Fig379

それぞれの分類のいずれかをクリックすると、Prism上の探索ビューでそのカテゴリに分類された仮想マシンが一つのリストとして表示されます。以下の救いリーンショットはoverprovisionedの仮想マシンを表示しています。この表示から、どの仮想マシンがまさにoverprovisioned(割当過剰)になっているのか、それがどれぐらい多すぎるのかということを簡単に見ることができ、アプリケーションチームとの議論の末にこうしたリソースを回収する計画をたてることができます。リソースの割当の変更を適応する準備が整ったら、単純に仮想マシンを選択して、必要なレベルにリソースを調整するだけです。

Fig380

環境のインベントリを取得する

これまでに関しとキャパシティプラングについて見てきました、最後に取り上げなくてはならないのは環境のインベントリを取得する方法です。ご自身の環境内にどのようなものがあるのかということを理解し、どうしたコードをそれぞれが走らせているか理解することはアップデートのフェーズの準備、そして効果を確認していくためには重要です。

PrismのLife Cycle Manager(LCM)を利用して、クラスタで動作しているそれぞれのノードのBIOSのヴァージョンのレポートを得ることができます。この詳細情報はどのノードがアップデートを必要としているのかということと、どのノードがアップデートを終えているのかということを理解するためにも重要です。

Fig381

続くスクリーンショットでは、Prism Centralの探索機能を利用して、環境内のホストのリストをハイパーバイザーとそれぞれのヴァージョンを表示しています。Prismはクラウド時代のために作成されているため、マルチハイパーバイザーの管理をネイティブにサポートしていますし、それら全てを単一の画面から表示することができるようになっています。

Fig382

Prismのレポーティングはどうでしょう?

AOS 5.5のリリースと同時に、Prism Proはアドホックベース、もしくはスケジュールでの両方でレポートの生成を行える機能を搭載しました。Prism Proにはいくつかの標準レポートが既に含まれていますし、管理者が新しいレポートを簡単に作成することも可能です。既存のレポートをクローンして作ることもできますし、ビジュアルレポートデザイナーを利用してレポートのコンポーネントを利用可能なウィジットのリストの中から選択するということも可能です。

以下の1つ目のレポートはセキュリティパッチのウォッチリストです。このレポートはクラスタのCPUのキャパシティの見通しのチャートを利用して、それぞれの変更がどれだけ残されたキャパシティへ影響をあたえるのかということを表示しています。その次はラインチャートを利用して、それぞれのホストごとのCPUの特定の期間での消費状況を表示しており、レポートの対象機関内で増加したものについてはハイライトしています。このレポートは環境内のすべての仮想マシンの個々のCPU利用率も含まれており、仮想マシン単位での影響についても確認が可能です。


こちらがサンプルです security patch watch list report

更に環境内のすべてのノードのハイパーバイザーとそのノードで稼働しているバージョンをリストでご提供する2つ目のサンプルレポートも作成いたしました。我々はこうした詳細をPrismのインベントリのサンプルで既に目にしていますが、これをレポートにすることでemail経由で自動的にスケジュール通りにより大きなチームへとPDFフォーマットで共有することができます。複数のレポートを単一の大きなレポートに統合するということも必要があれば可能です。

こちらがサンプルです environment summary report

Prism ProがSpetreとMeltdownの脆弱性の影響を確認するのにどれだけ有用かということを議論できることを大変嬉しく思います。もしももっと議論をしたい、もしくはもっと詳しく知りたいということであればコメントを残していただくか、担当営業チームへとご連絡下さい。(※訳注 : NetworldのNutanixチームのTwitterアカウントへ話しかけていただいても構いません!)

Disclaimer: This blog may contain links to external websites that are not part of Nutanix.com. Nutanix does not control these sites and disclaims all responsibility for the content or accuracy of any external site. Our decision to link to an external site should not be considered an endorsement of any content on such site. 

(c)2018 Nutanix, Inc. All rights reserved. Nutanix, Prism, and the Nutanix logo are registered trademarks or trademarks of Nutanix, Inc. in the United States and other countries. All other brand names mentioned herein are for identification purposes only and may be the trademarks of their respective holder(s).

記事担当者: マーケティング本部 三好哲生 (@Networld_NTNX

Ntc2018

とても長い記事ですが、非常に面白いPrism Proの使い方ですし、何よりも今もっとも重要な脆弱性についての対策の記事ですので予定を変更してお届けいたしました。パッチを当てた範囲が想定内なのかどうか、ということもそうですし、どのぐらい影響があるのか・・・これはスナップショットやクローンを使って仮想マシン毎に見てみるというようなことも重要かもしれません。(ただし、アプリケーションによってCPUの投棄実行が行われるというケースもあるので、パッチを当てた後に実際にアプリケーションを動かしてみるということも必要でしょう。)

前回のヨーダの話に続き、Prism Proですが、本当に素晴らしいソフトウェアに成長してきました。是非ご検討いただけますと幸いです。