Kroker 利用マニュアル 目次
Kroker 利用マニュアル
株式会社フィックスポイント の Kroker 利用マニュアルです。
最終更新日: 2024/08/28
Kroker とは
Kroker とは、リモートアクセスを中継するためのゲートウェイとなるソフトウェアです。
アクセス先のネットワーク内のサーバー上に配置することで、Kroker から RDP/SSH/Telnet 接続が可能なすべての端末に対するリモートアクセスゲートウェイとして機能します。
Greac を使用するには、Kroker のインストールが必要となります。
本マニュアルに沿って 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 のバージョン情報右横の「︙」をクリックします。
さらに「ログ一覧」という項目をクリックします。
選択した Kroker のログ一覧が表示されます。
必要に応じて右端のボタンよりダウンロードします。
注意
-
Info レベル以上のログが
jsonLine
形式で保存されます。
ただし、ログファイルの完全性は担保されていないため、ファイル末尾は JSON として不正な値が記録されることがあります。
また、データは即時に反映されないことがあり、実際の反映まで時間を要すことがあります。 -
各ログファイルの最大サイズは約 10MiB となっており、最大サイズ以上のデータは破棄されます。
また、保存期間は約 7 日で、これを超えたものは自動的に削除されます。 -
完全なログは Kroker 側に存在しているため、必要な場合は「Kroker の利用方法 > ログを見たい」を参照し取得してください。
Kroker の切断通知
利用している Kroker のいずれかの接続が切断した場合、Webhook によって通知を送信できます。
共通メニューの「Kroker」にて「通知設定」をクリックします。
「WEBHOOK」をクリックし、通知設定の「表示名」と通知送信先の「Webhook URL」を入力して保存します。
通知設定は 3 件まで作成できます。
切断通知は、Kroker の接続が切断されたことを検知してから約 60 秒後に送信されます。 これは、Kroker が再接続を試みることを待機するためです。
切断時の通知内容
Kroker の切断時には、 Webhook URL へリクエスト内容が送信されます。
リクエスト内容は、下記の通りです。
要素 | 詳細 |
---|---|
メソッド | POST |
Content-Type | application/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.yml
の KROKER_LOG
を以下のように
debug
、info
、warn
、もしくは 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.yml
の image
指定部分のコメントを外して、再接続してください。
# 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.0
と 1.3.0
についても、2022/10 にメジャーバージョンのリリースがあったため、通常サポートが終了となり 180
日の猶予期間となります。
バージョンごとの画面表示
現在利用している Kroker のバージョンについて、サポート対象か否かを Kroker 一覧表示から確認できます。
サポート対象
サポート対象の場合、"バージョン"の項目にチェックマークと緑色のバージョン番号が表示されます。
また、クリックすると「サポート対象バージョンです。」という文言が出現します。
サポート対象(猶予期間中)
猶予期間中は、注意マークとオレンジ色の表示になります。
また、クリックすると「このバージョンは XXXX/XX/XX にサポート対象外となり、接続できなくなります。」と表示され、猶予期間終了の日付を確認できます。
サポート対象外
サポート期間が終了し対象外となると、エクスクラメーションマークと赤色の表示になります。
また、クリックすると「このバージョンは XXXX/XX/XX にサポート対象外となったため、接続できません。」と表示されます。
各種ライセンス
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 のシステム要件について記載します。
動作環境
項目 | 内容 | 備考 |
---|---|---|
OS | Linux x86-64 Linux aarch64 | サーバー、仮想サーバーでの動作を想定 ネットワーク機器での動作は未想定 |
Docker | version 20.10.5 以降 | |
Docker Compose | version 1.28.5 以降 | |
必要スペック | CPU : 2GHz / 1core Memory : 2GB Network : 100Mbps | |
推奨スペック | CPU : 3GHz / 2core Memory : 4GB Network : 1Gbps | |
必要ストレージ容量 | 最小 1GB 推奨 10GB 以上 | Kroker の必要ストレージ容量は利用量によって大幅な変動あり1 |
10GB 程度確保した上で一定期間にかかる使用量を計測し、必要量を算出してください。
ストレージが枯渇した場合、Kroker は停止します。
通信要件
項目 | 内容 | 備考 |
---|---|---|
Kroker – > アクセス先 | SSH(22) RDP(3389) Telnet(23) SFTP(22) | ポート番号は変更可能 SSH はバージョン2のみ対応 |
Kroker – > Kompira cloud | WebSocket(443) BASIC 認証付き HTTP proxy も利用可 |
動作ログ
項目 | 内容 | 備考 |
---|---|---|
出力先 | コンテナ内ファイル出力 | |
出力レベル | DEBUG INFO WARN ERROR | デフォルトは INFO |
ローテーション | 20MB 5世代 |
変更履歴
Kroker に対する特筆すべき変更点はすべてこのファイルに記載されます。 バージョニングに関しては Kroker のバージョン を参照してください。
1.2.2 - 2024-08-28
- 一部の機器に対して Telnet 接続が行えない問題を修正しました
1.2.1 - 2024-05-29
- 一部のお客様環境にて、ファイルダウンロードの速度が著しく遅くなる問題を改善しました
1.2.0 - 2023-12-06
- OpenSSL を 1.1 系から 3 系にアップデートしました
- SHA-2 の認証アルゴリズムに対応しました
- SSH 接続で接続が成功しない エラーが解消されました
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
- 正式版リリース