vSphereのタグとカスタム属性についてまとめてみる

どうも、Tです。

vSphereを使っていて、画面上で項目はよく見るけど実際使ったことない機能トップレベルに位置する「タグとカスタム属性」を使うと何ができるのか調べてみました。

機能的な内容を調べたので、設定方法とか細かい手順は記載していません。

ここでの結論

カスタム属性の使いどころがわからない

記事の後ろで書いていますが、カスタム属性で出来ることは基本的にタグでも実現できます。VMware社からも公表されているように、まずはタグの利用を検討しましょう。

オブジェクトの所有者・用途の明確化

個人的に仮想マシンなどのオブジェクトのグループ分け(「利用部署」「テスト環境・本番ン環境」など)は、フォルダを利用するのがシンプルで好きです。

ただ複数グループを横断する場合は、フォルダで管理が難しい場面があるのでタグの出番になるかなと考えます。

何かしらのプライオリティ

オブジェクトのプライオリティ(重要度)を指定する場合、これもフォルダ分けだけでは難しいパターンがあります。この場合もタグの出番かと思います。

バックアップなどサードパーティからの利用

仮想マシンのバックアップを行う際に、インベントリ名ではなくタグでバックアップ対象を判断するバックアップソフトがあります。

https://helpcenter.veeam.com/docs/backup/vsphere/vm_tags.html?ver=110
https://documentation.commvault.com/commvault/v11/article?p=32183.htm

タグでバックアップの優先度やグルーピングを行っておけば、タグをもとにバックアップジョブを作成することができます。

大規模環境の管理

vCenterが複数ある場合や、ハイブリッドクラウドなどで各オブジェクトのロケーションが異なる場合などにもタグが発揮されるかなと思いました。

あまりにもオブジェクトが多すぎると、フォルダ分けなどでは対応できない場合がありそうなので。

コマンド操作での利便性

JavaのAPIやPower CLIなどでタグを指定して操作ができるようです。Power CLIで試したところ指定したタグが割り当てられている仮想マシンの一覧を出力することができました。

このようにコマンドや独自のソフトウェアから、まとまった操作や自動化を行う際にもタグを使う方が便利でしょう。

それで・・・?

と色々考えてはみましたが、やはり使いどころが難しいというの率直な考えです。

vSphere Client上で、オブジェクトをリスト化して割り当てたタグを一覧表示する方法が見つかりませんでした。コマンドから見ればいいかもだけど、さっと確認するには面倒くさい。

また、タグの使用方法は、かなりの部分がユーザー側に委ねられています。どのようなカテゴリ分けか?タグの種類は?割り当てのルールは?未割当のオブジェクトの検出は?など、運用上の設計をちゃんと行った上で、きちんと運用しないと破綻してしまいそうです。

何かしら要件がなくて仮想マシンのグループ分け程度であれば、フォルダと注釈欄で中規模くらいまでは対応できそうかなぁ・・・・。

やりたいこと

vSphere Clientのトップ画面に表示される「タグとカスタム属性」で何ができるか把握したい。

「タグとカスタム属性」となっていますが、この2つに機能的連携はありません。「タグ」という機能と「カスタム属性」という機能を並べているだけです。

vSphereに含まれる各オブジェクトのサマリ画面でも「タグ」「カスタム属性」と表示が分かれています。

環境

  • vSphere 7.0u2

vSphere7で確認していますが、vSphere6でも機能的差異はないかと思います。あまりこの辺りの機能がアップデートしたという話もきかないので・・・。

タグとは

タグの構造

まず、タグの構造から調べてみました。

タグ機能は、複数のタグをグループリングしたタグカテゴリに所属する構造になっており、タグを各オブジェクトに割り当てるようになっています。マニュアルに明確な記載がありませんが、タグ・タグカテゴリ自体もvSphereのオブジェクトとして扱われているようでタグ操作を行う権限を設定することができます。

流れとしては、下記のようになります。

  1. タグカテゴリの作成
  2. タグカテゴリの権限設定(任意)
  3. タグの作成
  4. タグの権限設定(任意)
  5. オブジェクトへタグの割りて

タグで出来ること

検索ができる

vSphere Client上部の検索バーにタグ名を入力するとタグやカテゴリで検索を行えます。

検索するとタグを割り当てたオブジェクトを一覧で表示できます。

カテゴリ・タグ操作の権限設定

カテゴリやタグの作成画面で、権限を設定できます。インベントリオブジェクトに設定するのと同じように設定できます。

この権限設定は、カテゴリとタグを操作するための権限です。

最初設定項目を見たときは、タグを割り当たオブジェクトに、タグで設定した権限を継承できると勘違いしてしまいました・・・・。

