NutaNice Xperience

主にNutanix製品を検証したり触ったりした結果をつづっています。※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。実際に製品を使用される場合は、メーカードキュメントの手順に従い実施してください。

【図解】NutanixにおけるPrism Centralの役割

※この記事の情報は「AOS 6.7」および「Prism Central pc.2023.4」時点での情報をもとに、筆者がまとめたものになります。その後の情報アップデートはメーカーの公開情報をご確認いただくか、メーカーに直接お問い合わせください。

Prism Centralでよくこのようなご質問をいただくことがあります。

そこで今回はNutanixの製品ポートフォリオにおけるPrism Centralのポジションや役割について載せておきます。

▽Nutanixの製品ポートフォリオはこんな感じで紹介されており、各要素がライセンス名にそのまま紐づいています。

△ みなさんはこの中で、Prism Centralがどこに関わっているかをどのくらい説明できるでしょうか?

▽上の図だけだとイメージしづらい人もいるかと思いますので、実際の機能名や絵を追加して作成したのが以下のポートフォリオ図になります。ついでにPrism Centralが関係する部分も分かるようにしました。

ここで言いたいのは、Prism Centralが提供する機能はNCI・NCM・NUSライセンスを横断しているということ。これがPrism Centralの理解が難しいといわれる理由でもありますが、上記のポートフォリオ図でイメージがついたでしょうか?

▽以下のスライドでPrism Centralの役割や費用についてもまとめています。こちらも内容理解にご活用ください。

以上、今回はこの辺で。

Nutanixのスナップショットをできる限りスナップショットロック状態にする方法を考えてみる

※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。また、このブログで紹介している製品や機能を使用される場合は、メーカードキュメントの手順に従い実施することを推奨します。

この記事は Nutanixアドベントカレンダー2023 の「12/18」の記事です。

adventar.org

ランサムウェア対策の一環として、バックアップ/スナップショット データを一定期間、変更や削除不可(ロック状態)にする機能が搭載されている製品があるかと思います。

Nutanixでは、ネイティブ機能でローカルやリモートサイトにVMのスナップショットを取得し、読み取り専用(変更不可)で保存することができますが、ロック(削除不可に)する機能は提供されていません。(AOS 6.5時点)

そこで今回は、Nutanixの機能を使用して、できるだけ削除不可に近い状態を再現してみました。ただ今回は、セキュリティを定義する範囲や設定内容などを細かく考える時間がなかったので、クリスマス会で使えるNutanixの雑なネタ枠としてご活用ください。

1. 今回の環境

プラットフォーム: NX-1465-G5
AOS: 6.7
AHV: 20230302.207
スナップショット対象VM: Windows Server 2022

※今回はハイパーバイザーをAHVとし、PDベースでスナップショットを取得した場合を想定します。また今回は、Prism Central側の機能であるリカバリーポイントなどは対象としません。スナップショットが削除されてしまうケースを防止する、という観点で雑に解説します。

スナップショットが削除されてしまうケース

Nutanixでは、CVMが物理ドライブに直接接続されており、HCIの分散ストレージプールを作成して、仮想マシンのデータやスナップショットを保管しています。そのため、CVMにアクセスできればスナップショットの削除操作は可能となります。

① CVM に SSH で不正ログインされ CLI で消されてしまう

例えば悪意のある攻撃者が何らかの方法でCVMのアカウント情報を入手した場合、SSHアクセスでCVMにログインし、CLIコマンドでスナップショットを削除してしまうというケースが考えられます。

② AHVにSSHで不正ログインされ CVM 経由で消されてしまう

実は、AHVとCVMはローカルのパスを持っているため、AHVへSSHアクセスでrootログインできれば、そのままCVMにSSHでログインされてしまうケースも考えられます。

③ Prism Element に不正ログインされ、コンソールから消されてしまう

最後に、CVMの「admin」といった権限の強いアカウント情報が盗まれて、Prism Webコンソールにログインされてしまうパターンです。Prism Elementにadmin権限でログインされた場合は、スナップショットも簡単に削除されてしまいます。

この様に、Nutanixでは、ストレージを制御しているCVMからスナップショット削除が可能であるため、これらのケースを踏まえてCVMへの侵入を可能な限りブロックする方法を考えてみます。

