Info2softは、ウェブサイトでより快適で適切な閲覧体験を提供するためにCookieを使用しています。 プライバシーポリシー
Loading...
VMware環境が拡大する状況において、リソース状況の把握は日常業務にとどまらず、セキュリティ対策、キャパシティ計画、災害復旧を実現するための必須事項です。VMのデータがvCenter画面内に閉じ込められたままでは、状況把握に一歩遅れることになります。
本ガイドでは余談を省き、VM一覧を出力する4つの専門的な手法を紹介します。簡単なGUI出力から高速な自動化手段まで網羅。簡易な状況レポート作成でも、詳細な技術監査でも、現場で検証済みの手法により、インフラデータを即座に把握可能にします。
i2BackupはVMware仮想マシンに対するエージェントレス型自動バックアップを提供。瞬時リカバリーと、vCenter環境全体の一元管理を実現します。i2Backupの仕組みを確認する »
多くの管理者にとって、標準搭載のvSphere Client GUIは最も手軽にvSphere仮想マシン台帳を出力できる手段です。スクリプト知識は不要で、ブラウザ上で直接実行できます。
この手法は簡易監査、状況レポートを必要とする非技術系管理者、自動化の優先度が低い小規模環境に適しています。即時にクリーンな台帳スナップショットを取得したい場合に最適です。
手順はvCenterのバージョンにより若干異なります。最新環境の操作手順は以下の通りです。
複数のホストを管理している場合、PowerCLIが最も標準的な手段です。PowerShellを基盤としたVMware公式のコマンドラインツールであり、出力項目を自由に設定可能で、数千台のVMの情報を瞬時に取得できます。GUI操作では膨大な手間となる作業を効率化します。
PowerCLIでvCenterから一覧を出力すれば、台帳データを整った形式で繰り返し取得でき、正式なレポート作成に適します。
手順1:PowerCLIをインストール
初めて利用する場合は、PowerShellを管理者権限で起動し、下記コマンドを実行します。
Install-Module -Name VMware.PowerCLI -Scope CurrentUser -Force
手順2:vCenterサーバーへ接続
プレースホルダーを実際のサーバー情報に置き換えて実行します。
Connect-VIServer -Server <vCenter-IP/FQDN> -User -Password
手順3:全VMを出力(基本一覧)
標準項目を取得しCSVファイルへ保存するコマンドです。
Get-VM | Export-Csv -Path "C:\vCenter_VM_List.csv" -NoTypeInformation -Encoding UTF8
手順4:カスタム項目出力(実務向け高度な手法)
台帳作成に必要なIPアドレス、UUIDなどの情報を取得したい場合は、下記の高度なスクリプトを利用します。
Get-VM | Select-Object Name, @{N="IP Address";E={$_.Guest.IPAddress -join ","}}, NumCpu,
MemoryGB, VMHost, Datastore, UUID | Export-Csv -Path "C:\Custom_VM_List.csv"
-NoTypeInformation -Encoding UTF8
手順5:接続を切断(推奨運用ルール)
処理完了後はセッションを切断し、vCenterのリソースを解放します。
Disconnect-VIServer -Server * -Confirm:$false
開発者やDevOps担当者には、vCenter REST APIを活用したVM一覧取得が最も強力な手段となります。vSphere Automation APIを活用すれば、台帳情報を独自ダッシュボード、CMDB、CI/CDパイプラインと直接連携させ、手動ツールに依存せず運用できます。
本手法を利用するにはPythonとrequestsライブラリを導入する必要があります。下記スクリプトは認証処理、データ取得、CSV出力まで一括で実行します。
手順1:認証を実行しセッショントークンを取得
最初にvCenterと安全なセッションを確立し、認証トークンを取得します。
import requests
import csv
from requests.packages.urllib3.exceptions import InsecureRequestWarning
# 自己署名証明書によるSSL警告を抑制
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
vcenter_ip = ""
username = ""
password = ""
# 認証トークン取得
auth_url = f"https://{vcenter_ip}/rest/com/vmware/cis/session"
response = requests.post(auth_url, auth=(username, password), verify=False)
token = response.json()["value"]
headers = {"vmware-api-session-id": token}
手順2:VM情報を取得
認証完了後、vcenter/vmエンドポイントに問い合わせ、台帳の生データを取得します。
vm_url = f"https://{vcenter_ip}/rest/vcenter/vm"
vm_response = requests.get(vm_url, headers=headers, verify=False)
vm_data = vm_response.json()["value"]
手順3:データを整形しCSVへ出力
最後にJSONレスポンスを走査し、指定項目をローカルCSVファイルへ書き出します。
with open("vCenter_VM_List_API.csv", "w", newline="", encoding="utf8") as f:
writer = csv.writer(f)
# ヘッダー定義
writer.writerow(["VM名", "電源状態", "CPUコア数", "メモリ(GB)"])
for vm in vm_data:
# MiBをGBに換算し可読性を向上
memory_gb = vm.get("memory_size_MiB", 0) / 1024
writer.writerow([vm["name"], vm["power_state"], vm["cpu_count"], memory_gb])
print("出力完了:vCenter_VM_List_API.csv")
より詳細な技術情報や環境別の柔軟性を求める管理者には、業界で普及している2種類のツールがおすすめです。
VM一覧の出力はインフラの可視化を実現する第一歩に過ぎず、可視化だけではデータ損失を防ぐことはできません。台帳出力により重要な業務システムを把握した後は、確実な保護体制を構築することが重要です。
i2Backup は堅牢なエージェントレスバックアップソリューションにより、「環境把握」から「資産保護」へスムーズにつなげます。
適切な出力手法の選択は目的により異なります。迅速な取得にはvSphere Client、大規模運用にはPowerCLI、システム連携にはREST API、詳細な環境監査にはサードパーティツールを活用してください。
ただしCSVファイルはあくまで一時的なスナップショットであることに留意してください。インフラ環境を真に制御するには、台帳情報を活用し、耐障害性の高いデータ運用方針を定める必要があります。手動による台帳管理からi2Backupのような自動化されたエージェントレスソリューションへ移行することで、把握したすべてのVMを確実に保護し、リカバリー可能な状態を維持できます。単なる資産のリスト作成から、資産の保護へ一歩進めましょう。