[アップデート]WorkSpacesで使えるクラウドネイティブなストリーミングプロトコル「Amazon WorkSpaces Streaming Protocol」がGAされました!

嬉しいな WorkSpacesでも 映れるよ(字余り)
2020.12.04

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

re:Inventと日本の時差の洗礼を改めて受けています。

▲ つまり「眠い」です

こんにちは。AWS事業本部のShirotaです。
皆さんはre:Invent、楽しんでいますかー?(コール&レスポンス)
この時点で結構インパクトの大きい新サービスの発表が相次いでいて、例年より長い期間のre:Inventで「まだ何か出てくるのか?」と戦々恐々しています。
さて、そんな中でベータ版から遂にGA(一般提供)されたあるものを今回はご紹介させて頂きます。

満を持して遂にGA!

2019年11月、Amazon WorkSpaces Streaming Protocol(以下 WSP)はベータ版として登場しました。

それから約一年が経ち、 2020年12月1日にWSPがGA(一般提供)されました!

今までのストリーミングプロトコルのおさらい

早速WSPの話に行く……前にここで改めて、WorkSpacesで今まで利用されていたプロトコルについておさらいしておきましょう。
WorkSpacesは、PC-over-IP(PCoIP)プロトコルがデフォルトで採用されていました。
PCoIPはカナダのTeradiciが開発した画面転送プロトコルです。デスクトップ出力をテキストやグラフィックスと言ったように分類して、圧縮やデータ転送の優先度をつけることで柔軟に最適化した通信を行うことができます。そのため、低速回線でもパフォーマンスを維持することが可能になっています。
PCoIPについて、より詳細な機能などについてを知りたい場合は、以下のリンク先ページを参考にして下さい。

WSPは何が嬉しいか

ここからは、今回GAになったWSPでは何が嬉しいのかということについてお話しします。

機能更新等があった時に自動でWorkSpacesの管理をしてくれる

マネージドなAWSのプロトコルであり、WSP自体がWorkSpacesから切り離されております。そのため、WSPに機能追加や更新があった際に手動でWorkSpacesの更新を行う必要が無く、管理コストが少なくなっています。

双方向でビデオ通信が可能になる

WSP対応のWorkSpacesでは、新たにビデオ通信が可能になりました。(2020年12月4日現在 ベータ版としての提供となっております)

▲ PCoIP対応のWorkSpaceのデバイスマネージャー画面

▲ WSP対応のWorkSpaceのデバイスマネージャー画面

上記を比較して頂けると分かりやすいと思いますが、WSP対応のWorkSpaceには「Amazon Virtual Camera」というデバイスが増えています。
今回は折角なので、実際にWorkSpaceからこのカメラを利用するところも試してみようと思います。

早速使ってみた

事前準備

もし、既存のWorkSpaces環境を使っていた場合は、WSPの利用に当たって新たに用意する必要のあるものがあります。

  • 4195ポートの開放(WSPで利用するポート)
  • (ネットワーク制限をしている環境では)WSPゲートウェイサーバへのアクセス許可
  • WSP対応のバンドル

今回の検証環境

  • WorkSpacesクライアント(MacOS用) 3.1.0
    • 2020年12月4日現在、最新のクライアント
  • WorkSpacesバンドル(Standard with Windows 10 (WSP)日本語)

WSPで接続してみた

早速WSPで接続していこうと思います。

まずは、WorkSpaceの起動までを一通り済ませておきます。
WorkSpaceの起動までを詳しく知りたい方は、以下ブログを参考にして下さい。丁寧な手順が書かれております。

今回は、AWSから提供されているバンドルを利用してWorkSpaceを起動しました。

▲ 絞り込んで探すと便利です

ログインしてみたところ、すぐに違いは見つけられなかったのですが、以下画像の「Connections」タブを開くと、新たに「Devices」の項目が増えていました。

▲ 「Use on WorkSpace」を選択します