CVMへの侵入を防止し、スナップショットロック状態に近づける方法

方法①CVM/AHVのパスワードを強化する

CVMやAHVパスワードのデフォルト最低文字数は8文字ですが、これをクラスターの設定で最低15文字にしたり、複雑性の要件を強化したりできます。最低15文字といった設定内容は、RHEL STIGのガイドラインでも定義されているものです。これまで、パスワードの強化項目は、CVMからのコマンド操作で設定可能でしたが、AOS 6.6/pc.2022.9以降のPrism Centralでは、セキュリティダッシュボードからワンクリックで有効化することができるようになりました。

パスワードの強化というと単純な内容に聞こえるかもしれませんが、より推測されにくいパスワードをきちんと設定して管理すれば、セキュリティの強化につながります。これはケース①②に対する対策として特に有効ですが、とにかくrootやadminといった強権を持つローカルアカウントのパスワードを強化して、絶対に他人に公開しない。また緊急時のアカウントという扱いにして、普段の運用では可能な限り使用しない。というのが大切です。

方法②クラスタロックダウンを使用する

クラスタロックダウンを使用すると、AHVやCVMへのパスワード認証によるSSHアクセスを禁止したり、SSH鍵認証方式のみでのログインを許可したりできます。これは、同様にケース①②への対策となります。

SSHアクセス自体を完全にブロックしてしまうこともできますし、管理者側で作成したSSH公開鍵を登録して、秘密鍵を持っている端末からのみアクセス可能にすることもできます。

クラスタロックダウンを使用して、普段はSSHアクセスを制限しておくといった方法は、CVMやAHVへの不正アクセスを防止するうえで重要ですが、注意点としてはSSHで別途クラスターにアクセスする必要があるバックアップソフトやUPSなどがある場合に、むやみにロックダウンを設定できない場合があるといった事でしょうか。

方法③強い権限のユーザーをPrismなどの運用で利用しない

最後に、普段の運用で「admin」などの強権ユーザーの利用や露出を避けるといった事を紹介しておきます。ローカルユーザーやディレクトリ連携したユーザーなどで、ユーザーロールや RBACを使用して操作できる機能を制限していくという方法です。

例えば、とあるデータセンターの運用監視オペレーターチームでは、クラスターのサマリやパフォーマンス、リソースの使用状況やアラートといった情報を、Prism Elementから確認している、といった作業があるかもしれません。そういった情報の参照のみのオペレーションでクラスターを操作する必要がないのであれば、権限の弱いユーザーロールである「Viewer」でログインするなど、必要最低限のユーザロールに限定することができます。

また、Nutanixではプロジェクトといった仮想マシンやアプリケーションのデプロイ機能なども提供されているため、開発チームなどにおいてもPrism CentralのRBAC機能で必要な仮想マシンやアプリケーションのみに細かく機能制限をかけたりすることで、スナップショットなどに関わるストレージ側を触らせないといった事が可能になります。

ユーザーと RBACでは、設計次第で様々な構成ができるかと思います。ちなみに、インフラの管理者においても、admin権限を持つアカウントの普段使いは避けることをおすすめします。

まとめ

ここまでかなり雑な説明をしてきたわけですが、全部まとめるとこんな感じになります▽

これで、運用でカバー」という名のスナップショットロック状態の完成です。もっとこんなこともできますとかあればぜひ教えて下さい。

今回はこのへんで。

Nutanix AHVの仮想マシンテンプレートを使ってみる④ ~ガイドスクリプト編~

※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。また、このブログで紹介している製品や機能を使用される場合は、メーカードキュメントの手順に従い実施することを推奨します。

AHV VMテンプレートの連載リンク集

前回の記事では、Nutanix AHV環境で、Sysprepによる応答ファイルを使用して、VMテンプレートを作成→デプロイしてみました。今回はPrism Centralに搭載されているガイドスクリプト機能とSysprepを使用して、VMテンプレート機能を触ってみます。

1. 今回の環境

Hardware Platform: NX-1175S-G8
AOS: 6.5.3.7 LTS
Hypervisor: AHV 20220304.423
Prism Central: pc.2023.3
テンプレート対象VM: Windows Server 2022

※作業イメージは以下の通りです

2. テンプレート化するVMの準備

