Skip navigation
2014

今回は、PowerCLI を起動したときの「PowerCLI ~path~>」についての話です。

 

PowerCLI を起動したときの、デフォルトのプロンプト文字列ですが・・・

powercli-prompt-01.png

PowerShell の prompt ファンクションを PowerCLI 起動時の初期化スクリプトで変更しています。

PowerCLI C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI> cat .\Scripts\Initialize-PowerCLIEnvironment.ps1

(省略)

# Modify the prompt function to change the console prompt.

# Save the previous function, to allow restoring it back.

$originalPromptFunction = $function:prompt

function global:prompt{

 

    # change prompt text

    Write-Host "$productShortName " -NoNewLine -foregroundcolor Green

    Write-Host ((Get-location).Path + ">") -NoNewLine

    return " "

}

(省略)

「Add-PSSnapin VMware.VimAutomation.Core」などで PowerCLI 関係の

モジュールを読み込んだ場合は、

このスクリプトが読み込まれないのでプロンプトは変更されません。

 

ちなみに、$productShortName という変数には「PowerCLI」が入っています。

PowerCLI C:\> $productShortName

PowerCLI

 

もともとの PowerShell プロンプトは、このような感じのようです。

PowerCLI C:\> $originalPromptFunction

$(if (test-path variable:/PSDebugContext) { '[DBG]: ' } else { '' }) + 'PS ' + $(Get-Location) + $(if ($nestedpromptlevel -ge 1) { '>>' }) + '> '

 

このブログのコマンド例のようにしたい場合は、このような感じにしたりします。

function prompt{Write-Host "PowerCLI" -NoNewLine -foregroundcolor Green;"> "}

PowerCLI C:\>

PowerCLI C:\> function prompt{Write-Host "PowerCLI" -NoNewLine -foregroundcolor Green;"> "}

PowerCLI>

powercli-prompt-02.png

 

以上、PowerCLI のプロンプト文字列についてでした。

OpenStack + vSphere を検証 / 勉強するための

vSphere OpenStack Virtual Appliance(VOVA)という仮想アプライアンスが存在します。

 

VMTN の OpenStack & VOVA のコミュニティのページはこちら。

OpenStack

 

前回、VOVA をデプロイしてみました。

vSphere と OpenStack。VOVA のデプロイについて。

 

今回は、VOVA でインスタンスを起動(VM 作成)してみます。

 

VOVA の OpenStack ダッシュボードからインスタンス起動。

VOVA で VM を作成する場合、

vSphere Client や Web Client からではなく、

VOVA の OpenStack ダッシュボードから起動します。

今回は、demo ユーザでログインします。

vova-nova-01.png


「プロジェクト」→「コンピュート」→「インスタンス」の画面で

「インスタンスの起動」をクリックします。

vova-nova-02.png


下記のあたりを指定して、「起動」します。

  • インスタンス名
  • フレーバー(VM のスペック)
  • インスタンスのブートソースと、イメージ名

「イメージ名」では、Glance で管理されている OS イメージを指定します。

VOVA には、デフォルトで cirros と debian のイメージが登録されているので、

今回は debian のイメージを使用してみます。

(日本語キーボードだと cirros のデフォルトパスワードの入力がつらかったので)

vova-nova-03.png


VM 起動が開始されました。

起動中(作成中)なので、状態が「Build」となっています。

vova-nova-04.png

 

しばらくすると、状態が「Active」になります。

この状態で、既に VM は作成され、起動もされています。

vova-nova-05.png

 

VOVA の nova コマンドからインスタンス起動。

VOVA に Web Client のコンソールや SSH でログインすれば、

nova コマンド等で OpenStack + vSphere 環境を体験することもできます。

 

ためしに、VOVA で「nova list」コマンドを実行すると、

先ほど作成した VM が表示されています。

この後、nova コマンドでインスタンス起動するつもりなので、

「nova flavor-list」でフレーバーの一覧も見ておきます。

vova-nova-06.png

 

