mabl Link Agentをセットアップする前に、Link Agentを実行するマシンがこの記事のシステム要件とネットワーク要件を満たしていることを確認してください。トラフィックの増加に応じてどの程度のCPUとメモリを用意すべきかについては、Link Agentのサイジングとスケーリングを参照してください。
システム要件
mabl Linkが最適な形で動作するのは、Link Agentをネットワーク内の常時稼働のサーバーまたはVMで実行する場合です。常時稼働のサーバーまたはVMを使用できない場合は、ダウンタイムができる限り短いマシンを選択してください。Link Agentの接続が切断されているときに実行がスケジュールされているmablテストは、テスト対象アプリケーションに接続できません。
例外
mabl Linkを試す場合や、自分のコンピューター上のサービスをテストする場合は、ワークステーションでLink Agentを実行してもかまいません。共有トンネルをセットアップせずに、自分のコンピューター経由でクラウド実行をルーティングするには、個人Linkトンネルを使用してください。
ホストリソース
| vCPU | メモリ | ディスク | 適した用途 | |
|---|---|---|---|---|
| 最小 | 2 | 4 GB | 5 GB | 同時利用の少ないトンネル1つ |
| 推奨 | 4 | 8 GB | 10 GB | 複数のトンネル、または数百Mb/sの継続的なトラフィック |
| 高スループット | 8 | 16 GB | 10 GB | 多数のワークスペースにサービスを提供する会社トンネル、または500 Mb/s以上のトラフィック (1 Gbのネットワーク接続が必要) |
どの構成を選ぶべきか、またトラフィックやトンネル数に応じてCPUとメモリがどのように増えるかについては、Link Agentのサイジングとスケーリングを参照してください。
Link Agentをクラウドインスタンスで実行する場合は、バースト可能なインスタンスタイプを避けてください。このタイプは、CPUとネットワークのパフォーマンスが長時間低下する場合があります。次のインスタンスクラスをお勧めします。
サポートされているプラットフォーム
Link Agentは、次のオペレーティングシステムとプロセッサーアーキテクチャで動作します。
| オペレーティングシステム | アーキテクチャ |
|---|---|
| Linux | x86-64、arm64 |
| macOS | Apple silicon (arm64) |
| Windows | x86-64 |
macOSでは、Link AgentにmacOS 14 (Sonoma) 以降が必要です。IntelプロセッサーのMacとWindows on ARMはサポートされていません。Alpine Linuxでは、x86-64のみがサポートされています。arm64のコンテナーでは、Link Agent DockerイメージのUbuntuバリアントを使用してください。
Linuxのバージョン
Link Agentは、お使いのLinuxディストリビューションに付属するGNU Cライブラリ (glibc) を使用します。必要なglibcの最小バージョンは、プロセッサーアーキテクチャによって異なります。
| アーキテクチャ | glibcの最小バージョン | 要件を満たすディストリビューション |
|---|---|---|
| x86-64 | 2.17 | RHELおよびCentOS 7以降、Rocky LinuxおよびAlmaLinux 8以降、Debian 9以降、Ubuntu 16.04以降、Amazon Linux 2および2023 |
| arm64 | 2.34 | RHEL、Rocky Linux、AlmaLinux 9以降、Debian 12以降、Ubuntu 22.04以降、Amazon Linux 2023 |
Link Agentには、zlibも必要です。arm64では、GCC 8以降のC++ランタイム (libstdc++) も必要です。表に記載されているディストリビューションには、いずれもこれらが含まれています。これらの最小要件は、Linuxインストーラー、tar.bz2アーカイブ、mabl CLIのどの方法でインストールする場合にも適用されます。
これより古いディストリビューション (arm64上のRHEL 8やAmazon Linux 2など) はサポートされていません。これらのディストリビューションでは、Link AgentはレガシーLink経由でのみ接続できます。レガシーLinkは2027年3月15日に終了します。古いホストを引き続き使用するには、代わりにそのホスト上でLink Agent Dockerイメージを実行してください。イメージには独自のライブラリが含まれているため、ホストのglibcのバージョンは影響しません。
ソフトウェア
インストールが必要なソフトウェアは、Link Agentの実行方法によって異なります。
| インストール方法 | 要件 |
|---|---|
| Windowsインストーラー | なし。インストーラーには独自のJavaランタイムが含まれています。 |
| Dockerイメージ | Dockerまたはその他のコンテナーランタイム。イメージには独自のJavaランタイムが含まれています。 |
| mabl CLI | mabl CLI。Javaは不要です。 |
| LinuxおよびmacOSインストーラー、またはtar.bz2アーカイブ | Java 11以降。Java 17以降 (OpenJDK 17など) をお勧めします。 |
書き込み可能なディレクトリ
Link Agentを実行するアカウントは、次のディレクトリに書き込める必要があります。
| インストール方法 | ディレクトリ | 用途 |
|---|---|---|
| LinuxおよびmacOSインストーラー、またはtar.bz2アーカイブ | インストールディレクトリ (デフォルトは/opt/mabl/link-agent) |
runディレクトリ内のLink 3.0トンネル、ログ、アップデート |
| Windowsインストーラー | 構成およびデータフォルダー (デフォルトはC:\ProgramData\mabl\link-agent) |
Link 3.0トンネル、ログ、アップデート |
| Dockerイメージ | /opt/mabl/link-agent/run |
Link 3.0トンネルとLink Agentのステータスファイル |
| mabl CLI | ~/.mabl/link/mablnet |
Link 3.0トンネル |
各Link 3.0トンネルは、トンネルプロセスと呼ばれる個別のプログラムとして実行されます。Link Agentはこのプログラムをダウンロードし、上記のディレクトリから実行します。そのため、これらのディレクトリではプログラムの実行も許可されている必要があります。noexecでマウントされたファイルシステムでは、プログラムを実行できません。
Link AgentがレガシーLink経由でのみ接続し、ログにno writable, executable directory for the Link 3.0 workerと表示される場合は、トンネルプロセスを書き込んで実行できるディレクトリが見つからなかったことを示しています。ログには、試行した各ディレクトリと、それを使用できなかった理由が記録されます。レガシーLinkは2027年3月15日に終了し、それ以降、この状態のLink Agentは接続できなくなります。
上記のディレクトリが使用できない場合、Link Agentは次のディレクトリを順に試します。mabl CLIのLink Agentも同じディレクトリを試します。
-
$XDG_STATE_HOME/mabl/link(デフォルトは~/.local/state/mabl/link) - システムの一時ディレクトリ内のプライベートディレクトリ
mabl CLIでは、mabl link-agents startの--install-rootオプションを使用して、ディレクトリを自分で選択できます。その場合、CLIはそのディレクトリのみを使用し、ほかのディレクトリは試しません。
インストールディレクトリのほかの部分が読み取り専用の場合 (ルートファイルシステムが読み取り専用のコンテナーなど) でも、Link Agentは実行されますが、アップデートのインストールやログファイルの書き込みはできません。代わりに、インストールまたはイメージを置き換えてアップデートしてください。ルートファイルシステムが読み取り専用の状態でDockerイメージを実行するには、/opt/mabl/link-agent/runに書き込み可能なボリュームをマウントしてください。Kubernetesの例については、ルートファイルシステムが読み取り専用のクラスターを参照してください。
高可用性設定
mabl Link経由で多くのテストを実行するワークスペースでは、同一のトンネル名を持つ複数のLink Agentを別々のマシンで実行してください。mablはトンネル上のすべてのエージェントに接続を分散し、あるエージェントが切断されても、テストは実行中の残りのエージェント経由で続行されます。
ホストにパッチを適用する前など、テストを中断せずに1つのエージェントをサービスから外すには、先にそのエージェントをメンテナンスモードにしてください。エージェントは新しい接続の受け付けを停止し、既存の接続が完了するのを待ちます。
ネットワーク要件
mabl Link経由でテストを実行する場合、トラフィックの起点は、ネットワーク内のLink Agentを実行するマシンと見なされます。コンテナーセットアップの場合、コンテナーホストがトラフィックの起点です。
Link Agentのホストは、mablテストで使用するDNS名を解決できる必要があります。DNS名には、パブリックでないFQDN、プライベートIPアドレス、https://app-local.example.comなどの/etc/hostsエントリを使用できます。Link Agentのホストがアドレスを解決して到達できる限り、mablテストも同じことができます。
例外
大半のブラウザーでは、localhostや127.0.0.1などのループバックアドレスへの接続のルーティングが制限されています。Link Agentのホスト自体で動作するサービスをテストする方法については、mabl Linkでのlocalhostのテストを参照してください。
送信トラフィック
Link Agentは送信接続のみを行うため、受信用のファイアウォールルールは必要ありません。会社のファイアウォールで送信トラフィックが制限されている場合は、次の宛先を許可してください。
| 宛先 | プロトコルとポート | 用途 |
|---|---|---|
api.mabl.com |
TCP 443 (HTTPS) | 登録、設定、アップデート |
mabl-wss.link.mabl.com |
TCP 443 (セキュアWebSocket) | WSS経由で接続する場合のLinkトンネル |
mabl-quic.link.mabl.com |
UDP 443 (QUIC) | QUIC経由で接続する場合のLinkトンネル |
storage.googleapis.com |
TCP 443 (HTTPS) | 任意: アップデートをより高速にダウンロードするための経路 |
トンネルに必要なのは、mabl-wss.link.mabl.comとmabl-quic.link.mabl.comのどちらか一方だけです。Link Agentは高速なQUICを最初に試し、接続できない場合は自動的にWSSにフォールバックします。QUICはHTTPプロキシを通過できないため、Link AgentがQUICを使用するのは、プロキシを介さずにmablに到達できる場合に限られます。ネットワークの送信トラフィックがHTTPプロキシを経由する場合は、ほとんどのネットワークで使用されるエンドポイントであるmabl-wss.link.mabl.comを許可してください。
storage.googleapis.comは必須ではありません。ブロックされている場合、Link Agentは代わりにapi.mabl.comからアップデートをダウンロードします。
ワイルドカードの許可リストエントリ
許可リストにすでに*.link.mabl.comが含まれている場合は、両方のトンネルエンドポイントがカバーされるため、追加する必要はありません。mablが専用のLinkインフラストラクチャに配置している会社は、{name}-wss.link.mabl.comの形式のエンドポイントに接続しますが、これも同じワイルドカードでカバーされます。
ネットワークでHTTPフォワードプロキシを使用している場合は、mabl Linkトラフィックのフォワードプロキシを参照して、Link Agentのトラフィックのルーティング方法を設定してください。
レガシーLink
バージョン3.0より前のLink Agentは、{host}.link.mabl.comの形式で生成されたホスト名に接続します。3.0のエージェントも、アカウントがLink 3.0プロトコルに移行するまでは、このレガシー接続を維持します。Link 3.0への移行が完了するまで、許可リストに*.link.mabl.comを残しておいてください。
レガシーLinkは2027年3月15日に終了します
レガシーLinkサービスは2027年3月15日に停止します。それまでに行うべき対応については、レガシーLinkからLink 3.0への移行を参照してください。