▽テンプレート化するVMですが、今回はWindows Server 2022をインストールした仮想マシンを準備しました。こちらをSysprepの監査モードに入れてから「一般化」および「シャットダウン」を実行します。実行すると、VMが自動で停止します。

※今回は応答ファイルは作成不要です

3. VMテンプレートとガイドスクリプトの作成

▽Prism CentralのVM一覧から対象の仮想マシンを選択して「Create VM Template」をクリックします。

▽テンプレート作成画面にて「Sysprep(Windows)」および「Guided Script」を選択して、各項目を入力します。今回は、ユーザーの作成とホスト名の設定、を入力しました。一点だけ、これは...というポイントとしては、地域/言語で「English(US)」と「French」しか選択肢がないことです。デフォルトはEnglishです。(pc.2023.3時点)

日本語を選択できないため...現状国内での利用シーンは限られそうですね。

▽設定が確認できたら「Save」をクリックしてテンプレートの作成を完了します。

4. テンプレートからのVMデプロイ

▽Prism Centralのテンプレート画面にて、作成したテンプレートからVMをデプロイします。

▽デプロイしたVMを起動すると、自動セットアップが進み、今回設定しなかったライセンスキーの入力だけ求められました。ガイドスクリプトでライセンスキーを入力していればこの項目も自動化されていたと思います。今回は、「後で」を選択して進めます。

▽セットアップが完了するとログイン画面が表示されますが、一部だけ英語になっていますね...。

▽ガイドスクリプトで入力したユーザー「test」が作成されていますので、このユーザーでログインします。

▽ログインしてみると、めっちゃ日本語ですね。おそらく英語の言語パックが含まれていないためだと思われます。

▽地域をみてみると、こちらは米国になっています。

▽言語の設定画面も結構バラバラになっていますね。

▽ホスト名は指定した通りで、設定されていることが確認できました。

おわりに

今回はAHV VMテンプレートにおける、Prism Centralに搭載のSysprepガイドスクリプト機能について紹介しました。現状は選べる言語が限られており、デフォルトで英語になってしまうので国内での利用シーンは限定されそうですが、今後日本語にも対応することに期待したいですね。

参考リンク
VM Template Management(AHV Administration Guide)
https://portal.nutanix.com/page/documents/details?targetId=AHV-Admin-Guide-v6_7:mul-vm-template-create-manage-pc-c.html
VM Template Management(Prism Central Infrastructure Guide)
https://portal.nutanix.com/page/documents/details?targetId=Prism-Central-Guide-vpc_2023_3:mul-vm-template-create-manage-pc-c.html

Nutanix AHVの仮想マシンテンプレートを使ってみる③ ~Sysprep応答ファイル編~

※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。また、このブログで紹介している製品や機能を使用される場合は、メーカードキュメントの手順に従い実施することを推奨します。

AHV VMテンプレートの連載リンク集

前回の記事では、Nutanix AHV環境で、カスタマイズなしでVMテンプレートを作成→デプロイしてみました。今回はVMテンプレート機能にて、Sysprepの応答ファイルを使用してみます。

1. 今回の環境

Hardware Platform: NX-1175S-G8
AOS: 6.5.3.7 LTS
Hypervisor: AHV 20220304.423
Prism Central: pc.2023.3
テンプレート対象VM: Windows 10

※作業イメージは以下の通りです

※一般的なSysprepと応答ファイルの併用では、作成した応答ファイルを特定のフォルダに配置してからSysprepを実行するやり方もあるかと思いますが、今回はPrism Centralに応答ファイルのアップロード機能があるため、そちらを使用します。

2. テンプレート化するVMとSysprep応答ファイルの準備

▽テンプレート化するVMですが、今回はWindows 10をインストールした仮想マシンを準備しました。こちらをSysprepの監査モードに入れてから「一般化」および「シャットダウン」を実行します。実行すると、VMが自動で停止します。

Sysprepの細かい手順などはメーカードキュメントをご確認ください。
Windows インストールに対する Sysprep (一般化) の実行
https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation?view=windows-10

▽また、今回使用するSysprepの応答ファイルですが、Windows ADKやPEを使用して「unattend.xml」ファイルを作成しました。内容としては、初期設定の自動化ADへの自動参加などを設定しています。

