Apertureを使い始める
最終検証日:
翻訳: 竹洞 陽一郎
Aperture by Tailscaleは、現在ベータ版です。
ベータ期間中、Aperture by Tailscaleは、Apertureのサインアップ時に作成される無料アカウントを含め、どのTailscaleアカウントでも追加費用なしで利用できます。
aperture.tailscale.com からアクセスを申請してください。
このガイドでは、Apertureへのサインアップ、最初のLLMプロバイダーの設定、すべてが正しく動作することを確認するためのテストリクエストの送信について、順を追って説明します。
始める前にApertureが何をするのかをより詳しく知りたい場合は、Apertureとは?を参照してください。
前提条件
始める前に、次のものが揃っていることを確認してください。
-
LLMプロバイダーの開発者向けプラットフォームから取得したAPIキー。
Apertureは、OpenAI、Anthropic、Google Gemini、OpenRouter、Amazon Bedrock、Vertex AI、およびOpenAI互換APIに対応しています。
サポートされるプロバイダーとAPI形式の一覧については、プロバイダー互換性リファレンスを参照してください。
APIキーは、プロバイダーの開発者向けポータル(例: Anthropic Console、OpenAI Platform、Google AI Studio)から取得してください。
コンシューマー向けおよびビジネス向けのサブスクリプションプラン(Claude Pro、ChatGPT Plus、Gemini Advancedなど)は、Apertureと互換性のあるAPIキーを提供しません。プロバイダーの開発者向けプラットフォームから取得したAPIキーが必要です。 -
tailnetに接続されたデバイス。
Apertureは、tailnet上のhttp://<aperture-hostname>で待ち受けます。
お使いのデバイスはTailscaleを実行し、Apertureインスタンスと同じtailnetに接続されている必要があります。
tailnetに参加していないデバイスを接続する必要がある場合は、tailnet外のデバイスを接続するを参照してください。
ステップ1: Apertureにサインアップする
aperture.tailscale.comにアクセスし、サインアップフォームに記入します。Tailscaleアカウントを持っていない場合は、サインアップの過程で無料アカウントが作成されます。- お使いのデバイスから、Apertureダッシュボード(
http://<aperture-hostname>/ui)にアクセスできることを確認します。
ステップ2: LLMプロバイダーを設定する
Apertureダッシュボード(http://<aperture-hostname>/ui)を開き、「設定(Settings)」ページに移動して、少なくとも1つのLLMプロバイダーを追加します。
「設定」ページには、2つの編集モードがあります。
- ビジュアルエディタ(デフォルト): フォーム画面で、プロバイダー名、ベースURL、APIキー、モデル一覧を入力してプロバイダーを追加します。
- JSONエディタ: JSONエディタに切り替えて、設定を直接貼り付けるか記述します。次の例は、2つのClaudeモデルでAnthropicを設定するものです。
{
"providers": {
"anthropic": {
"baseurl": "https://api.anthropic.com",
"apikey": "<anthropic-api-key>",
"models": [
"claude-sonnet-4-6",
"claude-opus-4-7"
],
"authorization": "x-api-key",
"compatibility": {
"anthropic_messages": true
}
}
}
}
プロバイダーごとの手順については、LLMプロバイダーをセットアップするを参照してください。
利用可能なすべての設定については、構成リファレンスを参照してください。
このステップを省略した場合、Apertureは、一般的なモデルを含むOpenAIとAnthropicのデフォルト設定を使用します。
ただし、リクエストを成功させるには、自分のAPIキーを追加する必要があります。
ステップ3: テストリクエストを送信する
tailnet内のデバイスからリクエストを送信して、Apertureがプロバイダーへルーティングしていることを確認します。
サポートされているいずれのAPI形式でもテストできます。
モデル名は、ステップ2で設定したモデルに置き換えてください。
Anthropic API形式:
curl -s http://<aperture-hostname>/v1/messages \
-H "Content-Type: application/json" \
-d '{
"model": "claude-haiku-4-5-20251001",
"max_tokens": 25,
"messages": [{"role": "user", "content": "respond with: hello"}]
}'
OpenAI Chat API形式:
curl -s http://<aperture-hostname>/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"messages": [{"role": "user", "content": "respond with: hello"}]
}'
OpenAI Responses API形式:
curl -s http://<aperture-hostname>/v1/responses \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"input": [{"role": "user", "content": "respond with: hello"}]
}'
リクエストが成功すれば、Apertureはプロバイダーへルーティングしています。
Apertureダッシュボード(http://<aperture-hostname>/ui)を開き、利用履歴でそのリクエストを確認してください。
デバイスがtailnetに参加していない場合は、ts-unplug経由で接続し、上記の例の http://<aperture-hostname> を http://localhost:<port-number> に置き換えてください。
次のステップ
プロバイダーが動作することを確認したら、Apertureを最大限に活用するために、以下の機能を確認してください。
- ユーザーにモデルへのアクセスを許可する: チームメンバーがApertureを通じてリクエストを送信できるようにします。
- LLMクライアントをセットアップする: Claude CodeやCodexのようなツールからのトラフィックを、Aperture経由でルーティングします。
- 支出上限を設定する: 組織全体のコストを制御します。
- tailnet外のデバイスを接続する: チームメンバーがtailnetに参加していないデバイスからアクセスする必要がある場合に対応します。