mablは、mabl自身のインフラストラクチャからクラウドテストを実行します。公開されていないテスト対象アプリケーションにアクセスするには、ネットワーク内でmabl Link Agentを実行するか、ファイアウォールの許可リストにmablの静的IPアドレスを追加するか、いずれかの方法でmablにアクセスを許可する必要があります。この記事では、2つの方法を比較し、どちらを選ぶかを決めるための質問を順に説明します。
2つの方法の概要
次の表では、mablでプライベート環境をテストするための2つの方法を比較しています。構成によっては、ある環境ではmabl Linkを使用し、別の環境では静的IPアドレスの許可リストでアクセスを許可するなど、両方を組み合わせて使用することもできます。
| mabl Link | 静的IPアドレスの許可リスト | |
|---|---|---|
| 仕組み | ネットワーク内の小さなエージェントが、mablへの送信接続を開きます。クラウドテストは、このエージェントを経由してアプリにアクセスします。 | ファイアウォールが、mablが公開しているIPアドレスからのトラフィックを許可します。 |
| お客様側で変更する内容 | エージェントをインストールして実行します。受信用のファイアウォールの変更は不要です。ファイアウォールで送信トラフィックを制限している場合は、エージェントからmablへの接続を許可します。 | ファイアウォールまたはWAFのルールにmablのIPアドレス範囲を追加します。 |
| テストトラフィックの送信元 | エージェントを実行しているマシンです。 | mablのクラウドから、公開されているIPアドレス範囲で送信されます。 |
| 内部ホスト名の解決 | 可能です。名前はネットワーク内で解決されます。 | できません。アプリにパブリックアドレスが必要です。 |
| セットアップを行うユーザー | ネットワーク内のサーバーにアクセスできる担当者に加え、APIキーを作成するワークスペースの所有者、または複数のワークスペースで共有するトンネルの場合は会社管理者です。 | ネットワークチームまたはファイアウォールの担当チームです。 |
| 適したケース | 社内アプリ、プライベートDNS、データベース。 | 1つのファイアウォールまたはWAFの背後にある少数のパブリックアプリ。 |
選び方
次の各質問では、回答に応じた推奨事項を示します。
アプリにインターネットからアクセスできますか?
環境にパブリックアドレスがなく、内部ホスト名またはプライベートIPアドレスしかない場合、許可リストは役に立ちません。インターネット上にmablの接続先が存在しないためです。mabl Linkを使用してください。アプリがパブリックでもIPアドレスによって制限されている場合は、どちらの方法も使用できるため、次の質問で判断します。
テストでデータベースにクエリーを実行しますか?
Linkを使用してください。mablのIPアドレスからWeb層へのアクセスを許可するファイアウォールルールでは、データベースのトラフィックは許可されません。また、多くの顧客が共有するIPアドレス範囲に対してデータベースのポートを開く変更は、ほとんどのセキュリティチームが承認しません。Linkを経由すれば、テストがアプリにアクセスするのと同じ方法で、データベースクエリーもデータベースに到達します。プライベートデータベースへのクエリの実行を参照してください。
その環境に対してモバイルテストを実行しますか?
モバイルテストの場合、mabl Linkが伝送するのはAPIステップ、JavaScriptスニペット、データベースクエリーのみで、モバイルのクラウドトレーニングでは使用できません。モバイルアプリ自体がプライベート環境にアクセスする必要がある場合は、その環境には許可リストを使用してください。mabl Linkによるセキュアトンネリングを参照してください。
mablとアプリの間に、ボット対策で保護されているものはありますか?
アプリの前段にあるコンテンツ配信ネットワーク (CDN)、Webアプリケーションファイアウォール (WAF)、またはIDプロバイダーのボット対策は、ファイアウォールがmablのクラウドトラフィックを許可した後でも、そのトラフィックにチャレンジを課すことがあります。Linkのトラフィックはネットワーク内から発信されるため、データセンターのIPアドレスに基づくチャレンジは回避できます。ただし、mablのブラウザテストが送信するマーカーをキーとするルールは回避できません。それでも許可リストを選択する場合は、接続の問題のトラブルシューティングで、チャレンジを見分けて対処する方法を確認してください。
セキュリティチームにはどの程度の制御が必要ですか?
静的IPアドレス範囲はすべてのmablの顧客で共有されているため、許可リストのルールは、お客様のテストだけでなく、mablのあらゆる顧客のクラウドテストを許可します。許可リストを選択するチームは通常、ルールの対象をテスト対象のホストに絞り込み、ヘッダーの条件を追加し、実際のアクセス制御としてアプリケーション自体のログインを維持します。その方法については、mablの静的IPアドレスで説明しています。
Linkの場合、mablがアクセスできるのは、Link Agentのホストがアクセスできる範囲に限られます。そのホストのネットワークアクセスはお客様のチームが管理し、エージェントの設定ファイルの接続フィルターによって、アクセス範囲をテスト対象のアプリケーションに絞り込めます。ワークスペースの所有者と会社管理者は、mablデスクトップアプリまたはmabl CLIからトンネルにアクセスできるロールを選択します。また、トラブルシューティングのためにmablサポートがトンネルにアクセスすることを許可することもできます。Linkトンネルへのアクセスの制御を参照してください。
ネットワークの外部からでもアプリの応答は十分に速いですか?
ネットワーク内からはミリ秒単位で応答する環境でも、パブリックな入口が外部からの呼び出しを想定して構築されていない場合は、mablのクラウドからのアクセスが遅くなることがあります。許可リストに決める前に、その環境に対してクラウドテストを1回実行し、所要時間をローカル実行と比較してください。大きな差がある場合、Linkで解消できるとは限らないため、決定する前にどこで時間がかかっているのかを特定してください。
両方を使用する
Linkは環境ごとに有効にするため、一部の環境ではLinkを使用し、それ以外の環境では許可リストを使用することもできます。たとえば、IPアドレスで制限された外部ホストのUAT環境には許可リストを使用し、完全に内部にあるQA環境にはLinkを使用できます。Linkトンネルを環境に割り当てる方法については、mabl Link経由でのテストの作成と実行を参照してください。
複数のワークスペースが同じプライベート環境をテストする場合は、会社スコープのLinkトンネルを使用すると、ワークスペースごとにLink Agentを実行する代わりに、1組のLink Agentを共有できます。
どちらの方法も承認されない場合
組織がネットワーク内でのエージェントの実行もファイアウォールの変更も認めない場合でも、CIランナーなど、プライベート環境にアクセスできるマシンからmabl CLIを使用して、その環境に対してテストを実行できます。テストはお客様自身のインフラストラクチャで実行されるため、スクリーンショットやDOMスナップショットなどのクラウド実行の機能は利用できず、実行結果の確認にも時間がかかります。標準の自動修復は引き続き実行されますが、その修正はテストに保存されません。また、高度な自動修復はクラウド実行でのみ機能します。後からLinkが承認された場合は、同じCI環境でLink Agentを実行すれば、テストを変更せずにクラウド実行に戻せます。