IIJ Legsを使ってお手軽にデバイスを遠隔操作してみた
はじめに
IIJ Legsというプロダクトが2019年7月8日にIIJより公開されました。これはインターネット越しのデバイス制御を非常にお手軽に実現してくれるサービスで、実際にやってみたところ確かにとても簡単でした。この記事では実際にIIJ Legsを使ってデバイスを操作してみるまでの手順をまとめます。
前提と環境
今回はラズベリーパイをIIJ Legsを使ってインターネット越しに操作してみました。
- 操作対象 : ラズベリーパイ 3 Model B
IIJ Legsについて
IIJ Legsは、SSH等は使わずに、各デバイスにインストールしたクライアントアプリを起動しておくだけで、インターネット越しにリモートからHTTPS経由(Webブラウザから)で操作できるようにしてくれるサービスです。詳細については、以下のIIJ公式ブログに記載されています。
はじめに プロダクト本部の r-fujimoto です。 今回は7月8日付で公開した IIJ Legs という新しいプロダクトの紹介をしたいと思います。 公式サ...
IIJ Legsを使用するには、まずはアカウントを作成し、その後クライアントツールを操作したいデバイスにインストールする必要があります。以降でのこの手順を説明します。
IIJ Legsアカウントを登録する
まず、ブラウザからIIJ Legsのログイン画面にアクセスします。ログイン画面のURLはこちら。 これは操作したいデバイスからではなく、操作元のパソコンで大丈夫です。以下ログイン画面の中に、「アカウント新規作成」というリンクがあるのでこれをクリックします。
「アカウントを新規作成」をクリックすると、以下のようにアカウント作成フォームが表示されるので、メールアドレスとパスワードを入力し、利用規約を読んだ上で良ければチェックを入れて「create account」をクリックします。
「create account」をクリックすると、以下のようにメールアドレスに届いているメール内のリンクをクリックするよう指示されます。
2019年7月時点では、以下のようなメールが届きました。「Confirm my account」という部分が有効化のためのリンクになっています。
youremail 様
Legsにご登録いただきありがとうございます。
アカウントを有効化するには以下のリンクをクリックしてください:
Confirm my account
リンクをクリックしてアカウントが有効化されると、ブラウザが開いてログインされます。そして以下のようにチュートリアルが表示されます。
このチュートリアルに従って、操作したいデバイスにクライアントツールをインストールします。このチュートリアルの中に、各自のシークレットキーを含むコマンドが記載されているので、これをメモしておきます。 次にこの手順について説明します。 なお、チュートリアルを閉じると、以下のようにダッシュボードが表示されますが、まだ登録されたデバイスがない状態です。
操作したいデバイスにクライアントツールをインストールする
操作したいデバイスを起動して、端末から以下のコマンドを実行してクライアントツールをインストールします。ここではラズベリーパイを使っています。
$ curl --silent https://raw.githubusercontent.com/iij/legs-client/master/install.sh | sh
また、チュートリアル内にあったコマンドをシークレットキーごとそのまま実行します。
$ ./legsc secret mkl2AOuho3AKFNKP9-235jOUHF08eH_WOIHFhfewqp8Ho3uhoU
なお、上記を実行しても以下のようにエラーが表示されるかもしれません。私の環境では表示されました。
$ ./legsc secret mkl2AOuho3AKFNKP9-235jOUHF08eH_WOIHFhfewqp8Ho3uhoU<
open /home/pi/.config/legsc/conf.toml: no such file or directory
これは指定したディレクトリがないと言っているので、事前に以下のようにlegsc
ディレクトリを作成しておくことで回避できました。/home/pi
は私のラズベリーパイのホームディレクトリです。
$ mkdir /home/pi/.config/legsc
改めてシークレットキーを登録したところ、今度は以下のようにうまくいきました。
$ ./legsc secret mkl2AOuho3AKFNKP9-235jOUHF08eH_WOIHFhfewqp8Ho3uhoU
save to /home/pi/.config/legsc/conf.toml
後は以下のコマンドでクライアントツールを起動します。
$ ./legsc start
以上でクライアントツールのインストールは完了です。そして実際にWebブラウザでIIJ Legsのダッシュボードを確認してみると、以下のように自分のラズベリーパイが表示されていることを確認できました。
Webブラウザからデバイスを操作する
あとは、IIJ Legsのダッシュボードに表示されているデバイス名をクリックし、クリックした先の画面内にある「コンソール」タブを開くと、以下のようにデバイスの端末を操作できます。遅延もないです。
まとめ
IIJ LegsでIoTデバイスの遠隔制御などは圧倒的にお手軽になりそうな感じです。ちなみにAPIも用意されています。2019年7月時点では、5台のデバイスまでは無料でお試しできるので興味がある方はぜひ触ってみてください。
関連記事
- 公開日:2020/02/16 更新日:2020/02/16
圧縮、暗号化、リモート対応の差分バックアップを作成できる「Borg Backup」の使い方
圧縮、暗号化に対応し差分バックアップを作成できるソフトウェアである「Borg Backup」をUbuntuにインストールして使ってみたのでその手順をまとめます。「Borg Backup」はLinux、macOSに対応しています。
- 公開日:2020/02/14 更新日:2020/02/14
自分専用の後で読むサービスを構築できる「Wallabag」をUbuntu + Nginxで構築する手順
後で読むサービスのPocketにかなり近く、機能豊富なオープンソースのWallabagをUbuntuにインストールしたのでその手順をまとめます。
- 公開日:2020/02/12 更新日:2020/02/12
ファイル単位で暗号化して保存できるCryptomatorをインストールして使う手順
Cryptomatorは、ファイル単位での暗号化が可能なソフトウェアです。この記事では、UbuntuにCryptomatorをインストールする手順と使い方をまとめます。
- 公開日:2020/01/22 更新日:2020/01/22
WireGuardでVPNサーバーを構築してスマホやPCから接続する手順
WireGuardはOpenVPNよりもシンプルで高速、より安全なVPNとして開発が進められており、OpenVPNに代わるVPNとして期待されています。この記事ではWireGuardを使ってVPNサーバーを構築し、そのVPNサーバーにUbuntuやiPhoneから実際に接続してみるまでの手順をまとめます。
- 公開日:2020/01/17 更新日:2020/01/17
ディレクトリ表示や移動をインタラクティブに実行できるコマンドツール「Broot」
Linuxで端末を使っている時にディレクトリ構造をざっくり確認したり各ディレクトリにどのようなファイルが入っているかを確認したりしたい場合があると思います。Brootはディレクトリ構造を表示しつつさらにそこから各ディレクトリに移動したりファイルを検索したりできるコマンドラインツールです。