Kroker 利用マニュアル 目次

Kroker 利用マニュアル

株式会社フィックスポイント の Kroker 利用マニュアルです。

最終更新日: 2024/04/12

Kroker とは

Kroker とは、リモートアクセスを中継するためのゲートウェイとなるソフトウェアです。

アクセス先のネットワーク内のサーバー上に配置することで、Kroker から RDP/SSH/Telnet 接続が可能な全ての端末に対するリモートアクセスゲートウェイとして機能します。

Greac を使用する上で、Kroker のインストールが必要になりますので、この利用マニュアルに沿ってインストール及び Kompira cloud との接続を行ってください。

Kroker のインストールと接続

Kroker のインストールと接続手順、その他の利用方法について記載します。

Kroker のインストール

インストール前の準備

Kroker は、 Docker 上で動作します。

Kroker インストール環境内に Docker がない場合は、事前にご使用の OS に合った Docker 本体と Compose プラグインをインストールしてください。

Docker Compose の v1 やスタンドアローン版を利用している場合は docker compose の部分を docker-compose と読み替えてください。

例えば docker compose run kroker setup としている部分は、代わりに docker-compose run kroker setup を実行してください。

リリースファイルのダウンロード

最初に、Kroker をインストールする環境について確認してください。

Kroker のダウンロードは、Kompira シリーズ製品情報サイトの ダウンロード > Kroker ダウンロード から行います。

対象の OS とアーキテクチャに対応するファイルを、ダウンロード URL からダウンロードします。

コマンドを入力してダウンロードする場合、下記の例を参考にしてください。

コマンド例
curl -sLO *https://...

*ダウンロードURL

リリースファイルの解凍と展開

ダウンロードした Kroker のリリースファイル(例:kroker-amd64-vX.XX.X-XXXXXXXXXXX.tar.xz)を任意の場所に解凍、展開してください。

コマンドを入力して展開を行う場合は、下記の例を参考にしてください。

コマンド例
tar xvf kroker-amd64-vX.XX.X-XXXXXXXXXXX.tar.xz

xz ファイルを解凍した上で tar ファイルを展開することにより、kroker ディレクトリが配置されます。

kroker ディレクトリへの移動

以降の操作は展開された ./kroker ディレクトリ配下で実行します。

./kroker ディレクトリ配下に移動するには、cd kroker/ コマンドを実行します。

Docker イメージの読み込み

以下のコマンドで Kroker の Docker イメージを読み込みます。

docker load -i kroker.tar

Krokerの登録

以下のコマンドで Kompira に Kroker を登録するための URL を表示します。

docker compose run kroker setup

コマンドを入力すると、以下の通り Kompira cloud のスペース名の入力を求められます。

スペース名は、Kompira cloud URL の XXXX.cloud.kompira.jp における XXXX 部分です。

Please input Kompira cloud space name: spacename

表示された URL にブラウザ等でアクセスし、Kroker の登録操作を行ってください。

URL 例
https://spacename.cloud.kompira.jp/setup-kroker?pinCodeXXXXXX

エラーとなった場合

上記を実行した際に Error: Permission denied (os error 13) のようなエラーで失敗した場合は、代わりに以下のコマンドを実行してください。

docker compose run -u "$(id -u):$(id -g)" kroker setup

登録完了

URL にアクセスすると、認証後に以下の画面が表示されます。

Kompira cloud 上での任意の Kroker 表示名を入力して Kroker の登録を完了してください。

登録が完了すると、下記画面が表示されます。

登録完了後は Kroker 一覧画面に遷移できます。

一覧画面へ遷移後、すぐに Kroker が表示されない場合があるため、その場合は再表示を行ってください。

Kroker の接続

以下のコマンドで Kroker と Kompira の接続を開始します。

docker compose up -d

Kroker の利用方法

接続を終了したい

Kroker と Kompira の接続を終了する場合は、以下のコマンドを使用してください。

docker compose stop

ログを見たい

Kroker のログを見るには、以下のコマンドを使用してください。

docker compose logs

アンインストール

Kroker をアンインストールする場合は以下コマンドを実行してください。

docker compose down --rmi all --volumes --remove-orphans

その後 ./kroker ディレクトリを削除してください。

ログの簡易的な取得

何らかの問題が発生した場合、Kroker のログファイルを Kompira cloud の画面上から参照・取得することが可能です。

ログファイルの参照および取得は、共通メニューの「Kroker」より行います。

操作手順

ログを取得したい Kroker の表示名をクリックすると、下に詳細が表示されます。

表示された Kroker のバージョン情報右横の「︙」をクリックします。

さらに「ログ一覧」という項目をクリックします。

B67nBu4tKO

選択した Kroker のログ一覧が表示されます。

必要に応じて右端のボタンよりダウンロードします。

chrome_NRs12SBCZs

