さくらのクラウドでビデオ会議サーバを動かしてみた

こんにちは。さくらインターネットの大喜多です。
この記事では、さくらのクラウド上にビデオ会議サーバを構築し、活用する方法をご紹介します。

はじめに

本記事で紹介するJitsi Meetは、オープンソースのビデオ会議サーバソフトウェアです。各々のPCに専用のクライアントソフトをインストールしなくても、Jitsi MeetをインストールしたサーバにWebブラウザで接続するだけでビデオ会議をおこなうことができます。本記事ではさくらのクラウドのスタートアップスクリプトを使用してJitsi Meetのサーバを作っていきます。最後に、実際に使ってみた感想についてコメントさせていただきますのでそちらも参考になさってみてください。

準備

https://secure.sakura.ad.jp/cloud/にアクセスし、さくらのクラウド コントロールパネルにログインします。

準備1:APIキーの作成

APIキーを使用すると、任意のプログラムからクラウド上のリソースに対して操作をおこなうことができます。今回使用するJitsi Meetのスタートアップスクリプトでは、DNSの設定をAPI経由でおこなうため、事前にAPIキーを作成しておく必要があります。

さくらのクラウド ホーム画面で左メニューの[APIキー]をクリックします。

今回使用するアカウントの行をダブルクリックします。さくらのクラウドではリソースの作業空間のことを「アカウント」と呼びます。詳細はドキュメントをご確認ください。

[追加]をクリックします。

「名前」に任意の文字列を入力し(ここではtestとしています)、アクセスレベルが[作成・削除]になっていることを確認したら、右下の[作成]をクリックします。

準備2:DNSゾーンの作成

今回使用するJitsi Meetのスタートアップスクリプトでは、さくらのクラウドのDNSを操作してDNSの設定をおこなうため、DNSのゾーンを作成しておく必要があります。

左メニューの[サービス]をクリックし、[さくらのクラウド(IaaS)]をクリックします。

左メニューの[グローバル]をクリックし、表示された[DNS]をクリックします。続いて右上の[追加]をクリックします。

「ゾーン名」に今回使用するドメイン名を入力し、右下の[作成]をクリックします。

本記事を執筆するにあたって、sacloud.jpドメインのサブドメインとしてjitsi.sacloud.jpドメインを作成して利用しています。さくらのクラウドのDNSでサブドメインを扱う方法については、私が以前執筆した記事を参考になさってください。

「操作確認」画面で[作成]をクリックします。

すべての項目が成功となったら[閉じる]をクリックします(今回は1つしか項目がありませんが)。

左メニューの[DNS]をクリックし、今回作成したゾーンの行をダブルクリックします。

このゾーンのDNSサーバが表示されますので、お使いのドメイン管理サービスのDNSサーバの設定をおこないます(作業内容は、私が以前執筆した記事における「メインドメインのDNS設定」を参考にしてください)。

また、追加したゾーンにはDNSレコードを登録しないよう気をつけてください(スタートアップスクリプトからDNSを操作する際にエラーになります)。

サーバの作成

左メニューの[サーバ]をクリックし、右上の[作成]をクリックします。

Jitsi Meetのインストール要件に1CPUコア、2GBメモリとされていますので、それ以上のスペックにしましょう。本記事の執筆にあたっては、最小スペックの1CPUコア、2GBメモリで作成して動作させてみました。

「アーカイブ選択」で、Ubuntu Server 18.04系の最新版を選択します(本記事執筆時は18.04.4)。

「管理ユーザのパスワード」と「ホスト名」を入力します。

「スタートアップスクリプト」で[shell]を選択し、一覧から[Jitsi Meet]を選択します。「ホスト名」に先ほど作成したDNSのゾーン名を入力し、APIキーは一覧から先ほど作成したものを選択します。

サーバの情報→名前には任意の文字列を入力し、右下の[作成]をクリックします。

「操作確認」で[作成]をクリックします。

すべての項目が成功となったら[閉じる]をクリックします。

Let's Encryptの設定

SSHでサーバにログインします。管理ユーザのユーザ名は「ubuntu」になります。

$ ssh ubuntu@jitsi.sacloud.jp

Let's Encrypt設定用のシェルスクリプトを実行します。

$ sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

メールアドレスの入力を求められますので、メールアドレスを入力します。

Enter your email and press [ENTER]: 

その後は自動的に処理が進みます。スクリプトの実行が終了したら、Webブラウザでhttps://<ドメイン名>/にアクセスしてみましょう。以下のような画面が表示されれば成功です。

まとめ:実際に使ってみた感想

今回は1CPUコア、2GBメモリの最小スペックのサーバを共有セグメント(100Mbps共有のインターネット回線)に接続して利用してみました。北海道・東京都・大阪府の複数の場所から8名程度で同時接続してビデオ会議をおこなってみましたが、特に音声が途切れるなどの不具合もなく利用することができました(こちらは筆者の体感であり、ご利用の環境により快適さなどは異なってきますのでその点はご留意ください)。

クライアントのインストールが不要な点などは、ITリテラシーがあまり高くないユーザでも気軽にビデオ会議ができて良いと感じましたが、URLがわかっていると誰でも使えてしまうので、管理者はその点に注意して運用する必要がありそうです。

サーバの構築に際しては、さくらのクラウド特有の機能を利用している関係もあり、多少慣れが必要な部分もありますが、本記事を読みながら作成いただければスムーズに作成できると思いますし、何よりLet's Encryptの設定がシェルスクリプトを実行するだけで完了するのは非常に楽です。使うときだけあげておき、使わないときはシャットダウンしておくこともできるビデオ会議サーバはさくらのクラウドに適していると思います。是非みなさんも試してみてください。