VOVA には、デフォルトで2つの OS イメージが登録されています。

「glance image-list」で、イメージの一覧が表示できます。

vova-nova-07.png

 

「nova boot」でインスタンスを起動してみました。

ここまでで一覧表示してみた、イメージとフレーバーを指定してみました。

「nova boot ~」というコマンドラインですが、VM の起動だけでなく

vSphere での VM 作成も含まれます。

ちなみに OpenStack 環境だと、インスタンスの終了をすると

VM の停止だけでなく削除までされます。(AWS の EC2 みたいな感じです。)

vova-nova-08.png

 

「nova boot」実行後に、「nova list」を見てみました。

vova-vm02 というインスタンスが起動されつつあります。

vova-nova-09.png

 

当然ながら、OpenStack ダッシュボード側でも

コマンドで起動したインスタンスが見えます。

vova-nova-10.png


vSphere からの、OpenStack 管理下 VM の見え方。

VOVA から起動した VM を、vSphere 側(Web Client)から見てみます。

作成された VM の名前は、「インスタンス名」ではなく UUID になります。

クラスタ、ポートグループ(ネットワーク)、データストア(ストレージ)は、

それぞれ、VOVA のデプロイ時に「VMware Driver Configuration」で指定したものが割り当てられています。

 

ちなみに、br100 ポートグループが ESXi に存在しない場合は自動作成されるようです。

そして、vDS / vSS 両方に br100 ポートグループが存在する場合、vDS のものが使用されるようです。

vova-nova-11.png

 

VOVA と、本番むけの VIO (まだベータ中)では結構、違いがあるようで

おそらくコンポーネント構成などが変更されたり、使い勝手も変わったりすると思われます。

とりあえず VOVA については、

「OpenStack 管理による vSphere 環境の自動化が~」といった感じではなく、

OpenStack から操作される vSphere の動作を見るために使っていきたいと思いました。

 

以上、VOVA でのインスタンス起動についてでした。

つぎは、

vSphere と OpenStack。第3回 VOVA でボリューム作成。(Cinder)

今年、VMware Integrated OpenStack(VIO)が発表されました。

VMware Integrated OpenStack (Beta)

http://www.vmware.com/products/openstack

 

しかし、それ以前から、OpenStack + vSphere を検証 / 勉強するための

vSphere OpenStack Virtual Appliance (VOVA)というのが存在します。

VMTN の OpenStack コミュニティのページはこちら。

OpenStack

 

デプロイのマニュアルはこちら。

https://communities.vmware.com/docs/DOC-24626

 

今回は、その VOVA をデプロイしてみます。

VOVA というのは、OpenStack のコンポーネントが

まとめてインストールされている VM です。

OVA ファイルをデプロイするだけで、OpenStack 環境が構築でき、

OpenStack から vSphere 環境を制御するとどのように見えるのか

といったことを確認できます。

 

ただし、VOVA は PoC 目的のものなので、

このまま本番環境として使用することは、想定されていません。

※どうしても本気でやりたい場合は VIO のベータプログラムに参加・・・

 

環境

 

デプロイ

 

vSphere 環境は、以下の準備をしておきます。

  • DRS クラスタを作成しておく。
  • 「br100」というポートグループを作成。
  • ESXiのファイアウォールで gdbserver を解放しておく。

 

今回は、Web Client から OVA ファイルをデプロイします。

vCenter インベントリの、デプロイ先を右クリックして

「OVF テンプレートのデプロイ」を選択します。

vova-deploy-01.png


VOVA の OVA ファイルを選択します。

vova-deploy-02.png

 

確認画面です。

Thin プロビジョニングなら、6GB くらい、Thick なら、40GB 必要です。

vova-deploy-03.png

 

VOVA  の名前(デフォルトでは VOVA)と、デプロイ先(DC / フォルダ・・・)を指定します。

VOVA デプロイ先となる クラスタ / フォルダ等は、

OpenStack 環境として VOVA が管理する場所とは別でもかまいません。

