コスト最適化
Citrix Monitorは、仮想マシンとセッションの使用状況を効果的に分析するのに役立つ「コスト最適化」と呼ばれる新機能を導入しました。この機能は、コストを最適化する方法について洞察に満ちた視覚的な表現を提供します。また、不要なマシンを排除し、それによってコストを削減するのにも役立ちます。
コスト最適化をサポートするために、次のアラートも導入されました。
最近の電源アクションを持つマシンを検査して、ユーザーの問題を引き起こす起動失敗と、コストを増加させるシャットダウン失敗を分析することもできます。詳細については、「最近の電源アクションを持つマシンを検査する」セクションを参照してください。
ホームページの左メニューからコスト最適化タブをクリックして、コスト最適化ページにアクセスします。

コスト最適化ホームページでは、次のことができます。
- 開始リンク - このリンクにアクセスして、コスト最適化機能の詳細を確認してください。
- コスト最適化ページを確認する - コスト最適化ページに関するフィードバックを提供できます
- データを更新します。
- アラートを表示する - 重大アラートと警告アラートの両方を表示できます。
- データをエクスポート
コスト最適化ページには、次の機能が含まれています。
コスト最適化のコストはどのように計算されますか
マシンあたりの時間コストは、ハイパーバイザーがサポートする通貨で表示されます。このセクションでは、Azure マシンおよびその他のマシンのコストがどのように計算されるかについて説明します。
Azure マシンのコスト
コスト計算の優先順位は次のとおりです。
-
‘Microsoft.Consumption/pricesheets/read 権限が利用可能な場合、Azure サブスクリプションで構成されている通貨で実効価格が表示されます。このコスト計算方法はプレビュー版です。
-
権限が利用できない場合、Azure の小売価格が表示されます。詳細については、Azure の小売価格の概要 を参照してください。
注:
実効価格または小売価格の詳細を取得できるように、
https://prices.azure.comエンドポイントへのアクセス権があることを確認してください。 - 実効価格または小売価格が利用できない場合、Web Studio で管理者が入力したコストに基づいてコストが表示されます。詳細については、ドキュメントの マシンコスト セクションを参照してください。
- Web Studio でコストが指定されていない場合、デフォルトのコストとして 1 ドルが考慮されます。
Azure のアカウント詳細を確認し、実効価格を見つけるために必要な権限を追加するには、次の手順を実行します。
- Citrix DaaS に移動します。
- Hosting タブをクリックして、ホスティング接続アカウントを見つけます。
-
「Hosting」タブに記載されているApplication IDを探します。
Hostingタブ(/en-us/citrix-daas/media/daas-azure-hosting.png)
- Microsoft Entra IDに移動し、手順3でメモしたApplication IDを探します。
-
Subscription > Access control (IAM) に移動し、ホスティング接続SPN用に構成されたカスタマイズされた役割を選択します。
Azure ポータル(/en-us/citrix-daas/media/azure-portal.png)
Azure portalのサブスクリプション(/en-us/citrix-daas/media/azure-portal-subscriptions.png)
- 役割にMicrosoft.Consumption/pricesheets/read権限を追加します。
Azure小売価格を確認する方法
Microsoft.Consumption/pricesheets/readが利用できない場合、Azure小売価格が表示されます。これで、Retail Rates Prices APIを使用して、すべてのAzureサービスの小売価格を取得できます。以前は、Azureサービスの価格を取得する唯一の方法は、Azure Pricing Calculatorを使用するか、Azure portalを使用することでした。詳細については、Azure Retail Prices overviewを参照してください。
Azure以外のマシンのコスト計算
その他のマシンの場合、コストはWeb Studioで管理者が入力したコストに基づいて表示されます。Web Studioでコストが指定されていない場合、デフォルトのコスト$1が考慮されます。
データのエクスポート
Cost optimizationページでは、データ統合とODATAクエリを使用してデータをエクスポートできます。データをエクスポートするには、Cost optimizationページでExport dataをクリックすると、次のオプションが表示されます。
- データ統合のセットアップ
- コスト最適化のためのODATAクエリ

