こんにちは、シトリックスのパートナーSE部でマネージャーをしております佐藤紀之(さとうのりゆき)です。

今年5月に開催された年次プライベートイベント「Synergy」には多くのパートナー様が米国・アトランタにお越しいただきました。「Synergy」にはデモ見学があり、Amazon Echoといった音声認識システムとWorkspace連携の実演もありましたが、今回のブログでは、シトリックスの認定ディストリビューターである株式会社ネットワールドの海野航(うんのわたる)さんより寄稿いただいた『PowerShellとAlexaで実現するVirtual Apps and Desktopsの超簡単オペレーション』をご紹介させていただきます。

【PowerShellとAlexaで実現するVirtual Apps and Desktopsの超簡単オペレーション】

こんにちは、ネットワールドの海野です。
2013年のネットワールド入社以来、Citrix製品を担当しており、さまざまなお客様へのご提案や実環境の設計・構築、トラブルシューティングのご相談などを承っています。
2019年からはソリューションアーキテクトとして、EUC以外にもハイパーコンバージド製品やクラウドソリューション、バックアップ製品などを担当しています。
また、ネットワールドではCitrix製品をはじめとする各種取扱製品のセミナーを開催しており、そのセミナーで登壇することも多々あります。

◆はじめに

Citrix Virtual Apps and Desktops のソフトウェア開発キット「Delivery Controller SDK 」を利用することにより、繰り返し行う複雑なタスクを自動化できます。
<https://docs.citrix.com/ja-jp/citrix-virtual-apps-desktops/sdk-api.html>
この記事ではこのSDKとAmazon Echo (*1) を組み合わせて、ちょっとユニークなVirtual Desktopsの展開方法をご紹介します。

◆Amazon Alexa を使ったMCS展開

みなさまもご存知のAmazon Alexa (*2) ですが、開発者が独自に機能を持たせたスキルを作成することができます。ここではCITRIXという独自スキルを作成し、「MCSの展開」、「仮想マシンの再起動」、「メンテナンスモードの有効化・無効化」を操作できます。

デモ動画もご覧ください。

注: この動画を撮影した2017年8月時点では日本ではAmazon Echoは未発売だったため、Raspberry Pi 3 (*3) にAVS (Alexa Voice Service) (*4) を設定して、Amazon Echo互換デバイスを作成しました。

◆Citrix スキルの裏側とは

このスキルは複数のクラウドレイヤーで構成されており、以下のフローで処理されます。

  1. Alexaに音声を入力する
  2. AWS Lambda(ラムダ)(*5) がオペレーションを解釈する
  3. 解釈した結果に応じて、Azure Automation (*6)上のRunbook(Webhook)のRest API (*7) をLambdaが実行する
  4. Azure AutomationのHybrid Cloud Worker (*8) となっているオンプレミスのDelivery ControllerがPowerShellを実行する

◆まとめ

Citrix Virtual Desktops and AppsのDelivery Controller SDKを使うことで、いろいろな機能を柔軟に運用することができます。今回はMCS展開のインターフェイスとしてAlexaを紹介しましたが、実際のネットワールド社内ではMicrosoft Flow (*9) による操作が最も頻繁に利用されます。Microsoft Flowのバーチャルボタンを使用すると、声さえも出すことなくスマートフォンのタップだけでさまざまな操作ができるようになります。
今回はちょっと変わったおもしろネタというテイストでのSDK利用例でしたが、みなさまもCitrix環境の運用の簡素化が期待できるSDKの利用にぜひ挑戦してみてください。

◆出典:Blog中の名称や機材名について

*1: Echo & Alexa
https://www.amazon.co.jp/b/?ie=UTF8&node=5364343051&ref_=fs_ods_fs_aucc_cp

*2: Alexaとできること
https://www.amazon.co.jp/meet-alexa/b?ie=UTF8&node=5485773051

*3: Teach, Learn, and Make with Raspberry Pi
https://www.raspberrypi.org/

*4: Alexa Voice Service
https://developer.amazon.com/ja/alexa-voice-service

*5: AWS Lambda とは
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html

*6: Azure Automation のユーザー ドキュメント
https://docs.microsoft.com/ja-jp/azure/automation/

*7: Starting an Azure Automation runbook with a webhook
https://docs.microsoft.com/ja-jp/azure/automation/automation-webhooks

*8: Automate resources in your datacenter or cloud by using Hybrid Runbook Worker
https://docs.microsoft.com/ja-jp/azure/automation/automation-hybrid-runbook-worker

*9: プロセスとタスクの自動化 | Microsoft Flow
https://flow.microsoft.com/ja-jp/