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

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

- Azure AD に移動し、手順 3 でメモした Application 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/2411/media/monitor-costexport.png)
データ統合のセットアップ
コスト最適化データを Monitor Service API と統合することで、トラブルシューティングや問題のトリアージのためのデータを収集できます。詳細については、統合とデータのエクスポートページを参照してください。
コスト最適化のためのODATAクエリ
コスト最適化ページで利用可能なサンプルODATAクエリを使用して、データをエクスポートできます。
ODATAの利用を開始する
以下のリンクは、ODATAの利用を開始するのに役立ちます。
- ODATA に関する概要
- Citrix CloudのOData v4エンドポイントを使用してCitrix Monitor Serviceデータにアクセスするさまざまな方法
- シトリックス モニター サービス データでOData V4集計クエリを使用する
- ODataおよびAPIクライアントを使用してPowerBIをDaaS Monitorに接続する方法
- Postmanを使用してログオン時間が長いユーザーの詳細を取得する
- Monitor Serviceデータにアクセスする方法
- データアクセスプロトコル
- モニターモデル
- モニター通知
サンプルODATAクエリ
未使用のVDAを検出する
未使用のVDAを特定するには、デスクトップグループID、開始日、およびVDAの終了日を指定する必要があります。
未使用のリソースへの支出を削減するための詳細については、ワークロードの適正化を参照してください。
クエリの例:
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
- 開始日
- 終了日
- 終了日と開始日の間の日数。
未使用のリソースへの支出を削減するための詳細については、ワークロードの適正化を参照してください。
クエリの例:
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-->
失敗したマシンの電源アクションを特定する
失敗したマシンの電源アクションの詳細については、電源オンアクションの失敗と電源オフアクションの失敗を参照してください。
クエリの例:
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-->