モード変更


    言語

Open the Twingate

2021/10/28

こんにちは。奥田@島根です。

今回のブログでは、私の担当しているプロジェクトで利用していて便利と感じているにもかかわらず、あまり日本語の Web記事が多くない (日本での利用実績が多くない?) Twingate を紹介します。

Twingate とは

昨今、リモートワークが推奨され、オフィスに出社する機会は減っていることでしょう。モンスターラボでもリモートワークが推奨されています。 自宅などの不特定なネットワークから開発環境などの制限されたネットワークにアクセスする際、どのような手法を取っているでしょうか。多くの企業では VPN を利用していることと思います。 Twingate は VPN を置き換え、セキュリティ/メンテナビリティ/パフォーマンス/ユーザビリティを高めるソリューションです。

Twingate のアーキテクチャ

Twingate はゼロトラストモデルをベースとしたアーキテクチャを採用しています。

Twingate Architecture Reference: https://docs.twingate.com/docs/architecture-overview

VPN vs Twingate

Twingate が VPN のどんな問題を置き換えるか、説明します。

セキュリティ

  • アクセス制御
    • VPN では VPN ゲートウェイとの間でコネクションを確立すると、VPN経由のアクセスを許可したすべてのネットワークにアクセスできます。例えば複数のプロジェクトの開発環境が存在する場合、担当外の開発環境にもアクセスできてしまうため、セキュリティ担保の観点で好ましくないでしょう。各プロジェクトごとにBASIC認証などの他の認証システムの導入も併せて検討が必要となりそうです。 一方、Twingate ではリソース単位でのアクセス制御が可能となるため、特定のユーザやユーザグループのみにアクセスを制限することができます。
  • インターネットへの露出
    • VPN の場合、VPN ゲートウェイをインターネットに露出する必要があります。すなわち、攻撃の脅威にさらされる事となります。 一方 Twingate の場合、コネクタはインターネットへのアウトバウンドアクセスのみ持てばよく、プライベートなネットワークにホストすることができるため脅威にさらされることはありません。

パフォーマンス

  • リソース制限
    • Twingate では指定したリソースへのアクセスのみ Twingate を経由します。そのため、例えば Twingate を有効にしたまま動画配信サービスで動画を視聴しても、意図せず Twingate を経由することはありません。

メンテナビリティ

  • 設定
    • ユーザ、ユーザグループ、リソース、ネットワークなどの設定は Twingate コンソール上から設定できます。 Twingate ネットワークの Admin 権限さえあれば設定可能となるため、複雑なユーザ権限管理をする必要もありません。
  • デプロイ
    • Twingate コネクタのデプロイは Docker / Helm / AWS ECS / Manual など多くのデプロイ方法が手順化して用意されているので、導入も容易です。Twingate コネクタとアクセス対象のリソースの間で通信ができること、Twingate コネクタがインターネットへのアウトバウンドアクセスが可能であること、の2点だけが注意すべきポイントです。

ユーザビリティ

  • 対象デバイス
    • VPN ソフトウェアによっては、接続可能なデバイスに制限があります。弊社の VPN ソフトウェアの場合、モバイル端末からの VPN 接続に問題があるようです。Twingate の場合、iOS / Android / macOS / Windows / Linux / Chrome OS 向けのクライアントアプリが用意されているので、ほとんどのデバイスをカバーできるでしょう。デバイスにクライアントアプリをインストールし、Twingate ネットワークに接続するだけで簡単に指定したリソースにアクセスできます。

料金

Twingate を導入するには以下の料金がかかります

  • Twingate の利用料金
    • Teams プラン: $6 [user / month]
    • Business プラン: $12 [user / month]
  • Twingate Connector のインフラコスト (EC2など)

注意点として、Teams プランでは最大50ユーザ/5リモートネットワーク、Business プランでは最大150ユーザ/10リモートネットワークの制限があり、大規模なプロジェクトの場合やクローズドテストを行おうとした場合は容易に制限を超えてしまうことが考えられます。その場合はカスタムの Enterprise プランも用意されていますのでサポートに問い合わせてみるとよいでしょう。

Twingate 導入のステップ

それでは実際に Twingate の導入を試してみましょう。 今回はプライベートネットワーク内のローカルPCに立ち上げた Web アプリにネットワーク外からアクセスしてみようと思います。 なお、Twingate にはフリートライアル期間がありますので、この手順は無料で試すことができます。

0. Web アプリケーションの構築

アクセスするための Web アプリケーションを構築・実行しておきましょう。以下は Rails の例です。

$ rails new twingate_sample
$ cd twingate_sample
$ rails s -b 0.0.0.0

