会社内の複数のワークスペースがそれぞれ独自のLink Agentを実行して同じプライベート環境に到達している場合、それらのワークスペーストンネルを、すべてのワークスペースが共有する1つの会社スコープのトンネルに置き換えることができます。この記事は、この移行を行う会社管理者向けです。移行が完了すると、1組のLink Agentがすべてのワークスペースにサービスを提供します。
会社スコープのトンネルにはLink 3.0が必要です。Link Agentがまだレガシープロトコルを使用している場合は、先にレガシーLinkからLink 3.0への移行を完了してください。
移行の仕組み
トンネルは名前で識別されます。ワークスペーストンネルと会社トンネルが同じ名前を持つ場合、会社トンネルに接続済みのエージェントがある限り、会社トンネルが優先されます。そのワークスペースでその名前を使用するすべてのテスト、トレーニングセッション、データベースクエリは、代わりに会社トンネル経由で実行されます。
そのため、会社トンネルへの移行では環境を編集する必要がありません。ワークスペーストンネルと同じ名前の会社トンネルを起動すると、接続が確立され次第、トラフィックは会社トンネルへ移ります。会社トンネルに接続済みのエージェントがない場合、トラフィックはワークスペーストンネルにフォールバックします。これがロールバックの方法でもあります。
移行が最も簡単なのは、すべてのワークスペースが同じネットワークに対してすでに同じトンネル名を使用している場合です。たとえば、各ワークスペースでqa-env-01を使用している場合です。この場合、その名前を持つ1つの会社トンネルが、それらすべてを一度に引き継ぎます。
ワークスペーストンネルの名前を再利用できない場合や、会社トンネルに独自の名前を付けたい場合は、代わりに新しい名前で会社トンネルを起動し、mabl CLIですべての環境に追加します。詳しくは、新しい名前で会社トンネルへ移行するを参照してください。
引き継がれるもの
- 環境、データベース接続、デプロイメントイベントは、トンネルを名前で参照しているため、そのまま機能します。
- Link Agentの設定ファイルは引き継がれます。移行中は、1つのLink Agentがワークスペーストンネルと並行して会社トンネルを提供できます。
- Link Agentのホストは、会社トンネルを提供できます。新しいマシンが必要になるのは、それを希望する場合だけです。
トラフィックが会社トンネル経由になると、いくつかの点が変わります。
- 管理。 トンネルのエージェントは、ワークスペースの所有者がワークスペース > ネットワークで管理するのではなく、会社管理者が会社ダッシュボードのネットワークページで管理します。
- トンネルアクセス設定。 そのネットワークページにある会社のLinkトンネルアクセス設定によって、誰がmablデスクトップアプリおよびCLIからトンネルに到達できるか、またmablサポートがトンネルに到達できるかどうかが決まります。ワークスペース自身の設定は、そのトンネルには適用されなくなります。
- アクティビティ。 トンネルのイベントは、各ワークスペースのアクティビティフィードではなく、会社ダッシュボードのアクティビティフィードに表示されます。
始める前に
- 会社管理者のロールが必要です。
- 会社トンネルを提供するすべてのLink Agentは、バージョン3.0以降を実行している必要があります。
- 会社トンネルを提供するすべてのLink Agentは、その名前を通じてすべてのワークスペースがテストするアプリケーションに到達できる必要があります。会社トンネルはすべてのワークスペースのトラフィックを同じエージェント経由で送信するため、あるワークスペースの環境に到達できないエージェントがあると、そのワークスペースのテストは失敗します。
- トンネルを共有するすべてのワークスペースの合計トラフィックを見込んで計画してください。詳しくは、Link Agentのサイジングとスケーリングを参照してください。
- 会社内にLink経由でテストをトレーニングする人や、トンネルの診断を実行する人がいる場合は、移行前に会社のLinkトンネルアクセス設定を行い、アクセスが維持されるようにしてください。
トンネル名を計画する
各ワークスペースが使用しているトンネル名を一覧にします。トンネル名は、各ワークスペースのワークスペース > ネットワークページにあるトンネルテーブルで確認できます。
- 同じネットワークに対してすでに同じ名前を共有しているワークスペースは、まとめて移行します。その名前を持つ会社トンネルを1つ作成します。
- 同じネットワークに対して異なる名前を使用しているワークスペースには、2つの選択肢があります。名前ごとに会社トンネルを1つずつ作成するか、新しい名前で会社トンネルを1つ作成し、mabl CLIで各ワークスペースの環境に追加します。
- 独自のトンネルが必要なワークスペース(他のワークスペースが到達できないネットワークをテストしている場合など)では、会社トンネルが使用しない名前を維持してください。会社トンネルは、その名前を使用するすべてのワークスペースを引き継ぎます。
会社のAPIキーを作成する
会社トンネルは、会社のAPIキーで起動したLink Agentによって提供されます。
- 会社ダッシュボードを開きます。mablアプリの右上にあるワークスペースのドロップダウンを展開し、会社を管理の下にある会社名をクリックします。
- APIキータブを開き、キーを作成をクリックします。
- キーのタイプとしてリンクエージェントを選択します。キーに名前を付け、有効期限を設定して、キーを作成をクリックします。
- キーをコピーして安全な場所に保管します。キーは後から再表示できません。
会社トンネルを起動する
会社トンネルを、すでにワークスペーストンネルを実行しているホストから提供するか、新しいホストから提供するかを選択します。
既存のホストで起動する
Link Agentは実行中に設定ファイルの変更を適用するため、再起動せずに移行できます。
-
いずれかのホストで、Link Agentの設定ファイルに、ワークスペーストンネルと同じ名前と会社のAPIキーを持つトンネルエントリを追加します。
tunnels: - apiKey: {workspace-link-agent-api-key} name: qa-env-01 - apiKey: {company-link-agent-api-key} name: qa-env-01 -
ファイルを保存し、会社ダッシュボードのネットワークページで会社トンネルが接続済みと表示されるまで待ちます。この時点から、
qa-env-01を使用するすべてのワークスペースのトラフィックが会社トンネル経由で送信されます。 -
残りの各ホストでも同じ変更を行い、会社トンネルに複数のエージェントが存在するようにします。
新しいホストで起動する
- 各新しいホストで、会社のAPIキーと、ワークスペーストンネルと同じトンネル名を指定してLink Agentをセットアップします。
- 会社ダッシュボードのネットワークページでエージェントが接続済みと表示されるまで待ちます。この時点から、その名前を使用するすべてのワークスペースのトラフィックが会社トンネル経由で送信されます。
トラフィックが移行したことを確認する
- 会社ダッシュボードのネットワークページで、トンネルテーブルを確認します。ワークスペース列には、環境が会社トンネルを使用しているワークスペースが表示されます。
- 各ワークスペースで、mabl Linkを使用するプランを実行し、成功することを確認します。
- 各ワークスペースのワークスペース > ネットワークページで、会社トンネルが引き継ぐにつれてワークスペーストンネルのトラフィックがゼロになることを確認します。
会社トンネルに確信が持てるまで、ワークスペーストンネルは実行したままにしておいてください。ワークスペーストンネルが実行されている間は、会社トンネルのエージェントを停止すると、トラフィックはすぐにワークスペーストンネルへ戻ります。
ワークスペーストンネルを廃止する
会社トンネルが正常に動作するようになったら、ワークスペーストンネルを廃止します。
- 共有ホストでは、 設定ファイルからワークスペーストンネルのエントリを削除して保存します。ワークスペーストンネルは新しい接続の受け付けを停止し、現在の接続が完了するのを待ちます。その間も会社トンネルは動作し続けます。
- ワークスペーストンネルのみを提供しているホストでは、 そのワークスペースのワークスペース > ネットワークからLink Agentをシャットダウンします。詳しくは、mabl Linkトンネルの削除を参照してください。
ワークスペーストンネルがなくなったら、それらのトンネルでしか使用していなかったワークスペースの「リンクエージェント」APIキーを無効化できます。
新しい名前で会社トンネルへ移行する
名前による移行は、会社トンネルがワークスペーストンネルの名前を再利用できる場合にのみ機能します。ワークスペースが同じネットワークに対して異なる名前を使用している場合や、会社トンネルに独自の名前を付けたい場合は、新しい名前で会社トンネルを起動し、次の2つのmabl CLIコマンドで環境がそのトンネルを参照するようにします。
-
mabl link-agents add-to-environmentsは、すでにmabl Linkを使用しているすべての環境とデータベース接続に、現在使用しているトンネルと並べてトンネルを追加します。 -
mabl link-agents remove-from-environmentsは、会社トンネルがサービスを提供するようになった後、それらからトンネルを削除します。
--company-idを指定すると、各コマンドは会社内のすべてのワークスペースを対象にします。会社IDは-coで終わります。会社IDの確認方法については、mablリソースIDを参照してください。
どちらのコマンドも、--executeを付けるまではドライランです。ドライランでは、変更対象となる各環境とデータベース接続が、変更前と変更後のトンネルとともに一覧表示され、何も変更されません。まず--executeなしで各コマンドを実行して一覧を確認し、その後--executeを付けて再度実行してください。--executeでの実行結果には、変更前に各環境が使用していたトンネルが記録されるため、保存しておいてください。
以下の手順では、会社トンネルの名前の例としてqa-sharedを使用します。
必要なもの
- 始める前にの要件を満たしていること。
- mabl CLI 2.141.2以降をインストールし、会社管理者として
mabl auth loginでサインインしていること。 - どのワークスペーストンネルも使用していない名前を会社トンネル用に選ぶこと。ワークスペーストンネルに同じ名前がある場合、移行の仕組みで説明したとおり、会社トンネルがそのトンネルを引き継ぎます。
新しい名前で会社トンネルを起動する
-
会社のAPIキーを作成します。
-
会社トンネルを起動するの説明に従い、既存のホストまたは新しいホストで、会社のAPIキーと新しいトンネル名を指定して1つ以上のLink Agentを起動します。たとえば、すでにワークスペーストンネルを提供しているエージェントの設定ファイルに、次のエントリを追加します。
tunnels: - apiKey: {workspace-link-agent-api-key} name: qa-env-01 - apiKey: {company-link-agent-api-key} name: qa-shared -
会社ダッシュボードのネットワークページでエージェントが接続済みと表示されるまで待ちます。
この時点では、会社トンネルを指定している環境がないため、会社トンネル経由のトラフィックはまだありません。
会社トンネルをすべての環境に追加する
-
変更内容をプレビューします。
mabl link-agents add-to-environments --company-id {company-id} --tunnel qa-sharedこのコマンドは、mabl Link経由でルーティングするすべての環境と、トンネルを指定しているすべてのデータベース接続またはオーバーライドに
qa-sharedを追加します。Linkを使用していない環境と、トンネルを指定していないデータベース接続はそのまま残ります。 -
一覧を確認してから、変更を適用します。
mabl link-agents add-to-environments --company-id {company-id} --tunnel qa-shared --execute
これで各環境には、ワークスペーストンネルとqa-sharedの両方が表示されます。環境に複数のトンネルが指定されている場合、mablは各接続をそのいずれかのトンネル経由で送信し、最初のトンネルが接続先に到達できない場合は別のトンネルを試します。そのため、ワークスペーストンネルがサービスを提供し続ける間に、トラフィックは会社トンネル経由で流れ始めます。
会社トンネルが動作することを確認する
- 会社ダッシュボードのネットワークページで、トンネルテーブルを確認します。ワークスペース列には、環境が
qa-sharedを使用しているワークスペースが表示されます。 - 各ワークスペースで、mabl Linkを使用するプランを実行し、成功することを確認します。
会社トンネルに確信が持てるまで、ワークスペーストンネルは実行したままにしておいてください。環境からワークスペーストンネルを削除するまでは、mabl link-agents remove-from-environments --company-id {company-id} --tunnel qa-shared --executeを実行して元に戻せます。
環境からワークスペーストンネルを削除する
-
変更内容をプレビューします。
mabl link-agents remove-from-environments --company-id {company-id} --all-except qa-shared--all-exceptを指定すると、このコマンドはqa-sharedを指定している各環境とデータベース接続から他のすべてのトンネルを削除し、qa-sharedを指定していないものはそのまま残します。削除するはずのワークスペーストンネルがプレビューの環境にまだ残っている場合、その環境はqa-sharedを指定していません。たとえば、トンネルを追加した後に誰かがその環境を作成した場合です。add-to-environmentsコマンドを再度実行してその環境にqa-sharedを追加し、もう一度プレビューしてください。 -
一覧を確認してから、変更を適用します。
mabl link-agents remove-from-environments --company-id {company-id} --all-except qa-shared --execute
これで、すべてのトラフィックが会社トンネル経由で送信されます。ワークスペースをロールバックするには、mabl link-agents add-to-environments --workspace-id {workspace-id} --tunnel {workspace-tunnel} --executeでそのワークスペーストンネルを追加し直し、保存しておいた実行結果と比較します。
ワークスペーストンネルを指定している環境がなくなったら、ワークスペーストンネルを廃止します。