私のPCには、バーチャル本体でミーティングなどに参加する用に仮想カメラデバイスが入っています。上記画像の一番目にある「CamTwist」がそれに当たります。(二番目にあるのがMacBook Proの内蔵カメラです)
折角なので、今回はWorkSpaceからでもバーチャル本体でミーティングに出られるようになるために、仮想カメラをWorkSpaceで使う設定にしてみました。

さて、実際にカメラを使ってみます。
まず、WorkSpaceでGoogle Meetに入ってみます。
カメラをオンにすると、以下のようなポップアップが表示されました。

▲ もちろん許可して映り込みます

この時の動画の設定も確認してみます。

▲ 先程のデバイスだけが選べるようです

今回、選べるデバイスはこれ一種類のようでした。
前に紹介しました「Devices」の設定では、複数のデバイスをWorkSpaceで利用する設定が入れられましたが、選択できるデバイスがこれ一つのみであり、Devicesで上位に表示されるデバイスが優先して設定されているような挙動が確認できました。
また、AvsCameraとは何ぞや?と思って調べたところ、Microsoftが提供しているストリーミングをサポートしているドライバーとのことでした。

さて、実際にカメラをオンにしてMeetに参加してみましょう。

▲ 自分(物理)と自分(バーチャル)のミーティング会場です

自分のPCで3Dモデルを表示したり、仮想カメラデバイスを利用したりと思いっきり負荷をかけているため、映像は少々乱れ気味になってしまいましたがWorkSpaceでカメラを利用できることが確認できました!

おまけに、WorkSpaceで内蔵カメラを利用することも試してみました。
左がWorkSpaceで内蔵カメラを利用したもので、右がMacBook Proで仮想カメラを利用したものになっています。

▲ 中の人?何の話ですかね

既存WorkSpaces環境でWSPを使い始める時に気をつけておくといいこと

今回、実際にWSP対応のバンドルを利用してみたのですが、新規にディレクトリやWorkSpaces環境を用意したので特に問題は発生しませんでした。
ここからは、既存のWorkSpaces環境を持っている場合に起こる可能性がありそうなことについて考えてみました。

同一ユーザで新規に別プロトコルのWorkSpaceを作ることは避ける

これを行おうとするとエラーが発生します。
プロトコル問わずWorkSpaceの作成ルールに反する行為であるためです。
ユーザーに対して複数の WorkSpace を作成する - Amazon WorkSpaces には、以下のような記載があります。

デフォルトでは、ディレクトリごとに 1 ユーザーあたり 1 つの WorkSpace のみ作成できます。ただし、必要に応じて、ディレクトリ設定に応じて、1 ユーザーに対して複数の WorkSpace を作成できます。

▲ こういった環境は作れない

別ユーザを作成して、以下のように1ディレクトリに複数のプロトコルのWorkSpaceを作成することは可能です。

▲ このパターンは可能

同一ユーザで異なるプロトコルのWorkSpaceを利用したい場合は、以下のように複数ディレクトリを用意することで実現することは可能です。

▲ これならできる

利用しているバンドルが移行できるものかどうかを確認すること

WorkSpacesのバンドルには、様々な移行の制約が存在します。
なので、今使っているPCoIP対応のバンドルをWSP対応のバンドルに移行できるかどうかは前もって確認しておくことをおすすめします。
今回、パブリックのStandard with Windows 10(PCoIP)をStandard with Windows 10(WSP)に移行するのを試してみましたが、この場合は移行ができることが確認できました。
以下、AWSの公式ドキュメントに詳細なバンドル移行パターンの可否が記載されているのでこちらを参考にして下さい。

これからのアップデートに期待したい

個人的には、WSPがGAされたことでビデオ通信が可能になったところがとても熱いアップデートだと思いました。
またWSPの特性上、これからアップデートも頻繁に行われて品質はどんどん良くなるのではないかと考えております。ワクワクしますね!

このブログが、WSPの導入を検討されていたり、WSPについて知りたい人の助けになれば幸いです。