注意

  1. Info レベル以上のログが jsonLine 形式で保存されます。
    ただし、ログファイルの完全性は担保されていないため、ファイル末尾は JSON として不正な値が記録されることがあります。
    また、データは即時に反映されないことがあり、実際の反映まで時間を要すことがあります。

  2. 各ログファイルの最大サイズは約10MiBとなっており、最大サイズ以上のデータは破棄されます。
    また、保存期間は約7日で、これを超えたものは自動的に削除されます。

  3. 完全なログは Kroker 側に存在しているため、必要な場合は「Krokerの利用方法 > ログを見たい」を参照し取得してください。

Kroker の切断通知

利用している Kroker のいずれかの接続が切断した場合、Webhook によって通知を送信することができます。

共通メニューの「Kroker」にて「通知設定」をクリックします。

wUhPgRN5Go

「WEBHOOK」をクリックし、通知設定の「表示名」と通知送信先の「Webhook URL」を入力して保存します。
通知設定は3件まで作成できます。

POWERPNT_amn3seBm2h

切断通知は、Kroker の接続が切断されたことを検知してから約 60 秒後に送信されます。 これは、Kroker が再接続を試みることを待機するためです。

切断時の通知内容

Kroker の切断時には、 Webhook URL へリクエスト内容が送信されます。

リクエスト内容は、下記の通りです。

要素詳細
メソッドPOST
Content-Typeapplication/json
リクエストボディ(サンプル)
{
  "kroker": {
    "createdAt": "2021-12-31T13:21:23Z",
    "createdBy": "4251b4d1-5ed1-4a34-82ee-60f3e4583a1c",
    "displayName": "xxxxxxxx",
    "krokerId": "12eb97f5-afb4-4f9f-9208-3512cc5087e0",
    "publicKey": {
      "e": "xxxx",
      "kty": "RSA",
      "n": "xxxxxxx"
    },
    "status": "unconnected",
    "support": {
      "supported": true
    },
    "updatedAt": "2021-12-31T13:21:23Z",
    "updatedBy": "4251b4d1-5ed1-4a34-82ee-60f3e4583a1c",
    "version": "v1.2.0"
  }
}

ログレベルの変更方法

Kroker のログレベルを変更するには、コピーした docker-compose.override.ymlKROKER_LOG を以下のように debuginfowarn、もしくは error に書き換えてください。

# Logging level.
# Available value is one of "debug", "info", "warn", or "error".
# Kroker conceals any value in non debug log that might include
# confidential information, shown as "**CONCEALED**."
# Additionally, non debug log records are reported as-is to Kompira
# independent of this configuration.
KROKER_LOG: "debug"

HTTP プロキシの利用

HTTP プロキシを利用する場合は docker-compose.override.yml ファイルを使用します。

パッケージ内の docker-compose.override.yml.sample をコピーして docker-compose.override.yml を作成してください。

docker-compose.override.yml にプロキシ設定を記述し、再接続してください。

#Uncomment and fill followings to enable HTTP proxy.  
#KROKER_HTTP_PROXY_HOST: "proxy.example.com"  
#KROKER_HTTP_PROXY_PORT: "8080"  

#Uncomment and fill followings to enable HTTP proxy BASIC authentication.  
#KROKER_HTTP_PROXY_USERNAME: "username"  
#KROKER_HTTP_PROXY_PASSWORD: "password"

プレリリースの利用

プレリリースを利用する場合は、コピーした docker-compose.override.ymlimage 指定部分のコメントを外して、再接続してください。

# Uncomment the following to allow use/update Kroker from a prerelease channel.
# Note that Kroker in the prerelease channel might be unstable. Use it with great care.
image: "ghcr.io/fixpoint/kroker:v1-pre"

注意

プレリリースは基本的には提供されません。

また、プレリリースは非安定版のため動作保証対象外です。

利用する場合は細心の注意を払ってください。

Kroker のアップグレード

既に Kompira に登録済みの Kroker をアップグレードする場合について説明します。

新しいバージョンの Kroker を現在 Kroker を格納している場所に展開します。

古いバージョンの Kroker ファイルを、新しいバージョンのファイルで上書きしてください。

すべてのファイルを新しいバージョンの内容に置き換えた後、以下のコマンドで Docker イメージを更新します。

docker load -i kroker.tar

最後に以下コマンドで Kroker を再起動してください。

docker compose down
docker compose up -d

なお「インストール」で行ったセットアップ手順 (kroker setup) は不要です。

Kroker のサポートポリシー

Kroker には、バージョンに基づいたサポートポリシーがあります。

各バージョニングの説明とサポート期間、また画面表示について記載します。

Kroker のバージョン

Kroker のバージョン付けは、セマンティックバージョニング 2.0.0 に則っており、x.y.z という形式で付与されます。

サポート対象外となったバージョンの Kroker は接続が行えなくなります。

バージョン番号の加算とサポート対象については、以下バージョン種別の通りです。

Kroker のバージョン種別

バージョン種別加算タイミングサポート対象
メジャー
x.y.z
後方互換性を持たない機能追加および変更を行った場合に加算される最新世代のみをサポート
マイナー
x.y.z
機能追加および変更を行った場合に加算されるサポート対象となるメジャーバージョンにおいて最新2世代のみをサポート
パッチ
x.y.z
機能の変更がない不具合の修正等を行った場合に加算されるサポート対象となるメジャーバージョンとマイナーバージョンにおいて全てのバージョンをサポート