応答ファイルの作成方法についてはメーカードキュメントをご確認ください。

応答ファイル (unattend.xml)
https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/update-windows-settings-and-scripts-create-your-own-answer-file-sxs?view=windows-10

Windows ADK のダウンロードとインストール
https://learn.microsoft.com/ja-jp/windows-hardware/get-started/adk-install

3. VMテンプレートの作成

▽Prism CentralのVM一覧から対象の仮想マシンを選択して「Create VM Template」をクリックします。

▽テンプレート名入力後「Guest Customization」にて「Sysprep(Windows)」および「Costom Script」を選択して作成済みの応答ファイルをアップロードします。

▽アップロードされたことが確認できたら「Save」まで進めてテンプレート作成を完了します。

これで、Sysprepの応答ファイルを仕込んだVMテンプレートの作成が完了です。

4. テンプレートからのVMデプロイ

▽Prism Centralにて、作成したテンプレートから2台のVMをデプロイしてみます。

▽デプロイしたVMをパワーオンしてコンソールを起動すると、Sysprepの応答ファイルが読み込まれてセットアップが自動で実行されている様子が確認できます。

▽セットアップが完了すると、ドメインにも自動参加されていましたので、ドメインユーザーでログインしてみます。

▽無事ログインできたことが確認できました。※デスクトップの壁紙にはBGInfoを使用しています。

5. テンプレートのホスト名やSIDについて

前回の記事では、カスタマイズなしのテンプレートからのデプロイではホスト名やSIDが重複するといった事を書きましたが、今回はどうなっているかもお見せします。

▽Sysprepを実行しているので当然ですが、同時デプロイした2台のVMを比較すると、重複せずに別々の識別子が割り当てられていることが確認できます。

6. テンプレートからのデプロイ時に応答ファイルを指定したい場合

▽テンプレート作成時にはSysprepの応答ファイルをアップロードせずに、「Allow users to override at VM Deployment?」を「はい」にしてテンプレートを作成します。

▽これを設定してテンプレートを作成すると、VMデプロイ時に任意の応答ファイルをアップロードすることができます。デプロイ時に応答ファイルを使い分けたい場合などで利用できそうですね。

おわりに

いかがでしたでしょうか?Nutanix AHV VMテンプレートにおけるSysprepでは、Microsoft社から公開されている方法で作成した応答ファイル(unattend.xml)が使用できることが分かったかと思います。

実はAHVのVMテンプレートでは、Prism Centralに搭載されているガイドスクリプトという方法で、応答ファイルなしでSysprepによる設定の自動化を実行する方法もあります。※内容はあまり充実していないのですが...。

こちらは、次回の記事で紹介します。

参考リンク
VM Template Management(AHV Administration Guide)
https://portal.nutanix.com/page/documents/details?targetId=AHV-Admin-Guide-v6_7:mul-vm-template-create-manage-pc-c.html
VM Template Management(Prism Central Infrastructure Guide)
https://portal.nutanix.com/page/documents/details?targetId=Prism-Central-Guide-vpc_2023_3:mul-vm-template-create-manage-pc-c.html

次回
Nutanix AHVの仮想マシンテンプレートを使ってみる④ ~ガイドスクリプト編~

Nutanix AHVの仮想マシンテンプレートを使ってみる② ~カスタマイズなし編~

※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。また、このブログで紹介している製品や機能を使用される場合は、メーカードキュメントの手順に従い実施することを推奨します。

AHV VMテンプレートの連載リンク集

前回の記事では、Nutanix AHVでの仮想マシンテンプレート機能について紹介しました。今回から数回にわたって、AHV環境でのテンプレート機能の使い方をお見せします。

1. 今回の環境

Hardware Platform: NX-1175S-G8
AOS: 6.5.3.7 LTS
Hypervisor: AHV 20220304.423
Prism Central: pc.2023.3
テンプレート対象VM: Windows Server 2022

※作業イメージは以下の通りです

今回は簡易版として、SysprepなどのカスタマイズなしでVMテンプレートを作成し、作成後にテンプレートからVMをデプロイしてみます。

2. テンプレート化するVMの準備

▽テンプレート化するVMですが、今回はWindows Server 2022をインストールした仮想マシンを準備しました。こちらをまずシャットダウンしておきます。