OpenStack 環境として管理する場所は、後の方で指定します。

(今回は別にしています。)

vova-deploy-04.png

 

VOVA をデプロイするデータストアを指定します。

これも、OpenStack として管理するストレージの指定ではありません。

OpenStack 環境として管理するデータストアは、後の方で指定します。

vova-deploy-05.png

 

VOVA の VM を接続するポートグループを指定します。

  • 「Mgmt Network」
    VOVA の OpenStack Dashboard(OpenStack の Horizon)に
    接続したりするネットワークになります。
    ポートグループ名は「VM Network」でなくても OK です。
  • 「br100」
    OpenStack で起動するインスタンス(VM)の接続するネットワークと同じ
    ポートグループを指定します。
    ポートグループ名は「br100」にしておいた方がよいです。

 

これらのポートグループは、ここで指定する前に作成しておきます。

また、vSS / vDS どちらに作成しても大丈夫です。

vova-deploy-06.png

 

VOVA の設定を入力します。

「VMware Driver Configuration」というのが、OpenStack 向けの設定です。

  • vCenter のアドレス
    OpenStack は、vSphere 環境を操作するとき、必ず vCenter を経由します。
  • VOVA から vCenter に接続するユーザ / パスワード
    今回は事前に、vovauser@vmad.local というユーザを作成しました。
    簡易的に試すなら、administrator@vsphere.local や root ユーザ等でよいと思います。
  • OpenStack 管理下にするデータセンタ名
  • OpenStack 管理下にするクラスタ名
  • OpenStack 管理下にするエータストア名

 

ちなみに、VOVA ~ vCenter の接続ユーザについてですが、

ADドメインユーザを使用する場合は

「ドメイン\ユーザ名」だと、なぜかユーザ名が化けてしまうようなので

ユーザ名@ドメイン」としたほうがよいようです。

vova-deploy-07.png

 

このページの下の方にある「Network Properties」には、

VOVA のネットワーク設定(「Mgmt Network」のもの)を入力します。

  • デフォルトゲートウェイ
  • 参照する DNS サーバ
  • IP アドレス
  • サブネットマスク

vova-deploy-08.png

 

確認画面です。

vova-deploy-09.png

 

少し待つと、OVA ファイルのデプロイが終わります。

VOVA を起動する前に、仮想マシンのバージョンを

7 から 10 にバージョンアップしておきます。

vova-deploy-10.png

 

確認・・・

vova-deploy-11.png

 

「ESXi 5.5 以降」を選択します。(デフォルト)

vova-deploy-12.png

 

VOVA をパワーオンします。

vova-deploy-13.png

 

VOVA を Web Client のコンソールで見ると、

このようになっています。

OpenStack の ダッシュボードの URL と、

VOVA 自身の 管理用 Web UI の URL が表示されています。

vova-deploy-14.png

 

OpenStack のダッシュボードへのアクセス

 

VOVA での OpneStack 管理は、

vSphere Web Client からではなく、OpenStack のダッシュボードから行います。

(VIO では変わるのかもしれませんが・・・)

 

OpenStack Dashboard の URL は、下記のようになります。

http://<VOVA のアドレス>/

 

OpenStack の ダッシュボードにアクセスすると、

OpenStack Dashboard(VMware ではない Horizon・・・)の画面が表示されます。

demo ユーザや、admin ユーザが用意されています。

vova-deploy-15.png

 

demo ユーザでログインしてみると、こんな感じです。

vova-deploy-16.png

 

今回は、VOVA のデプロイについてでした。つづく・・・

vSphere と OpenStack。第2回 VOVA でインスタンス起動。

NSX は、仮想化されたネットワーク環境にセキュリティを実装できます。

そして、その NSX 自体のセキュリティについてのガイドもあります。

 

vSphere は、バージョンごとに

セキュリティ強化のためのガイドが公開されています。

VMware Security Hardening Guides

http://www.vmware.com/jp/security/hardening-guides

 

これの NSX for vSphere(NSX-V)むけのガイドが

