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

コスト最適化ホームページでは、次のことができます。
- はじめにリンク - このリンクにアクセスして、コスト最適化機能の詳細を確認してください。
- コスト最適化ページを確認する - コスト最適化ページに関するフィードバックを提供できます。
- データを更新する。
- アラートを表示する - 重大アラートと警告アラートの両方を表示できます。
コスト最適化ページには、次の機能が含まれています。
コスト最適化のためのコストはどのように計算されますか
1時間あたりのマシンコストは、ハイパーバイザーがサポートする通貨で表示されます。このセクションでは、Azureマシンおよびその他のマシンのコストがどのように計算されるかについて説明します。
Azureマシンのコスト
コスト計算の優先順位は次のとおりです。
- ‘Microsoft.Consumption/pricesheets/read権限が利用可能な場合、Azureサブスクリプションで構成されている通貨で実効価格が表示されます。
- 権限が利用できない場合、Azureの小売価格が表示されます。詳細については、Azure Retail Prices overviewを参照してください。
- 実効価格または小売価格が利用できない場合、Web Studioで管理者が入力したコストに基づいてコストが表示されます。詳細については、ドキュメントのMachine costセクションを参照してください。
- Web Studioでコストが指定されていない場合、デフォルトのコストとして1ドルが考慮されます。
Azureのアカウント詳細を見つけ、実効価格を見つけるために必要な権限を追加するには、次の手順を実行します。
- シトリックス DaaS に移動します。
- [ホスティング] タブをクリックして、ホスティング接続アカウントを見つけます。
-
[ホスティング] タブに記載されている [アプリケーションID] を探します。

- Azure ADに移動し、手順3でメモした [アプリケーションID] を探します。
-
「サブスクリプション > アクセス制御 (IAM)」に移動し、ホスティング接続SPN用に構成されたカスタマイズされた役割を選択します。


- Add the Microsoft.Consumption/pricesheets/read permission to the role.
Azure の小売価格を確認する方法
Microsoft.Consumption/pricesheets/readが利用できない場合、Azure の小売価格が表示されます。現在、Retail Rates Prices API を使用して、すべての Azure サービスの小売価格を取得できます。以前は、Azure サービスの価格を取得する唯一の方法は、Azure 料金計算ツールを使用するか、Azure portal を使用することでした。詳細については、Azure Retail Prices の概要を参照してください。
Azure 以外のマシンのコストを計算する
その他のマシンについては、Web Studio で管理者が入力したコストに基づいてコストが表示されます。Web Studio でコストが指定されていない場合、デフォルトのコストである1ドルが考慮されます。
データのエクスポート
データ統合とODATAクエリを使用して、コスト最適化ページでデータをエクスポートできます。データをエクスポートするには、コスト最適化ページでデータのエクスポートをクリックすると、次のオプションが表示されます。
- データ統合のセットアップ
- コスト最適化のためのODATAクエリ
![コストのエクスポート]](/ja-jp/citrix-virtual-apps-desktops/2503/media/monitor-costexport.png)
データ統合のセットアップ
コスト最適化データをMonitor Service APIと統合することで、トラブルシューティングや問題のトリアージのためのデータを収集できます。詳細については、「[統合とデータのエクスポート]」(/ja-jp/citrix-virtual-apps-desktops/2503/director/integrations-and-data-exports)ページを参照してください。
コスト最適化のためのODATAクエリ
コスト最適化ページで利用可能なサンプルODATAクエリを使用して、データをエクスポートできます。
ODATAの利用を開始する
以下のリンクは、ODATAの利用を開始するのに役立ちます。
- オーデータの概要
- Citrix CloudのOData v4エンドポイントを使用してCitrix Monitor Serviceデータにアクセスするさまざまな方法
- シトリックス モニターサービス データでオーデータ V4集計クエリを使用する
- ODataおよびAPIクライアントを使用してPowerBIをDaaS Monitorに接続する方法
- Postmanを使用してログオン時間が長いユーザーの詳細を取得する
- Monitor Serviceデータにアクセスする方法
- データアクセスプロトコル
- モニターモデル
- モニター通知
サンプルODATAクエリ
未使用のVDAを特定する
未使用のVDAを特定するには、デスクトップグループID、開始日、およびVDAの終了日を指定する必要があります。
未使用のリソースへの支出を削減するための詳細については、「Workload rightsizing」を参照してください。
サンプルクエリ:
https://<DDC URL>/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
- 開始日
- 終了日
- 終了日と開始日の間の日数差
未使用のリソースへの支出を削減するための詳細については、「Workload rightsizing」を参照してください。
サンプルクエリ:
https://[<DDC URL>|https://api-us.cloud.com/monitorodata/ResourceUtilizationSummary?$apply=filter(DesktopGroupId] /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-->
失敗したマシンの電源操作を特定する
失敗したマシンの電源操作の詳細については、「Failed power on action and Failed Power off action」を参照してください。
サンプルクエリ:
https:// <DDC URL> /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://[<DDC URL>|https://api-us.cloud.com/monitorodata/ResourceUtilizationSummary?$apply=filter(DesktopGroupId] /monitorodata/MachineCostSavingsSummaries?$apply=aggregate(TotalAmountSaved with sum as TotalAmountSavedSum)
<!--NeedCopy-->
マシンの状態を調べる
コスト削減の詳細については、コスト削減ページを参照してください。
サンプルクエリ:
https:// <DDC URL> /monitorodata/MachineCostSavingsSummaries?$filter=SummaryDate eq 2024-08-09T06:00:00Z&$select=TotalMachinesCount,PowerManagedMachinesOff,PowerManagedMachinesInHibernate,PowerManagedMachinesOnWithSessions,PowerManagedMachinesOnWithoutSessions
<!--NeedCopy-->