コスト最適化
Citrix Director には、仮想マシンとセッションの使用状況を効果的に分析するのに役立つ、コスト最適化と呼ばれる新機能が導入されました。この機能は、コストを最適化する方法について洞察に満ちた視覚的な表現を提供します。また、不要なマシンを排除し、それによってコストを削減するのにも役立ちます。
コスト最適化をサポートするために、次のアラートも導入されました。
最近の電源操作を行ったマシンを検査して、ユーザーの問題を引き起こす電源オンの失敗や、コストを増加させる電源オフの失敗を分析することもできます。詳細については、「最近の電源操作を行ったマシンの検査」セクションを参照してください。
ホームページの左メニューからコスト最適化タブをクリックして、コスト最適化ページにアクセスします。
コスト最適化ホームぺージでは、次のことができます。
-
開始リンク - このリンクにアクセスして、コスト最適化機能の詳細を確認してください。
-
コスト最適化ページを確認する - コスト最適化ページに関するフィードバックを提供できます
-
データを更新します。
-
警告を表示する - 重大アラートと警告アラートの両方を表示できます。
コスト最適化ページには、次の機能が含まれています。
-
インフラストラクチャの適正化
コスト最適化のコストはどのように計算されますか?
マシンあたりの時間コストは、ハイパーバイザーがサポートする通貨で表示されます。このセクションでは、Azure マシンとその他のマシンのコストがどのように計算されるかについて説明します。
Azureマシンのコスト
コスト計算の優先順位は次のとおりです:
-
'Microsoft.Consumption/pricesheets/read 権限が利用可能な場合、有効価格は、Azure サブスクリプションで構成されている通貨で表示されます。
-
権限が利用できない場合、Azure の小売価格が表示されます。詳細については、「Azure Retail Prices overview」を参照してください。
-
有効価格または小売価格が利用できない場合、コストは管理者が Web Studio で入力したコストに基づいて表示されます。詳細については、ドキュメントの「Machine cost」セクションを参照してください。
-
Web Studio にコストが記載されていない場合、デフォルトのコストとして 1 ドルが考慮されます。
Azure のアカウント詳細を確認し、有効価格を見つけるために必要な権限を追加するには、次の手順を実行します。
-
Citrix DaaS に移動します。
-
ホスティングタブをクリックして、ホスティング接続アカウントを見つけます。
-
ホスティングタブに記載されているアプリケーション IDを探します。ホスティングタブ(/en-us/citrix-virtual-apps-desktops/2503/media/daas-azure-hosting.png)
-
Azure AD に移動し、手順 3 でメモしたアプリケーション IDを探します。
-
サブスクリプション > アクセス制御 (IAM) に移動し、ホスティング接続 SPN 用に構成されたカスタムロールを選択します。Azure ポータル(/en-us/citrix-virtual-apps-desktops/2503/media/azure-portal.png)

-
ロールに Microsoft.Consumption/pricesheets/read 権限を追加します。
Azureの小売価格を確認する方法?
Microsoft.Consumption/pricesheets/read が利用できない場合、Azure の小売価格が表示されます。現在、Retail Rates Prices API を使用して、すべての Azure サービスの小売価格を取得できます。以前は、Azure サービスの価格を取得する唯一の方法は、Azure Pricing Calculator を使用するか、Azure ポータルを使用することでした。詳細については、Azure Retail Prices の概要 を参照してください。
Azure 以外のマシンのコスト計算
その他のマシンについては、Web Studio で管理者が入力したコストに基づいてコストが表示されます。Web Studio でコストが指定されていない場合、デフォルトのコスト $1 が考慮されます。
データのエクスポート
コスト最適化ページで、データ統合と ODATA クエリを使用してデータをエクスポートできます。データをエクスポートするには、コスト最適化ページでデータのエクスポートをクリックすると、次のオプションが表示されます。
-
データ統合のセットアップ
-
コスト最適化のための ODATA クエリ
データ統合のセットアップ
コスト最適化データを Monitor Service API と統合することで、トラブルシューティングや問題のトリアージのためのデータを収集できます。詳細については、統合とデータのエクスポート ページを参照してください。
コスト最適化のためのODATAクエリ
コスト最適化ページで利用可能なサンプルODATAクエリを使用して、データをエクスポートできます。
ODATAの利用を開始する
サンプル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)
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)
失敗したマシンの電源アクションを特定する
失敗したマシンの電源アクションの詳細については、電源オンアクションの失敗と電源オフアクションの失敗を参照してください。
クエリの例:
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
合計節約額を特定する
コスト削減の詳細については、コスト削減ページを参照してください。
サンプルクエリ:
https://[<DDC URL>|https://api-us.cloud.com/monitorodata/ResourceUtilizationSummary?$apply=filter(DesktopGroupId] /monitorodata/MachineCostSavingsSummaries?$apply=aggregate(TotalAmountSaved with sum as TotalAmountSavedSum)
マシンの状態を確認する
コスト削減の詳細については、コスト削減ページを参照してください。
サンプルクエリ:
https:// <DDC URL> /monitorodata/MachineCostSavingsSummaries?$filter=SummaryDate eq 2024-08-09T06:00:00Z&$select=TotalMachinesCount,PowerManagedMachinesOff,PowerManagedMachinesInHibernate,PowerManagedMachinesOnWithSessions,PowerManagedMachinesOnWithoutSessions