Tailscaleロゴ

AppConnectorの仕組み

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

AppConnectorはすべてのプランでご利用いただけます。

AppConnectorを使用すると、自社ホスト型アプリケーションおよびSaaS(Software as a Service)アプリケーションのトラフィックを、Tailscaleネットワーク(tailnet)内の専用デバイスを経由してルーティングできます。AppConnectorはサブネットルータと同様に機能しますが、IPアドレスではなくドメイン名でアプリケーションへのルーティングを行える点で優れており、より安定した接続を実現します。

さらに、AppConnectorはアプリケーション接続・監視・最適化・セキュリティ・信頼性に関するさまざまなニーズに対応するために活用できます。

対応するアプリケーションの種類

管理オプションとメリット

信頼性オプションとメリット

AppConnectorの信頼性オプションの詳細については、高可用性の設定を参照してください。

仕組み

AppConnectorの動作を理解するための用語と定義を以下に示します。

AppConnector(App connector)
機能全体を指す一般的な用語であり、tailnetでAppConnectorを追加・削除するための管理コンソールの設定も含みます。
AppConnectorデバイス(App connector device)
アプリケーションへのトラフィックルーティングを担当する、tailnet内のLinuxデバイスです。
アプリケーション(Application)
AppConnectorデバイスがtailnetトラフィックをルーティングする先の、自社ホスト型・クラウドベース・SaaSアプリケーションです。

AppConnectorのセットアップ手順を以下に示します。詳細については、tailnetでのAppConnector設定を参照してください。

  1. tailnetポリシーファイルを設定して、tailnet内のAppConnectorのデバイス権限(タグを含む)を定義します。
  2. 設定したタグをtailnet内のデバイスに割り当て、AppConnectorへのアクセスを許可します。
  3. tailnet上のLinuxデバイスを、アプリケーションへのトラフィックをルーティングする専用AppConnectorとして設定します。このデバイスはパブリックIPアドレスを持ち、IPフォワーディングが有効になっている必要があります。
  4. 管理コンソールでAppConnectorを設定し、タグとアプリケーションのドメイン名を指定します。
  5. AppConnectorデバイスのIPアドレスからのリクエストのみを許可するIPアローリストなど、追加のアクセス・セキュリティ要件をアプリケーション側で設定します(任意)。

アクセス制御ポリシーでtailnet内の特定のユーザとデバイスのみがAppConnector経由でアプリケーションにアクセスできると仮定した場合の、AppConnectorの動作概要は以下の通りです。

  1. 指定のタグが付与されたデバイスがアプリケーションにアクセスします。
  2. リクエストがAppConnectorとして指定されたデバイスに転送されます。
  3. AppConnectorは、アプリケーションドメインによってアドバタイズされたIPアドレスへのエグレスによってトラフィックをアプリケーションにルーティングします。
  4. (任意)アプリケーションは、リクエストがAppConnectorのパブリックIPアドレスから来ていることを検証します。
  5. アプリケーションからのトラフィックはAppConnectorを経由して折り返され、tailnet内のユーザデバイスに送信されます。

DNSディスカバリの仕組み

AppConnectorはPeerAPIを使用してDoH(DNS over HTTPS)によるDNSディスカバリを実行します。

  1. アクセス要件:クライアントデバイスがAppConnectorタグにアクセスできる必要があります。これにより、AppConnectorがピアとして表示されます。
  2. DNS解決:AppConnectorはDoHを使用して設定済みドメインをIPアドレスに解決します。
  3. ルートのアドバタイズ:探索されたIPアドレスは自動的にtailnetへのルートとしてアドバタイズされます。

ICMP程度の最小限のアクセスがあればピアディスカバリは有効になります。アプリケーションへのフルアクセスは必要ありません。

注意事項

デバイスキーの有効期限切れ

コネクタ(AppConnector、サブネットルータ、出口ノードなど)のキーが有効期限切れになると、コネクタがアドバタイズしたルートは他のデバイス上で設定されたままですが、到達不能になります(「フェイルクローズ」ポリシーとも呼ばれます)。Tailscaleがこれらのルートを意図的に維持するのは、削除すると信頼されていないネットワークへのトラフィック漏洩が発生する可能性があるためです。

この動作による障害を防ぐには、コネクタのキーの有効期限を無効にするか、高可用性を設定してください。キーの有効期限切れ時にルートを取り消したい場合は、管理コンソールまたはAPIを使用して、特定の条件が満たされたときにアドバタイズされたルートを有効化・無効化できます。

関連情報