コミュニティに公開されています。(Excel シートです)

NSX-v 6.1 - Security Hardening Guide (Community version 1.2)

https://communities.vmware.com/docs/DOC-28142


たとえば「分散 FW は~というように設定すべき」とかではなく、

NSX 自体のインストールや、NSX を構成する仮想アプライアンス(NSX Edge など)の

セキュリティ対策設定について記載されています。

そして、結構、頻繁に更新されています。


このガイドでは、実装項目ごとに、

やるべき内容を要約したような一意の「ID」が振られています。

※IDは数字ではなく、文字列で管理されています。

上記のガイドから、コンポーネントごとに「ID」を抜き出してみました。

どのようなことが記載されているのか、ある程度わかると思います。

シートコンポーネントサブコンポーネントガイドのID
Management
Plane
NSX ManagerBackup and Restorebackup-excludes
backup-user-password
secure-backup-dir
secure-sftp-server
use-sftp
Certificatesensure-valid-certificates
Communicationdisable-ssh-manager
restrict-nsx-access
Generalenable-ntp
Installationkeep-nsx-patched
verify-install-media
Loggingenable-remote-syslog
secure-syslog-server
Networkdisable-ipv6
disable-ipv6-dns
secure-dns-server
Portsblock-unused-ports
REST APIsmonitor-api-use
Unsupported Softwareno-unsupported-software
User Administrationlimit-user-role
limit-user-scope
Web UIpassword-complexity-webui
VMware vSphereAllharden-vsphere-environment
NSX Manager VArestrict-nsx-va-access
Control
Plane
NSX ControllerCommunicationdisable-ssh-controller
isolate-controller-network
secure-controller-network
Portsblock-unused-ports
VMware vSphereNSX Controller VArestrict-nsx-va-access
Data PlaneHypervisor-no-non-hypervisors
NSX EdgeEdge Logical Routerdisable-ssh-router
enable-md5
password-complexity-er
Edge Service Gatewaydisable-ssh-gateway
NSX vSwitchvSphere Distributed Switchreject-forged-transmit-dvportgroup
reject-mac-change-dvportgroup
reject-promiscuous-mode-dvportgroup
restrict-vds-access
StorageNetworkisolate-storage-network
VariousPortsblock-unused-ports
VMware vSphereEdge VArestrict-nsx-va-access
VXLANCommunicationisolate-vxlan
Teaming Policyuse-srcid-lb-option

 

NSX-V のセキュリティについて検討したい場合、

このガイドを参考にすると良いと思います。

ただ、このガイドも、vSphere のガイド同様で「どこでも全部、必ずやるべし」というものではなく、

インフラの環境構成や運用方針に合わせて取捨選択が必要だと思いました。

 

また、各ガイドには具体的な設定方法やAPI についても記載されているので

NSX-V を理解するためにもよい資料だと思います。

 

他にもNSX のセキュリティ については、下記のドキュメントがあります。

※だいたい、このドキュメントの要素もハーデニングガイドに含まれているようです。

Securing-NSX-vSphere

https://communities.vmware.com/docs/DOC-27674

 

以上、NSX の セキュリティ ハーデニングの話でした。

いま大流行の NSX ですが、実は 2つの製品があります。

  • VMware NSX for vSphere (NSX-V)
  • VMware NSX for Multi-Hypervisor (NSX-MH)

それぞれ、基本的な概念(トランスポートゾーンを構成して、その中で論理スイッチを構成できて…)

といったところは共通ですが、ソフトウェア自体や機能は異なります。

結構わかりにくいので、それぞれ簡単に紹介してみようと思います。

 

ちなみに、「NSX の製品データシート」を見てみると・・・

NSX の製品データシート

http://www.vmware.com/files/jp/pdf/products/nsx/VMware-NSX-Datasheet.pdf

(英語)

http://www.vmware.com/files/pdf/products/nsx/VMware-NSX-Datasheet.pdf

 