1. Twingate ネットワークの作成

Twingate の Webページ にアクセスし、 Create a new Network リンクからネットワークを構築しましょう。サインアップやネットワーク名の入力などが求められます。画面の案内に従って入力していけばよいでしょう。

2. Connector の構築

次にコネクタを構築します。 まずリモートネットワークの Location は、今回は On Premise を選択します。 次に Add Connector > Deploy Connector と選択し、デプロイ方法には Docker を選択しましょう。 Generate Token すると、Twingate コネクタを Docker で実行するためのコマンドが表示されますので、それをコピーし、(Webアプリケーションを実行している) ローカルPC上で実行しましょう。 Twingate コンソールのコネクタ一覧に表示されるコネクションステータスが Connected になったらコネクタの構築は完了です。

3. Twingate リソースの設定

ローカルPC上のWebアプリケーションにアクセスするため、ローカルPCのプライベートアドレスをリソースに追加します。 Twingate コンソールから作成した Twingate ネットワークの画面に進み、 Add Resource を選択します。 CIDR を選択し、DNS Address にローカルPCのプライベートアドレス(例:192.168.10.100/32)を入力します。Label は任意で OK です。 次に、作成したリソースに対し、デフォルトで存在する Everyone グループを割り当てます。これで、Twingate ネットワークにアカウントを持つ全てのユーザが作成したリソースにアクセスできるようになります。

4. クライアントアプリのセットアップ

ここでは iPhone にアプリをセットアップしていきます。 App Store で Twingate と検索すると Twingate アプリが表示されるのでインストールします。 インストール後は作成した Twingate ネットワークのネットワーク名(*.twingate.com)を入力し、サインインします。

5. 確認

セットアップが完了しましたので、 iPhone からローカルPC上の Webアプリケーションにアクセスしてみましょう。(Twingate 経由でアクセスできていることを明確にするため、WiFi の接続を OFF にしてモバイル回線を利用するとよいでしょう) iPhone のブラウザでローカルPCの Webアプリケーションの URL を入力してみましょう。(例: http://192.168.10.100:3000)

これだけのステップで簡単にプライベートなリソースにアクセスできます。

まとめ

Twingate はサービス利用料はかかりますが、面倒な管理や保守、セキュリティリスクから開放されることを考えるとよい選択肢になるのではないでしょうか。14日間のフリートライアルもあるので、まずはその使い勝手のよさを試してみましょう。

Open the Twingate!

twingate

Author

Shuhei Okuda

Shuhei Okuda

エンジニアリングマネージャー/バックエンド/テックリード

電機メーカーのソフトウェア開発部門、SIerを経て2019年1月にモンスターラボ入社。バックエンドチームのエンジニアリングマネージャー。プロジェクトではテックリードとして主にバックエンド開発やインフラ構築を担当。2児の父。好きな音楽のジャンルはジャズ、ラテン、アフロ、ダブなど。

その他おすすめ記事

2026/07/07

FastAPI × Diffusers でローカル完結の「顔属性変換」学習アプリをつくる

生成 AI を「使う」だけでなく「アプリに組み込む」とどうなるのか。これを手を動かして理解したくて、人物写真をアップロードすると顔の属性(性別的な見た目)だけを別の性別に変換する学習用 Web アプリを個人で作りました。外部の画像生成 API には一切頼らず、推論まですべてローカルで完結させているのが特徴です。本記事では、その構成と実装上の判断、つまずいた点を技術寄りに整理して共有します。 なぜ「ローカル完結」にこだわったのか 顔写真は最もセンシティブな個人データのひとつです。学習目的とはいえ、自分や知人...

Ryuji Takano

Ryuji Takano

Machine Learning

2026/06/30

AIで生演奏のピッチ検出を試してみた

さて。このAI全盛期、我が社でも例に漏れずAIをうまく使っていこうという流れがきているため、AIを使った技術の検証をしてみようと思います。 どうせなら自分に身近なテーマを、ということで長らく趣味で習っているヴァイオリンのピッチ判定ができたら面白そうです。 調べてみたところいくつか使えそうなAIモデル(CREPE、Basic Pitch)があったため使えるか検証していきます。 また、比較用としてAIを使っていない従来の方式のaubioも試してみましょう。 はてさて、全てうまく動くでしょうか...。 環境構...

Mayumi Ishiyama

Mayumi Ishiyama

Machine Learning

サービス開発実績会社情報
採用情報インサイトお問い合わせ
© 2022 Monstarlab
情報セキュリティ基本方針個人情報の取り扱いについて個人情報保護方針