https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-BBA9018F-3F2F-4A97-95C1-3331CE56308F.html

タグおよびカテゴリを操作するためのユーザー権限を管理できます。タグに権限に割り当てる手順は、タグ カテゴリに権限を割り当てる手順と同じです。

デフォルトロールでもタグを管理するための「管理者のタグ付け」ロールが存在しています。

カテゴリを作る

タグカテゴリを作るときの画面です。

オブジェクト当たりのタグ数

1つのタグを選択すると、1つのオブジェクトに対して、カテゴリに含まれる1つのタグだけ割当るように制限できます。

複数のタグを選択すると、1つのオブジェクトに対して、カテゴリに含まれるタグすべてを割り当てできます。

1つのタグの注意点

不具合かわからないのですが、「1つのタグ」でカテゴリを作っても、オブジェクトにタグを1回目に割り当てるときに複数選択すると複数のタグを割り当てることができました。

タグを追加しようと割当操作をすると、カテゴリのタグが表示されない動作です。利用者側にタグの割り当て操作を任すことはないかもしれませんが注意が必要です。

オブジェクトタイプ

タグは下記のオブジェクトに割り当てることができます。

  • すべてのオブジェクト
  • フォルダ
  • クラスタ
  • データセンター
  • データストア
  • データストア クラスタ
  • 分散ポートグループ
  • Distributed Switch
  • ホスト
  • コンテンツライブラリ
  • ライブラリアイテム
  • ネットワーク
  • リソースプール
  • vApp
  • 仮想マシン

ここでチェックを外しておくと、チェックを外したオブジェクトにタグの割り当てをするときに、カテゴリ内のタグは表示されなくなります。

タグを作る

タグを作る画面です。タグ名とカテゴリを選択するだけです。

オブジェクトへのタグの追加

カテゴリとタグを作成したら、オブジェクトのタグ欄にある「割り当て」をクリックすることで作成したタグを選択して割り当てることができます。

カスタム属性とは

カスタム属性の構造

カスタム属性の構造です。

作成した属性名を作って、指定したオブジェクトタイプに属性を付与します。(付与はカスタム属性を作成した時点で自動的に設定されます)

各オブジェクトの属性に対して、任意の値を設定することができます。

カスタム属性でできること

ソート・リストできる?

正直他に使いかが見つかりませんでした・・・・。

オブジェクトを一覧表示できるところで、リストにカスタム属性で作成した属性名が表示されるのでチェックを入れます。

属性名の列とそこに設定した値を一覧として表示できます。これはタグではできませんでした。

カスタム属性を作る

カスタム属性を作成する画面です。タイプはオブジェクトを指しています。

下記のオブジェクトに対してカスタム属性を作成できます。「仮想マシン」を指定すると作成した瞬間に、仮想マシンのカスタム属性に、値が空の属性が作成されます。

  • グローバル ※すべてのオブジェクトを指しています
  • クラスタ
  • データセンター
  • データストア
  • データストア クラスタ
  • 分散ポートグループ
  • Distributed Switch
  • フォルダ
  • ホスト
  • ネットワーク
  • 不透明ネットワーク
  • リソースプール
  • 仮想マシン
  • 仮想App

タグであった「コンテンツライブラリ」「ライブラリアイテム」に対してはカスタム属性が作成されませんでした。コンテンツライブラリを作ってみたところ、カスタム属性の欄自体の表示がないので、この2つは対象外のようです。

オブジェクトのカスタム属性欄に属性が追加されているので編集から値を入力すれば完了です。

その他

タグは複製される

検証環境がないので確認できていませんがタグに関しては、拡張リンクモード(単一のSSOに複数のvCenterが参加している)では、vCenter間でタグを使い回すことができます。

https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-E8E854DD-AA97-4E0C-8419-CE84F93C4058.html

カスタム属性の前に、タグの検討

カスタム属性にできることは、基本的にタグでできます。まずはタグの利用を検討しましょう。

https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-621BC36D-D077-4AE2-9604-42791057AFAF.html

タグおよびタグ カテゴリは、オブジェクトにさらに細かくタグ付けするメカニズムをサポートします。カスタム属性の代わりにタグおよびタグ カテゴリを使用することを検討してください。

参考

https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-E8E854DD-AA97-4E0C-8419-CE84F93C4058.html
Using vSphere Tags -- Virtualization Review
Organize your work with these tips and tricks.
The Amazing Power of vSphere Tags is Right Here | vMiss.net
When it comes to managing a VMware vSphere inventory, things can get crazy.  Being able to determine what a virtual machine or other vSphere object

https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/tagging-vsphere67-perf.pdf

まとめ

やっぱり使う機会はあんまりなさそうだなぁ・・・・・。