展開方法(英語では「How to Buy」)に下記のように書いてあるのですが、

1文目が NSX-V、 2分目が NSX-MH を指していると思われます。

(vCAC がそれぞれに書いてあったりしますし)

NSX を VMware vSphere 環境に展開し、vSphere、VMware

vCloud Director および VMware vCloud Automation Center と

完全に連携させることができます。また、Xen Server、KVM または

VMware vSphere ESXi などのマルチ ハイパーバイザー環境に展開

して、vCloud Automation Center、OpenStack および CloudStack

などのクラウド管理ソリューションを使用することも可能です。

 

それぞれの、主な違いについて。

 

VMware NSX for vSphere(NSX-V)

  • これまでの vCloud Networking and Security(vCNS)が進化したもの。
  • 現行のバージョンは 6.1.x。
  • 対応するハイパーバイザは ESXi だけ。
  • vCenter インベントリのオブジェクトを指定した分散ファイアウォール制御 ができたりするのはこちら。
  • 使用する仮想スイッチは、vDS を機能拡張したようなもの。
  • トランスポートゾーンは、vCenterのクラスタ単位で拡張。
  • ハードウェア VTEP は使えなそう。
    ただし物理サーバが NSX 環境下で通信不可能というわけではない。(L2 Bridging あり)
  • トンネルは VXLAN だけ。
  • ソフトウェアベンダとの製品連携はこちらが多いような・・・
  • もともと vCNS、vShield ~と連携していた製品は、だいたいこちらの NSX と連携する様子。

 

VMware NSX for Multi-Hypervisor(NSX-MH)

  • 元 NVP(旧 Nicira)。
  • 現行バージョンは 4.2.x。(バージョンは、NSX-V とは関連していない)
  • 対応するハイパーバイザは ESXi のほかに KVM、Xen ...
    (ただしESXi を使用する場合も、VIB が NSX-V とは異なる)
  • OpenStack(Neutron)連携したりするのはこちら。
  • 使用する仮想スイッチは、Open vSwitch ベースのもの(らしい)。
  • トランスポートゾーンは、ハイパーバイザや、ゲートウェイ単位での拡張ができる。
  • 物理スイッチ等の「ハードウェア VTEP」が使えるのもこちら。
  • トンネルは、VXLAN、STT、GRE ...
  • HW ベンダとの製品連携はこちらが多いような・・・

 

それぞれ、vSphere 環境への導入方法も異なります。

たとえば ESXi への追加モジュール(VIB)も、そのインストール手順も違います。


続いて、スクリーンショットをもとに違いを見てみようと思います。

※スクリーンショットは HoL でとりました。

 

NSX-V の様子。

 

NSX Manager のログイン画面です。

nsx-v-01.png

 

ログインして、Summary タブを開いたところです。簡潔・・・

nsx-v-02.png

 

ESXi には、いくつか NSX 特有の VIB が追加されます。

ちなみに Web Client から自動インストールっぽいことができます。

nsx-v-03.png

 

vCenter の Web Client には、vCNS のころからの

「Network & Security」メニューがあります。

nsx-v-04.png

 

NSX-V の操作は、基本的にはWeb Client の

「Network & Security」メニューのあたりから実施できます。

nsx-v-05.png

 

NSX-MH の様子。

 

NSX Manager のログイン画面は、ほとんど同じです。

よく見るとアイコンが違ったり、右下にバージョン表記があったりします。

nsx-mh-01.png

 

ログインすると、NSX-V とは相当違います。結構、玄人志向な気が・・・

NSX-V と異なり、Web Client ではなくこの画面からの設定が基本となるようです。

nsx-mh-02.png

 

ESXi の追加 VIB は、NSX-V とは違います。

※NSX-V の例と表示コマンドが違いますが、深い意味はありません・・・

nsx-mh-03.png

 

NSX-MH では Web Client には、「Network & Security」メニューがありません。

nsx-mh-04.png

 

他にも、いくつか NSX を知るうえでヒントになりそうなことを挙げておこうと思います。

 

