Citrix Virtual Apps and Desktops

コスト最適化

Citrix Director に、仮想マシンとセッションの利用状況を効果的に分析するのに役立つ、コスト最適化という新機能が導入されました。この機能は、コストを最適化する方法について洞察に満ちた視覚的な表現を提供します。また、不要なマシンを排除し、それによってコストを削減するのにも役立ちます。

コスト最適化をサポートするために、以下の警告も導入されています。

最近の電源アクションを持つマシンを検査して、ユーザーの問題を引き起こす電源オンの失敗や、コストを増加させる電源オフの失敗を分析することもできます。詳細については、「最近の電源アクションを持つマシンの検査」セクションを参照してください。

ホームページの左メニューからコスト最適化タブをクリックすると、コスト最適化ページにアクセスできます。

コスト最適化ページ

コスト最適化ホームページでは、以下のことができます。

  • 開始リンク - このリンクにアクセスして、コスト最適化機能の詳細を確認
  • コスト最適化ページのレビュー - コスト最適化ページに関するフィードバックを提供
  • データを更新
  • 警告の表示 - 重大および警告の両方の警告を表示

コスト最適化ページには、以下の機能が含まれています。

コスト最適化の計算方法

マシンあたりの時間コストは、ハイパーバイザーがサポートする通貨で表示されます。このセクションでは、Azure マシンとその他のマシンについてコストがどのように計算されるかを説明します。

Azure マシンのコスト

コスト計算の優先順位は次のとおりです。

  1. ‘Microsoft.Consumption/pricesheets/read 権限が利用可能な場合、Azure サブスクリプションで構成されている通貨で実効価格が表示されます。
  2. 権限が利用できない場合、Azure の小売価格が表示されます。詳細については、「Azure Retail Prices の概要」を参照してください。
  3. 実効価格または小売価格が利用できない場合、Web Studio で管理者が入力したコストに基づいてコストが表示されます。
  4. Web Studio でコストが指定されていない場合、デフォルトのコスト $1 が考慮されます。

Azure のアカウント詳細を見つけ、実効価格を見つけるために必要な権限を追加するには、次の手順を実行します。

  1. Citrix DaaS に移動します。
  2. ホスティングタブをクリックして、ホスティング接続アカウントを見つけます。
  3. ホスティングタブに記載されているアプリケーション ID を探します。

    ホスティングタブ

  4. Microsoft Entra ID に移動し、手順 3 でメモしたアプリケーション ID を探します。
  5. サブスクリプション > アクセス制御 (IAM) に移動し、ホスティング接続 SPN 用に構成されたカスタマイズされたロールを選択します。

    Azure ポータル

    Azure ポータルサブスクリプション

  6. ロールに 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 の使用を開始するのに役立ちます。

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-->
コスト最適化