サポート期間

サポート対象バージョンについては、リリース日から180日経過した時点で更新されます。

実際のサポート期間のイメージは、下記の通りです。

例えば、バージョン 1.1.1 は、2022/06と2022/07にマイナーバージョンが上がるリリースがあったため、通常サポートが2022/07で終了となり、180日の猶予期間に入ります。

また、バージョン 1.2.01.3.0 についても、2022/10 にメジャーバージョンのリリースがあったため、通常サポートが終了となり180日の猶予期間となります。

バージョンごとの画面表示

現在利用している Kroker のバージョンについて、サポート対象か否かを Kroker 一覧表示から確認することができます。

サポート対象

サポート対象の場合、"バージョン"の項目にチェックマークと緑色のバージョン番号が表示されます。

また、クリックすると「サポート対象バージョンです。」という文言が出現します。

PbIv059NmM

サポート対象(猶予期間中)

猶予期間中は、注意マークとオレンジ色の表示になります。

また、クリックすると「このバージョンは XXXX/XX/XX にサポート対象外となり、接続できなくなります。」と表示され、猶予期間終了の日付を確認できます。

apzIK5lFij

サポート対象外

サポート期間が終了し対象外となると、エクスクラメーションマークと赤色の表示になります。

また、クリックすると「このバージョンは XXXX/XX/XX にサポート対象外となったため、接続できません。」と表示されます。

iRCXTaC9wl

各種ライセンス

Kroker のライセンスは フィックスポイント「Kompira」利用規約総覧 を参照してください。

guacd のライセンスは Kroker ディレクトリ内の LICENSE.guacd に記載されています。

Kroker の依存ライブラリのライセンスも 、Kroker ディレクトリ内の kroker-licenses.html に記載されています。

FAQ

Error response from daemon: invalid mount config for type "bind": bind source path does not exist と表示される

同じディレクトリ内の .certs ディレクトリを削除すると、上記メッセージが表示されます。

対処法としては、以下のコマンドにて .certs ディレクトリを作成してください。

mkdir .certs

Red Hat 系の一部 OS で Kroker のセットアップに失敗する

セットアップを実行する際に、以下のようなエラーが発生することがあります。

# docker compose run kroker setup
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Red Hat 系の一部の OS では、Docker をインストールしようとすると、代わりに Podman がインストールされます。

このような環境では、上記のようなエラーが発生する可能性があります。

Podman がインストールされていることが確認できた場合は、Docker の公式の手順に従って Docker をインストールすることで、上記の問題を解決できる可能性があります。

ただし、Docker のインストールを行うと、Podman が削除されるのでご注意ください。

仕様情報

Kroker のシステム要件について記載します。

動作環境

項目内容備考
OSLinux x86-64
Linux aarch64
サーバー、仮想サーバーでの動作を想定
ネットワーク機器での動作は未想定
Dockerversion 20.10.5 以降
Docker Composeversion 1.28.5 以降
必要スペックCPU : 2GHz / 1core
Memory : 2GB
Network : 100Mbps
推奨スペックCPU : 3GHz / 2core
Memory : 4GB
Network : 1Gbps
必要ストレージ容量最小 1GB
推奨 10GB 以上
Kroker の必要ストレージ容量は利用量によって大幅な変動あり1
1

10GB 程度確保した上で一定期間にかかる使用量を計測し、必要量を算出してください。
ストレージが枯渇した場合、Kroker は停止します。

通信要件

項目内容備考
Kroker – > アクセス先SSH(22)
RDP(3389)
Telnet(23)
SFTP(22)
ポート番号は変更可能
Kroker – > Kompira cloudWebSocket(443)
BASIC 認証付き HTTP proxy も利用可

動作ログ

項目内容備考
出力先コンテナ内ファイル出力
出力レベルDEBUG
INFO
WARN
ERROR
デフォルトは INFO
ローテーション20MB 5世代

変更履歴

Kroker に対する特筆すべき変更点は全てこのファイルに記載されます。 バージョニングに関しては Kroker のバージョン を参照してください。

1.2.0 - 2023-12-06

  • OpenSSLを1.1系から3系にアップデートしました
  • SHA-2 の認証アルゴリズムに対応しました

1.1.2 - 2023-05-26

  • 脆弱性対応として OpenSSL を 1.1.1q から 1.1.1t へアップデートしました

1.1.1 - 2023-01-05

  • ネットワークに問題が発生した場合などの Kroker の再接続において、接続にかかる時間が長くなる問題を修正しました

1.1.0 - 2022-11-16

  • Greac のファイル転送機能に対応しました

1.0.1 - 2022-10-26

  • Kroker 登録時のスペース ID の入力において、利用できない文字をチェックするよう変更しました
  • Kroker 動作時に出力されるログのログレベルを修正しました

1.0.0 - 2022-02-28

  • 正式版リリース