製品マニュアル。

ドキュメントも、NSX-V と NSX-MH は完全に別です。

 

NSX-V

VMware NSX for vSphere Documentation

https://www.vmware.com/support/pubs/nsx_pubs.html

 

NSX-MH

一般公開はされてなそうです。

(製品購入すれば、MyVMware から DL できる様子・・・)

 

今年の HoL。(日本語)

 

VMware Hands-on Labs

http://labs.hol.vmware.com/HOL/catalogs/

 

NSX-V

HOL-SDC-1403 - VMware NSX Introduction

※英語では他にもいろいろあります。

 

NSX-MH

HOL-SDC-1420 - OpenStack with VMware vSphere and NSX

※OpenStack がメインっぽいですが、NSX-MH 環境です。

 

技術書籍。

いまのところ、NSX の専門書は下記だけ・・・

NSX-MH ベースに説明していて、

NSX-V については、それ用の章(5-4 ~)をもうけて説明されています。

詳解VMware NSX ネットワーク仮想化の基礎と応用

http://book.impress.co.jp/books/1113101094

※ちなみに正誤表もここにあります。

 

資格について。

 

VMware Certified Professional - Network Virtualization(VCP-NV)

https://mylearn.vmware.com/mgrReg/plan.cfm?plan=51111&ui=www_cert

選択問題の試験。基本的には NSX-V ですが、若干 NSX-MH の知識も含まれます。

 

VMware Certified Implementation Expert - Network Virtualization(VCIX-NV)

https://mylearn.vmware.com/mgrReg/plan.cfm?plan=52165&ui=www_cert

実機試験。完全に NSX-V の資格です。

 

※くわしくは上記 Web サイトの「Exam Blueprint」を参照。

 

最後に。

NSX の説明については、NSX-V / NSX-MH どちらのことか(もしくは両方か)

わかりにくいものが多いので、どちらの話なのか整理してみると

理解しやすいのではないかと思います。

 

以上です。NSX-V / NSX-MH についての話でした。

最近、日本語の Horizon 6 書籍が出版されました。

 

VMware Horizon 導入実践ガイド

[モバイルクラウド時代のワークスタイル変革]

http://book.impress.co.jp/books/1114101058

 

これです

horizon6_book.png

 

見てのとおり、VMware Horizon 6 についての書籍です。

 

ちなみに私は、Horizon に含まれる仮想デスクトップ(Horizon View)

について勉強すべくこの本を入手しました。


VMware 社のものに限らず、VDI や Workspace 的な製品は

もともと関連するコンポーネントが多く、

さらに VMware Horizon には色々な製品が統合されていて

実際に構築/運用したことがある人でないとイメージしにくいところがあると思います。


Horizon 6 の場合は日本語ドキュメント(製品マニュアル)も公開されているので

それを端から読んで勉強することもできますが、

その場合はどうしても機能説明ベースでの説明を読むことになります。

以前に Horizon や、同様な製品を使用した経験がないと

なかなかつらいところがあると思います。

 

というわけで、そのあたりをカバーしてくれそうな この本を読んでみました。

この本の特徴は・・・(個人的な印象ですが)

  • (当然ながら)網羅性を必要とする製品マニュアルよりも、Horizon 導入に向けて知っておくべきことに焦点があてられている。
  • 進化の早い Horizon に即対応すべく頑張って執筆された本なので、いらないことは書かれていない。(ように感じた)
  • 「導入実践ガイド」なので、PoC の考え方や環境構築系の説明が充実していて、HoL だとカバーしにくいところが理解しやすい。

 

ちなみに、HoL とはこれのことです。

VMware Hands-on Labs

http://labs.hol.vmware.com/HOL/catalogs/catalog/

 

Horizon 6 を知っておきたい ベンダや SIer な人たちだけでなく、

いわゆるユーザ企業側の人も、この本を読んでおくと

お互いに会話がはずむのではないかと思いました。

 

以上です。Horizon 6 本の紹介でした・・・