はじめに
前回:OrbStackを用いたFMS構築、OrbStackを用いてMac上に軽量かつ本番環境に近いFileMaker Server (以下 FMS) のLinux環境を構築する方法を紹介しました。
これで「手軽なローカル開発環境」が手に入ったわけですが、開発環境構築を進めると次なる壁にぶつかります。
「このFMSに、iPhone (FileMaker Go) や外部のPCからアクセスしたい」 ですね。
ローカルネットワーク内であればIPアドレス指定で簡単ですが、カフェからアクセスしたい、あるいは4G回線での挙動を見たいといった場合、途端にハードルが上がります。
今回は、VPNの代替として Tailscale を導入し、この課題を「革命的」な手軽さで解決します。
しかも、最大の鬼門(面倒臭いという意味で)である 「SSL証明書 (Let's Encrypt)」 も、ポート開放なしで簡単に導入できてしまいます。
外部アクセスにおける「これまでの常識」と苦痛
OrbStackの仮想環境に限らず、ローカルで構築したサーバーマシン上のFMSを外部公開しようとすると、従来は以下のような手順が必要でした。
- ルーターのポート開放: ポート5003や80/443をインターネットに晒す(セキュリティリスク大)。
- 固定IPまたはDDNS: 自宅のグローバルIPが変わるたびに接続できなくなる問題への対処。
- 複雑なネットワーク設定: Macのファイアウォール設定、OrbStack側のポートフォワーディング設定など。
これらは設定ミスで繋がらないことが多く、何よりセキュリティ面で不安が残ります。「検証したいだけなのに、なぜネットワークエンジニアのような真似事を…」と徒労感を感じた方も多いはずです。本当に面倒です。面倒だからやらないですよね?面倒だから赤い鍵マークのまま運用する。これでは本末転倒です。本来ならClaris社が開発環境用として手軽なSSL証明書を用意するべきです。毎回嫌になりますよね。
Tailscale という「魔法」
そこで導入したのが Tailscale です。USコミュニティでは割と話題に上るようですが、日本国内ではそんなに耳にしません。
技術的には WireGuard プロトコル(私は詳しい事は分かりません)をベースにしたメッシュVPNサービスですが、ユーザー体験としては 「ログインするだけで、世界中の自分のデバイスが同じLANにいる状態になる魔法ツール」 です。
FMS運用におけるTailscaleのメリット
1. ポート開放・ルーター設定が一切不要
NATトラバーサルという技術により、ルーターの設定を一切触ることなく、外部からOrbStack(仮想マシン)内のUbuntuに接続できます。二重ルーター環境でも問題ありません。もちろん物理サーバーでも、AWS EC2でもです。
2. 認証ベースの堅牢なセキュリティ
GoogleアカウントやGitHubアカウントでログインしたデバイスだけがネットワークに参加できます。IPアドレスを知られても、認証されていない第三者はアクセスすらできません。
3. 圧倒的な導入の手軽さ
サーバー側(Ubuntu)とクライアント側(iPhone/Mac/Win)に専用アプリを入れてログインするだけ。ネットワーク設定ファイルとの格闘は皆無。驚くほど簡単です。
実践:OrbStack(仮想マシン上のLinux) + Tailscale 導入手順
前提として、OrbStack上でUbuntuのマシンが稼働しており、FMSがインストールされている状態とします。通常なら一番難しいであろう仮想マシン上のFMSへの直通接続です。なのでリアルなサーバでもAWS EC2でも全く同じ手順のはずです。
1. Ubuntu (FMS) への導入
OrbStackのUbuntuターミナルに入り、公式のインストールコマンドを叩くだけです。
# インストールスクリプトの実行
curl -fsSL https://tailscale.com/install.sh | sh
# Tailscaleの起動
sudo tailscale up
起動すると認証用のURLが表示されるので、ブラウザで開いてログインします。これだけで、このUbuntuマシンはTailscaleネットワーク(Tailnet)の一部になりました。一瞬です。私はネットワーク設定は何もしていません。
2. クライアント側(iPhone/Mac/Win)の準備
接続したいiPhoneやMacにもTailscaleアプリを入れ、同じアカウントでログインします。アプリ上のスイッチを「Active」にするだけで準備完了です。VPNと同じ感覚です。
3. 接続確認: Ubuntu側で割り当てられたIPアドレスを確認します。
tailscale ip -4
# 例: 100.75.114.19
TailScaleのwebのadminコンソールからも確認できます。

この 100. から始まるアドレスは、Tailscaleネットワーク内だけのプライベートIPです。
そして、ここにある自分の複数のマシンがどこにいようが同じネットワーク内にいる状態です。
- Tailscaleの管理コンソールからマシン名を変更(例: ubuntu → fms)しておけば、MagicDNS機能により fms というホスト名だけで接続できるようになります。
ポート80開放なしでSSL証明書を入れる
ここからが本記事のハイライトです。FMSの検証にはSSL証明書が必須ですが、無料の Let's Encrypt を使うには、通常「HTTP-01認証(外部から80番ポートへのアクセス)」が必要です。
ローカル環境や閉じたVPN内ではこれが最大の壁でした。ネットワークに詳しくない人間は面倒すぎて諦めるのが普通です。
しかし、Tailscaleの 「HTTPS Certificates」 機能を使うと、DNS認証を用いて正規の証明書を発行できます。
手順
機能の有効化:Tailscale管理コンソール (Web) の [DNS] 設定に進みます。
一番下までスクロールして「MagicDNS」と「HTTPS Certificates」を Enable にします。
証明書の発行 (Ubuntu側)
まず自分のドメイン名を確認
このtail****.netが割り当てられたユニークなドメイン名です。この名前の先頭にマシン名を付けたものがアドレスになります。Machinesタブで確認できます。
コマンドラインでの確認(マシン名がubuntuだった場合)
tailscale status --json | grep ubuntu
# 出力例: ubuntu.******.ts.net
アクセスされる側のマシン(ここでは仮想環境内のubuntu)で証明書発行コマンドを打ちます。リアルマシンの場合はターミナルから実行します。
# 証明書の発行
sudo tailscale cert ubuntu.******.ts.net
これでカレントディレクトリに .crt と .key ファイルが生成されます。
Macへのファイル転送 (Taildrop):ここで Taildrop という機能を使います。AirDropのようにデバイス間でファイルを送れます。
# ファイルの所有者を自分に変更 (root権限だと転送できない場合があるため)
sudo chown username:username ubuntu.********.ts.net.*
# Mac (例: my-macbook) へ転送
tailscale file cp ubuntu.********.ts.net.crt my-macbook:
tailscale file cp ubuntu.********.ts.net.key my-macbook:
Macの「ダウンロード」フォルダに証明書が届きます。
面倒であれば、ファインダー上で移動しても問題ありません。
FMSへのインポート:あとは通常通り、FMS Admin Console の「構成 > SSL証明書」からカスタム証明書のインポートを選択
(※FMS画面上の「CSRを作成」や「Let's Encrypt証明書を要求」ボタンは使いません(これらはポート80開放が必要なため)。必ず「証明書をインポート」から行います)

署名済みの証明書ファイルは拡張子が.crtのファイル、プライベートキーファイルは拡張子が.keyのファイルです。
その他の中間証明書・プライベートキーパスワードは無視でいいです。

Let's Encryptの証明書が取得できました。有効期限は3ヶ月なので、また3ヶ月後同じ手順を踏めばいいです。
もちろん自動化も可能ですが、何回か手動でやってみた方がいいと思います。すぐ手順を忘れてしまうので。

で、後はFMSを再起動するだけです。
sudo service fmshelper restart
これで、iPhoneやMacのFileMakerから "fmnet:/ubuntu.*******.ts.net/ファイル名" にアクセスすると、嫌な警告画面はなく、緑色の鍵マーク付きでアプリ が表示されます。(今まで自己署名証明書の警告を無視していたのが嘘のように、クリーンな環境になります)
OrbStackのホストマシンからのアクセスは?
OrbStackで仮想マシンを起動させている側、いわゆるホスト側のMacからは、今まではOrbStackが発行してくれたホストマシン用のアドレス、ここでは ubuntu.orb.local 経由でアクセスしていました。
FileMaker以外のSSHアクセスならこれでいいのですが、せっかく入れたSSL証明書付きFMSへこの "ubuntu.orb.local" でFileMakerクライアントからアクセスすると、今まで通り証明書が違うといって怒られます。
そうです、証明書は"ubuntu.********.ts.net"と言うドメインに対して発行されたものなので、"ubuntu.orb.local" というネットワーク経路は違うのです。
なので、ホスト側のMacにもtailscaleアプリをインストールし、他のマシンと同じように "ubuntu.********.ts.net"経路でアクセスすればいいだけです。同じマシンの中にあるのになんでわざわざ他のネットワーク経由で?って思うでしょうが、これこそがリアルなサーバー環境なのです。
まとめ
- OrbStack で軽量なサーバーを立て、Tailscale でセキュアに繋ぐ。この組み合わせは、現時点でのFileMaker Server 開発環境の「最も簡単な構築方」の一つだと思います。
- どこでも開発: カフェのWi-Fiからでも自宅のFMSに安全に接続できます(VS Code Remoteも使えます)。
- 完全なSSL: 警告画面に悩まされることなく、WebDirectやFileMaker Goの検証が可能です。「インフラ周りの面倒臭さ」を極限まで排除し、開発そのものに集中できるこの環境、世界が変わります。
Claris側はこういった情報は公式には何も公開しません(笑)。アプリの販売会社なので、サポート的に面倒を引き起こすような情報提供はしません。公式コミュニティでユーザー同士頑張ってねというスタンス。面倒な人は金を積んでFileMakerCloud使えという企業姿勢なので。まあ当然ですね。
しかし、「上に政策あれば、下に対策あり」です。