データ統合のセットアップ
コスト最適化データをMonitor Service APIと統合することで、問題のトラブルシューティングとトリアージのためにデータを収集できます。詳細については、統合とデータのエクスポートページを参照してください。
コスト最適化のためのODATAクエリ
コスト最適化ページで利用可能なODATAサンプルクエリを使用して、データをエクスポートできます。
ODATAの開始
以下のリンクは、ODATAの使用を開始するのに役立ちます。
- ODATAの概要
- Citrix CloudのOData v4エンドポイントを使用してCitrix Monitor Serviceデータにアクセスするさまざまな方法
- Citrix Monitor ServiceデータでOData V4集計クエリを使用する
- ODataおよびAPIクライアントを使用してPowerBIをDaaS Monitorに接続する方法
- Postmanを使用してログオン時間が長いユーザーの詳細を取得する
- Monitor Serviceデータへのアクセス方法
- データアクセスプロトコル
ODATAサンプルクエリ
未使用のVDAを特定する
未使用のVDAを特定するには、デスクトップグループID、VDAの開始日、および終了日を指定する必要があります。
未使用のリソースへの支出を削減するための詳細については、「ワークロードの適正化」を参照してください。
サンプルクエリ:
https://api-us.cloud.com/monitorodata/ResourceUtilizationSummary?$apply=filter(DesktopGroupId eq desktop-group-id and granularity eq 1440 and SummaryDate ge startdate and SummaryDate lt enddate)/groupby((MachineId), aggregate(cast(TotalSessionCount, Edm.Int32) with average as AvgTotalSessionCount))/filter(AvgTotalSessionCount eq 0.0)/aggregate($count as UnusedVDACount)
<!--NeedCopy-->
1日の平均稼働時間(分)を特定する
1日の平均稼働時間(分)を特定するには、以下を指定する必要があります。
- デスクトップグループID
- 開始日
- 終了日
- 終了日と開始日の間の日数。
未使用のリソースへの支出を削減するための詳細については、「ワークロードの適正化」を参照してください。
サンプルクエリ:
https://api-us.cloud.com/monitorodata/ResourceUtilizationSummary?$apply=filter(desktopGroupId eq desktop-group-id and granularity eq 1440 and SummaryDate ge startdate and SummaryDate lt enddate)/groupby((MachineId), aggregate(cast(UptimeInMinutes, Edm.Int32) div day-difference with sum as TotalUptimeInMinutes))/aggregate(TotalUptimeInMinutes with average as DailyAverageUptimeInMinutes)
<!--NeedCopy-->
失敗したマシンの電源操作を特定する
失敗したマシンの電源操作の詳細については、「電源オンアクションの失敗と電源オフアクションの失敗」を参照してください。
サンプルクエリ:
https://api-us.cloud.com/monitorodata/Machines?$filter=LifecycleState eq 0 and DesktopGroup/SessionSupport eq 1 and (cast(LastPowerActionReason,'Edm.Int32') eq 6 or cast(LastPowerActionReason,'Edm.Int32') eq 7 or cast(LastPowerActionReason,'Edm.Int32') eq 8) and (cast(LastPowerActionFailureReason,'Edm.Int32') eq 300 or cast(LastPowerActionFailureReason,'Edm.Int32') eq 402 or cast(LastPowerActionFailureReason,'Edm.Int32') eq 401) and MachineRole eq 0&$orderby=Name&$skip=0&$top=50&$expand=DesktopGroup($select=Name)&$select=Sid,Id,Name,IsAssigned,IPAddress,FaultState,LastDeregisteredCode,FailureDate,CurrentPowerState,CurrentSessionCount,IsInMaintenanceMode,LastPowerActionFailureReason,LastPowerActionCompletedDate
<!--NeedCopy-->
合計節約額を確認する
コスト削減の詳細については、コスト削減ページを参照してください。
サンプルクエリ:
https://api.cloud.com/monitorodata/MachineCostSavingsSummaries?$apply=aggregate(TotalAmountSaved with sum as TotalAmountSavedSum)
<!--NeedCopy-->
マシンの状態を確認する
コスト削減の詳細については、コスト削減ページを参照してください。
サンプルクエリ:
https://api.cloud.com/monitorodata/MachineCostSavingsSummaries?$filter=SummaryDate eq 2024-08-09T06:00:00Z&$select=TotalMachinesCount,PowerManagedMachinesOff,PowerManagedMachinesInHibernate,PowerManagedMachinesOnWithSessions,PowerManagedMachinesOnWithoutSessions
<!--NeedCopy-->