マシンとブラウザー
目的
マシンとブラウザーインスタンスを作成し、ブラウザー実行パッケージのバージョンを管理して、リモートブラウザーアクセス、サイトログイン、ワークスペース実行の基礎環境を提供します。
前提条件
- 管理コンソールにログイン済みである。
- 現在のアカウントに「ブラウザー管理」関連権限がある。
- 利用可能なマシンノードまたはブラウザー実行環境を準備している。
- 管理サービスで
app.keeperbaseが設定され、browser client と engine のパッケージを保存できる。
操作手順
「ブラウザー管理 > マシン一覧」に入る。
「マシン追加」をクリックし、マシンアドレスとポート番号を入力する。
- マシンアドレス: keeper サービスの所在地を入力します。keeper は通常インストール先サーバー上で実行されるため、サーバーの内網アドレスで十分です。
- ポート番号: デフォルトは
7000です。 - 内蔵バージョン: マシンの追加または更新時に、システムが keeper の bind インターフェースを呼び出して自動的に取得・保存します。画面で手入力する必要はありません。
保存後、マシンレコードが存在し、keeper サービスへアクセスでき、スケジュール可能であることを確認する。
「ブラウザー管理 > ブラウザー一覧」に入る。
ブラウザーインスタンスを作成し、マシン、ブラウザー番号、ブラウザーバージョンを選択する。
- マシン: 作成するブラウザーは選択したマシン上で実行されます。
- ブラウザー番号: 覚えやすく一意な値にしてください。英字または文字で構成し、空白を含めないでください。例:
chrome100。 - ブラウザーバージョン: バージョン管理で提供されるバージョン、または「内蔵バージョン」を選択できます。「内蔵バージョン」を選択すると、選択したマシンに保存された内蔵バージョンを使用します。
- ネットワークモード:
- 通常ネットワーク: 通常のブラウザーネットワークを使用します。HTTP/SOCKS5 プロキシを設定でき、一般的な利用シーンに適しています。
- 隔離ネットワーク: ブラウザー用に独立したネットワーク環境を作成し、ブラウザーのネットワークトラフィックを完全に制御します。DNS、UDP、WebRTC などをより完全に隔離でき、高い要件のシーンに適しています。
- ネットワークスロット: 隔離ネットワークの場合のみ必須です。
0より大きい一意の数値を入力します。 - DNS 設定: 隔離ネットワークの場合のみ必須です。
tcpまたはudpを選択し、DNS IP アドレスとポートを入力し、DNS がプロキシを使うかをdirectまたはproxyで選択します。directは DNS リクエストを直接送信し、proxyは DNS リクエストをプロキシ経由で送信します。 - プロキシ設定: 隔離ネットワークの場合のみ必須です。
socks5またはhttpを選択し、プロキシホストとポートを入力します。ユーザー名とパスワードは任意です。
ブラウザー作成後、ブラウザー一覧からネットワークモードと隔離ネットワーク設定を編集できます。
「開始」ボタンをクリックしてブラウザーを起動し、状態が
runningになるまで待つ。
ブラウザー設定
ブラウザー一覧で対象インスタンスの設定操作をクリックすると、そのブラウザーの起動方法と環境識別情報を調整できます。
- 基本設定:
- カーネルバージョン: ブラウザーインスタンスが使用する Chromium 実行バージョンを選択します。フィールド横の「編集」から選択可能な Chromium バージョンを管理できます。
- OS: ブラウザーで使用する OS プロファイルを選択します。「編集」から OS 一覧を管理できます。
- ブランドとブランドバージョン: Google Chrome、Microsoft Edge、Opera、Vivaldi などのブラウザーブランドを選択し、対応するブランドバージョンを選択します。ブランドを変更すると、選択済みのブランドバージョンはクリアされます。
- モバイル機種: ブラウザーでモバイル環境をエミュレートする場合に、モバイル端末プロファイルを選択します。「編集」から機種オプションを管理できます。
- タイムゾーン: ブラウザーのタイムゾーンを検索して選択できます。ローカルタイムゾーンへリセットすることもできます。
- 詳細設定:
- 起動オプション: Chromium の起動引数をキーと値のペアで追加、編集、削除できます。よく使われる既定値には
disable-gpu、no-sandbox、ignore-certificate-errors、lang、autoplay-policyがあります。その他の Chromium コマンドラインスイッチは List of Chromium Command Line Switches を参照してください。 - 一時ディレクトリとキャッシュディレクトリ: ブラウザーが一時ファイルとキャッシュデータを書き込む場所を設定します。
- 画像最大サイズ: ブラウザーが画像を取得するときに使用する最大画像サイズをピクセル単位で設定します。
- ハードウェアアクセラレーション: 実行環境で安定した GPU アクセラレーションを利用できる場合のみ有効にしてください。
- ユーザーデータのクリア: クリーンなセッションが必要な場合に、ブラウザーのユーザーデータをクリアします。
- 起動オプション: Chromium の起動引数をキーと値のペアで追加、編集、削除できます。よく使われる既定値には
ブラウザー設定を変更したら「保存」をクリックします。新しいブラウザープロセスで反映が必要な設定は、対象インスタンスを再起動してください。
ブラウザーバージョン管理
「ブラウザー管理 > ブラウザー一覧」で「バージョン管理」をクリックすると、ブラウザーバージョン管理ページを開けます。
ページにはバージョン名、engine 状態、client 状態、ダウンロード操作が表示されます。
| 状態 | 意味 |
|---|---|
| 未ダウンロード | ライセンスサービスはこのバージョンを返しましたが、app.keeperbase に該当タイプのパッケージがありません |
| 更新あり | ローカルパッケージは存在しますが、ライセンスサービス側の buildVersion がより新しい状態です |
| 最新 | ローカル buildVersion がライセンスサービス側以上、またはローカルバージョンがライセンスサービスの戻り値に含まれません |
ダウンロードはバックグラウンドで実行され、ページに進捗が表示されます。HTTP Range による再開に対応しています。ファイルはまず一時ディレクトリへ保存され、完了後に app.keeperbase/<version>/ へ移動されます。移動前に同じタイプの古いパッケージは削除されます。
ファイル名形式:
client_<version>_<buildVersion>.tar.gz
engine_<version>_<buildVersion>.tar.gzKeeper 内部 API
管理サービスは、engine と client ノードの自動更新用に keeper バージョン照会・ダウンロード API を提供します。これらの API には内部 JWT token が必要です。
| API | 説明 |
|---|---|
GET /internal/navi/keepers | app.keeperbase からローカルパッケージを収集し、version、type、buildVersion、fileName を返します |
GET /internal/navi/downKeeper?version=<version>&type=<type> | 指定された version と type のローカルパッケージをダウンロードします。HTTP Range に対応しています |
engine と client ノードは定期的に /internal/navi/keepers を呼び出し、ローカルバージョンディレクトリの BUILD ファイルを比較します。ローカルにバージョンがない、または buildVersion が低い場合は /internal/navi/downKeeper でダウンロードし、対象ディレクトリへ展開します。
結果検証
- マシン一覧に新しいマシンが表示される。
- マシン一覧に keeper bind から取得した内蔵バージョンが表示される。
- ブラウザー一覧に新しいブラウザーインスタンスが表示される。
- ブラウザー一覧にブラウザーバージョンが表示される。「内蔵バージョン」の場合は、関連マシンの内蔵バージョンも表示される。
- ブラウザー一覧にネットワークモードとネットワークスロットが表示される。隔離ネットワークのブラウザーでは「ネットワーク詳細」から DNS、DNS がプロキシを使うか、プロキシ設定を確認できます。
- バージョン管理ページに、ローカルパッケージとライセンスサービスの比較後の client/engine 状態が表示される。
- ユーザーがサイトまたはワークスペースへアクセスすると、利用可能なブラウザー環境を割り当てられる。
よくある質問
- ブラウザーインスタンスはマシンノードと一致している必要があり、マシンまたは keeper が利用不可の場合はリモートアクセスに影響します。
- ブラウザーのバージョン、ブランドバージョン、OS 設定は、サイト識別と互換性に影響します。
- バージョン管理ページが「未ダウンロード」のままの場合は、
app.keeperbaseの権限、ライセンスサービスへの接続、ダウンロードタスク状態を確認してください。 - 自動更新が有効にならない場合は、ノードが
/internal/navi/keepersと/internal/navi/downKeeperへアクセスできるか、JWT token が正しいか確認してください。 - ウィンドウ一覧は、実行中のブラウザーウィンドウの観察や占有状況の調査に使います。