簡単ですが準備はこれで完了です。

3. VMテンプレートの作成

▽Prism Central Webコンソールを起動しログインします。

▽Prism Centralの「Infrastructure」画面にて、対象の仮想マシンを選択し「Create VM Template」をクリックします。

▽テンプレート名を入力したら、Guest Customizationにて今回は「No Customization」を選択し「Save」まで進めます。

これでVMテンプレートの作成は完了です。

4. テンプレートからのVMデプロイ

▽Prism Centralの「Infrastructure」画面にて、作成したVMテンプレートを選択し「Deploy VMs」をクリックします。

▽以下画像の通り入力してデプロイします。今回は3台同時にデプロイしてみました。

▽テンプレートからデプロイされたVMをパワーオンしてログインしてみます。

▽ログインできました。

 

5. カスタマイズなしテンプレートのホスト名やSIDについて

一般的に、Sysprepなどを実行せずにVMをクローンしたりテンプレートからデプロイしたりすると、ホスト名やユーザーSIDなどが重複しますが、AHVの場合も同様です。

▽今回は、カスタマイズなしでテンプレート作成→VMデプロイを実施しましたが、同時デプロイしたVMの中身を比べると以下の通りとなります。

このように識別子が重複していると、AD参加をする際などに不具合が生じたりします。そのために、Sysprepによるシステムのクリーンアップなどが一般的に使用されますが、次回はAHV VMテンプレート環境におけるSysprepの使用方法を紹介したいと思います。

6. Advanced Deployについて

テンプレートからVMをデプロイする際に「Advanced Deploy」というメニュー選択できます。これを使用すると、VMに割り当てるリソースを変更したり、ネットワークを変更したり、カスタムスクリプトを後で追加したりすることが可能です。

▽「Advanced Deploy」の中身をお見せしますので、ざっと眺めてみてください。

おわりに

今回はカスタマイズなしでVMのテンプレートを使用してみました。次回はAHV VMテンプレートにおけるSysprepの使い方について紹介します。

参考リンク
VM Template Management(AHV Administration Guide)
https://portal.nutanix.com/page/documents/details?targetId=AHV-Admin-Guide-v6_7:mul-vm-template-create-manage-pc-c.html
VM Template Management(Prism Central Infrastructure Guide)
https://portal.nutanix.com/page/documents/details?targetId=Prism-Central-Guide-vpc_2023_3:mul-vm-template-create-manage-pc-c.html

次回
Nutanix AHVの仮想マシンテンプレートを使ってみる③ ~Sysprep応答ファイル編~

Nutanix AHVの仮想マシンテンプレートを使ってみる① ~紹介編~

※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。また、このブログで紹介している製品や機能を使用される場合は、メーカードキュメントの手順に従い実施することを推奨します。

AHV VMテンプレートの連載リンク集

この記事では、Nutanix AHVで利用できるVMテンプレート機能について紹介します。仮想化製品では「仮想マシン テンプレート」という機能が一般的に提供されていますが、Nutanix AHVでも仮想マシンのテンプレート化・デプロイの機能が提供されています。

仮想マシンテンプレートについて

テンプレート機能の主な特長は、ゲストOSや必要なアプリを事前にインストールした状態でVMをテンプレート化したり、Sysprepの応答ファイルなどによる自動セットアップをテンプレートからのデプロイ時に利用したりできる点です。

検証用で同じ構成のVMを何度もデプロイするような環境や、複数のVMを自動でAD参加までセットアップしたい場合などにおいて、単純作業の繰り返しを自動化できる便利な機能です。

Nutanix AHVにおけるVMテンプレートは、Prism Centralからのみの操作となりますが、NCI Starterライセンスがあれば追加のライセンスなどは不要です。

AHV でのVMのテンプレートの制限事項

テンプレート機能の主な制限事項は以下の通りです。

  • AHV上のVMのみ対象
  • エージェントVMやPrism Centralは不可
  • ボリュームグループが接続されているVMは不可
  • RF1ストレージコンテナ環境のVMは不可
  • プロテクションドメインで保護されているVMは不可

その他の制限事項については以下リンク先をご参照ください。

おわりに

今回は、AHVでの仮想マシンテンプレートについて紹介しました。次回以降、テンプレート機能の使い方について紹介したいと思います。