モード変更


    言語

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児の父。

その他おすすめ記事

2024/11/05

エンタープライズデータ基盤における dbt の活用戦略

近年、データ駆動型の意思決定が企業の競争力を左右する重要な要素となっており、大規模かつ複雑なデータ基盤の構築が不可欠となっています。この潮流の中で、dbt(data build tool)は、エンタープライズレベルのデータ変換とモデリングを効率化する強力なツールとして注目を集めています。 dbt は、SQL を使用してデータ変換を定義し、バージョン管理、テスト、ドキュメンテーションを統合的に行うことができるオープンソースツールです。特に以下の点で、エンタープライズデータ基盤の構築に大きな価値をもたらします...

Yoshiaki Sano

Yoshiaki Sano

Architecture

2024/11/04

データエンジニアリング初心者でも分かる!dbtの魅力と基本

データ駆動型ビジネスが当たり前となった今日、多くの企業がデータ分析の課題に直面しています。複雑な SQL クエリの管理、データの整合性確保、分析プロセスの再現性など、様々な問題が山積みです。そんな中で注目を集めているのが「dbt(data build tool)」です。 本記事では、データエンジニアリングの深い知識がなくても理解できるよう、dbt の基本と魅力について解説します。 dbt とは? dbt は、SQL を中心としたデータ変換ワークフローを管理するためのオープンソースツールです。従来の SQL...

Yoshiaki Sano

Yoshiaki Sano

Architecture

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