こんにちは、シトリックスのパートナー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 スキルの裏側とは
このスキルは複数のクラウドレイヤーで構成されており、以下のフローで処理されます。
- Alexaに音声を入力する
- AWS Lambda(ラムダ)(*5) がオペレーションを解釈する
- 解釈した結果に応じて、Azure Automation (*6)上のRunbook(Webhook)のRest API (*7) をLambdaが実行する
- 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/