自宅のローカルAI、外出先から使えなくてもどかしい思いをしていませんか
自宅のPCにOllamaやOpen WebUIを入れて、自分だけのローカルAI環境を作った方は増えています。ところが「外出先や職場からも使いたい」と思った瞬間に壁にぶつかります。ポート開放は不安、VPNはセットアップが面倒、かといってクラウドAIに全部任せるのも味気ない。そんな悩みを持つ方は多いのではないでしょうか。
この記事でできるようになること
この記事では、無料で使えるCloudflare Accessの「サービス認証」を使って、外出先のアプリから自宅のローカルAIに安全にアクセスできるようにする手順を解説します。ポート開放をせず、ブラウザのログイン画面も挟まず、トークンだけで通信を通す構成です。VPNを組まなくても、自宅サービスを特定のクライアントだけに安全に公開できるのがこの仕組みの強みです。
手順1: 前提を整える(自宅側のローカルAI環境)
まず自宅のマシンでOllamaやOpen WebUIなどのローカルAIが動作していて、ローカルネットワーク内からは問題なくアクセスできる状態にしておきます。ここができていないと、この先の設定をしても意味がないので最初に確認しておきましょう。
手順2: Cloudflareアカウントとドメインを用意する
Cloudflareの無料アカウントを作成し、自分名義のドメインをCloudflareに追加します。Cloudflare AccessやTunnelを使うには独自ドメインが前提になるので、まだ持っていない場合はここで取得が必要です。正直、ドメインを持っていない人にとってはここが最初のハードルになります。
手順3: Cloudflare Tunnelで自宅サービスを外部に接続する
自宅のマシンにcloudflaredをインストールし、Cloudflare Tunnelを作成します。トンネルを作ると、ルーターのポート開放をしなくても自宅のローカルサービスをCloudflareのエッジ経由で外部に公開できるようになります。トンネル設定でローカルAIのポート(例えばOpen WebUIのポート)を指定し、任意のサブドメインを割り当てます。
ここまでで一度、割り当てたサブドメインにブラウザからアクセスしてみましょう。まだ認証をかけていない状態なので、誰でも見えてしまう点は要注意です。次の手順で必ず保護をかけます。
手順4: Zero TrustダッシュボードでApplicationを保護する
Cloudflare Zero Trustのダッシュボードから「Access」→「Applications」に進み、先ほど作ったサブドメインを保護対象として登録します。通常はここでメール認証やSSOによる「ユーザー認証」ポリシーを設定しますが、今回は人が毎回ログインするのではなく、アプリやスクリプトから自動でアクセスしたいので、次の手順でサービス認証を組み合わせます。
手順5: サービス認証(Service Token)を発行する
Applicationのポリシー設定画面で、サービストークンを許可するルールを追加します。合わせて「Service Auth」の項目からトークンを新規発行すると、Client IDとClient Secretの組み合わせが払い出されます。この2つの値がそのままパスワード代わりになるので、発行画面を閉じる前に必ず控えておいてください。再表示できないケースが多く、ここで焦る人をよく見かけます。
注意:発行したClient IDとClient Secretは第三者に渡ると自宅のAIに直接アクセスされてしまいます。メモアプリなどにそのまま平文で残さず、パスワード管理ツールで保管するのが安心です。
手順6: 外出先のアプリからヘッダー付きでアクセスする
外出先の端末やアプリから、リクエストヘッダーにCF-Access-Client-IdとCF-Access-Client-Secretをそれぞれ設定した値としてセットしてアクセスします。モバイルアプリやAPIクライアントであれば、リクエストヘッダーを自由に追加できるものがほとんどなので、この2行を追加するだけで認証をパスできます。ブラウザで直接開くタイプの用途には向きませんが、自作アプリやスクリプト経由での利用には相性が良い方式です。
つまずきやすいポイントと対処
最初に戸惑いやすいのは、サービストークンとユーザー認証ポリシーの併用設定です。両方のルールを「OR」条件で組んでおかないと、ブラウザからも使いたい場合にどちらか一方しか通らなくなってしまいます。用途に応じてポリシーを分けて登録するのが無難です。
またヘッダー名の入力ミスも多いつまずきポイントです。大文字・小文字やハイフンの位置を一文字間違えるだけで認証が通らず、原因がわかりにくいエラーになりがちです。個人的には、まずcurlコマンドでヘッダーを手打ちして疎通確認してから、アプリ側の設定に反映する順番がトラブルが少なく感じています。
ポイント:設定がうまくいかないときは、まずCloudflare Tunnel単体で外部アクセスできているかを確認し、その後にAccessのポリシーを追加する、と切り分けて進めると原因を特定しやすくなります。
まとめ
Cloudflare Accessのサービス認証を使えば、ポート開放やVPNなしでも、自宅のローカルAIを外出先の自分専用アプリから安全に呼び出せるようになります。無料の範囲で個人利用の規模であれば十分に運用できる構成なので、まずは手元のローカルAI環境をトンネル経由で公開するところから試してみてはいかがでしょうか。慣れてしまえば、外出先からでも自宅のAI環境を自分専用の道具として使い続けられます。



コメント