Tailscaleロゴ

tailnet外のデバイスを接続する

最終検証日:
翻訳: 竹洞 陽一郎

Aperture by Tailscaleは、現在ベータ版です。

Apertureはtailnet上で動作し、そのtailnet内のデバイスは直接Apertureに到達できます。
ただし、LLMへのアクセスを必要とするすべてのデバイスがtailnetに参加できるわけではありません。
CI/CDランナー、業務委託先のマシン、個人のデバイス、別のtailnet上のデバイスなどは、いずれも ts-unplug を使ってApertureに接続できます。
ts-unplugts-plug リポジトリのツールで、軽量なtailnetノードを作成し、ローカルのトラフィックをApertureインスタンスへプロキシします。

デバイス上で ts-unplug を実行すると、それは独自のノードとしてtailnetに参加し、Apertureへトラフィックを転送するローカルポートを開きます。
そのデバイスにTailscaleをインストールする必要はありません。
Apertureは、共有のAPIキーではなく、ts-unplug ノードのTailscaleアイデンティティを使ってリクエストを認証します。
各人が自分専用の ts-unplug インスタンスを実行する場合、Apertureはアクティビティを個々のユーザーに帰属させます。

ts-plugts-unplug のツールは、現在活発に開発中です。
最新の状況やリリース情報については、ts-plug リポジトリを参照してください。

ユースケース

ts-unplug は、デバイスをtailnetに直接参加させられない場合や、参加させるべきでない場合に役立ちます。

すでにtailnetに参加しているデバイスであれば、直接接続する方が手順が少なく、同じユーザーごとのアイデンティティが得られます。
接続手順については、LLMクライアントをセットアップするを参照してください。

制限事項

ts-unplug がアルファ版である間は、次の制限が適用されます。

前提条件

始める前に、次のものが揃っていることを確認してください。

ts-unplugをセットアップする

ts-unplug を使ってデバイスをApertureに接続するには、ツールをソースからビルドし、プロキシを起動し、tailnetでそのデバイスを承認します。

ステップ1: ts-unplugをビルドする

ts-plug リポジトリをクローンし、ts-unplug をビルドします。

git clone https://github.com/tailscale/ts-plug.git
cd ts-plug
make ts-unplug

これにより、./build/ts-unplug にバイナリが作成されます。

ステップ2: ts-unplugを起動する

ts-unplug を実行し、Apertureインスタンスを指定します。
<tailnet-id> は自分のtailnet名に置き換え、ローカルポートを選びます。

./build/ts-unplug -dir ./state -port 8080 <aperture-hostname>.<tailnet-id>.ts.net

初回実行時、ts-unplug は新しいノードを認証するためのURLを表示します。
ブラウザでそのURLを開いて認証を完了します。

ステップ3: デバイスを承認する

Apertureをホストしているtailnetの管理コンソールで、「Machines(マシン)」から新しいデバイスを承認します。

承認後、ts-unplugHTTP proxy listening と表示し、http://localhost:8080 でApertureにアクセスできるようになります。

ステップ4: 接続を検証する

ts-unplug が動作したら、テストリクエストを送信して接続が機能することを確認します。

curl -s http://localhost:8080/v1/messages \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-4-5-20251001",
    "max_tokens": 25,
    "messages": [{"role": "user", "content": "respond with: hello"}]
  }'

リクエストが成功したら、Apertureダッシュボードhttp://localhost:8080/ui/)を開き、利用履歴でそのリクエストを確認してください。

次のステップ