Apache Guacamole とは?

Apache Guacamole

Apache Guacamole

NRIのOpenStandiaが提供するApache Guacamole最新情報

Testの保守サポートサービスの内容はこちら Testの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

Apache Guacamoleバージョンアップ情報

■2022-03-01
[VerUP]Apache Guacamole 1.4.0(リリース日:2022/01/01)
■2022-03-01
[VerUP]Apache Guacamole 1.3.0(リリース日:2021/01/01)
■2022-03-01
[VerUP]Apache Guacamole 1.2.0(リリース日:2020/06/28)
■2022-03-01
[VerUP]Apache Guacamole 1.1.0(リリース日:2020/01/29)
■2022-03-01
[VerUP]Apache Guacamole 1.0.0(リリース日:2019/01/08)
■2022-03-01
[VerUP]Apache Guacamole 0.9.14(リリース日:2018/01/18)
■2022-03-01
[VerUP]Apache Guacamole 0.9.13-incubating(リリース日:2017/07/30)
■2022-03-01
[VerUP]Apache Guacamole 0.9.12-incubating(リリース日:2017/04/01)
■2022-03-01
[VerUP]Apache Guacamole 0.9.11-incubating(リリース日:2017/02/02)
■2022-03-01
[VerUP]Apache Guacamole 0.9.10-incubating(リリース日:2016/12/29)

すべてを見る

更新日:2022-02-24

Apache Guacamoleの概要

Apache Guacamole(アパッチ ワカモレ)はリモートデスクトッププロトコルを用いて他のPCにアクセスするためのWebアプリケーションです。
Guacamoleは元々、RealMint(「RealMint」は「terminal」のアナグラム)というJavaScriptのTelnetクライアントが起源となっています。その後HTML5のVNCクライアントを経て、現在のリモートデスクトップゲートウェイ・VNC/RDPクライアントの形へと発展していきました。

Guacamoleはサーバとクライアントによって構成されています。

  • Guacamoleサーバ(ユーザがWebブラウザからアクセスするサーバ)

    Guacamoleサーバは、グラフィックや動画、音声などを扱うライブラリとguacdで構成されており、C言語で実装されています。

    guacdとは、任意のプロトコルとGuacamoleプロトコルの変換を行うプロキシデーモンです。Guacamole プロトコルはテキストベースのプロトコルです。JavaScriptはバイナリプロトコルを効率的には扱えないため、Guacamoleではこのプロトコルを用いて通信を行います。

  • Guacamoleクライアント(ユーザが接続情報の確認や操作を行うために使うWebアプリケーションを提供するクライアント)

    Guacamoleクライアントは、サーブレットコンテナ(Tomcat)を用いてWebアプリを提供しており、Guacamoleサーバ内にあります。

    Java・JavaScriptで開発されています。

接続の流れは下記の図の通りです。「HTML5 Web Browser」が接続元となるユーザのブラウザで、「RDP」「VNC」と記載されているものが接続先となるサーバやPCとなります。
Apache Guacamole_architecuture
※画像:公式サイトより

接続元のブラウザでGuacamoleサーバにアクセスすることで、Guacamoleサーバ内のGuacamoleクライアントが接続情報の一覧や接続操作を行うWebアプリケーションを表示します。そのGUI上で接続先を決定することで、Guacamoleサーバはguacdを介して各接続先へ接続します。
このように接続先と同一ネットワーク内にインターネット上に公開されたGuacamoleを配置することでブラウザからの通信を中継し、リモート接続します。

TOPに戻る

Apache Guacamoleの主な特徴

クライアントレス 通常、リモート接続を行う場合はRDPにはリモートデスクトップクライアント、SSHにはターミナルなどそれぞれのプロトコルに合わせたクライアントアプリケーションが必要になりますが、Guacamoleはどのプロトコルにおいても、ウェブブラウザのみで接続することが出来ます。そのため、接続元のスマートフォンやPC側に特別なアプリケーションを導入する必要はありません。 また、接続先となるサーバやPC側も接続元と同様に特別なクライアントを導入する必要はありません。
クエリ Riakは、基本的なGET、POST、PUT、DELETEメソッドのHTTPリクエストによるRESTフルなAPIを提供します。セカンダリインデックス、検索(Apache Solr経由)、MapReduceなど、より複雑なクエリも可能です。
多様な認証方式 Guacamoleは標準のDB認証(MySQL/PostgreSQL)の他にLDAP、OpenID、SAML、RADIUS認証やSSO、TOPOなどをサポートしています。
操作ログ・動画の記録 端末へのアクセスログや操作ログはもちろん、接続後の操作を動画として記録しておくことが出来ます。キーボード入力などもテキストベースのログとして記録することが出来るため、動画では確認出来ないショートカットキーなども確認することが出来ます。
画面共有 Guacamoleは画面共有用のURLを発行することができ、複数人で一つの画面を操作・閲覧することが出来ます。また、操作・閲覧の権限はそれぞれに分けることも出来るので、不要な入力をさせないことも出来ます。
権限管理 接続するユーザやグループごとにアクセス可能な接続先やプロトコルを設定することが出来ます。

TOPに戻る

Apache Guacamoleのユースケース

Guacamoleは昨今の急激なリモートワーク環境の整備・移行に伴って、自宅からの接続をセキュアに行いたい、リモートワークでも細かく業務状況を把握したい場合などに有用なアプリケーションです。また、画面共有の機能を使うことで、ミーティングや会議、教育現場でのリモートでの指導なども容易に実施することが出来ます。

TOPに戻る

Apache Guacamoleの動作環境

Guacamoleの動作にはJava(Tcomcat)と以下のパッケージが必要となります。
※Docker が動作する環境であれば、別途公式からDockerイメージも提供されています。

  • Cairo
  • libjpeg-turbo
  • libpng
  • libuuid
また、接続プロトコルなどによって以下のオプションパッケージも必要になります。

  • FFmpeg
  • FreeRDP
  • Pango
  • libssh2
  • libtelnet
  • libVNCServer
  • libwebsockets
  • PulseAudio
  • OpenSSL
  • libvorbis
  • libwebp

TOPに戻る

Apache Guacamoleのライセンス形式

Guacamoleのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。

TOPに戻る

参考情報

Apache Guacamole公式サイト
Apache Guacamole-server GitHub
Apache Guacamole-client GitHub

TOPに戻る

Apache Guacamoleのサポート

NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO