Continuous Testing Tunnel

概要

Continuous Testing トンネルにより、内部環境と Datadog インフラストラクチャーの間に短期間の安全な接続が作成され、プライベートアプリケーションで Synthetic HTTP およびブラウザテストを迅速にトリガーできるようになります。

Datadog は、専用の長期間のプロービングシステム (プライベートロケーションなど) をデプロイせずに、アプリケーションのローカルバージョンに対して Continuous Testing のテストを起動する必要がある場合、テストトンネルの使用を推奨しています。テストトンネルは、短命のクラウド環境に対するテストのトリガーとして使用することができます。

テストトンネルとは

テストトンネルは、@datadog/datadog-ci NPM パッケージに付属する機能です。これは、CI/CD パイプラインの一部として Synthetic テストを含めるために Datadog が提供する方法の 1 つです。テストトンネルは、インフラストラクチャーと Datadog の間にエンドツーエンドの暗号化された HTTP プロキシを作成します。つまり、CLI を介して送信されたテストリクエストはすべて、datadog-ciクライアントを介して自動的にルーティングされます。これにより、Datadog は内部アプリケーションにアクセスしてテストすることができます。

Synthetic テストトンネル図

datadog-ci はまず、認証のために Datadog から事前に署名された URL を取得します。次に、事前に署名された URL を使用して、Datadog の管理された場所への WebSocket Secure 接続 (wss) を開きます。WebSocket 接続を介した SSH 接続を使用して、テストは datadog-ci によってトリガーされ、Datadog の管理ロケーションを介して実行されます。

DNS 解決はトンネルを介して実行されるため、内部ドメインを使用して、または datadog-ci を実行しているマシンの localhost でアプリケーションをテストできます。

テストトンネルを使用する場合、テストのロケーションは、Datadog アカウントのリージョンに依存するロケーションによって上書きされます。

テストトンネルの使用方法

上記のように、テストトンネルは @datadog/datadog-ci NPM パッケージに付属しており、パッケージのバージョン v0.11.0 から入手できます。開始するには、Continuous Testing と CI/CD を参照してください。

ローカルマシンまたは CI サーバーにクライアントをセットアップしたら、--tunnel で HTTP およびブラウザテストを起動するために使用するコマンドを追加することにより、トンネルでテストを起動することを決定できます。たとえば、グローバルコンフィギュレーションファイルを使用している場合は、次を使用できます。

datadog-ci synthetics run-tests --config <GLOBAL_CONFIG_FILE>.json --tunnel

ファイアウォールの要件

次の Datadog エンドポイントに対してアウトバウンド接続を許可します。

ポートエンドポイント説明
443tunnel-us1.synthetics.datadoghq.comdatadog-ci クライアントからトンネルサービスへの wss 接続を開くために必要です。
443intake.synthetics.datadoghq.com事前に署名された URL を取得し、Synthetic テストをトリガーするために必要です。
443api.datadoghq.comSynthetic テストを検索して取得し、結果をポーリングするために必要です。

ポートエンドポイント説明
443tunnel-eu1.synthetics.datadoghq.comdatadog-ci クライアントからトンネルサービスへの wss 接続を開くために必要です。
443api.datadoghq.eu事前に署名された URL を取得し、Synthetic テストを検索し、取得し、トリガーし、結果をポーリングするために必要です。

: トンネルサービスのトップレベルドメインは .com (.eu ではありません) ですが、エンドポイントは EU (Frankfurt AWS) にあります。

ポートエンドポイント説明
443tunnel-us3.synthetics.datadoghq.comdatadog-ci クライアントからトンネルサービスへの wss 接続を開くために必要です。
443api.us3.datadoghq.com事前に署名された URL を取得し、Synthetic テストを検索し、取得し、トリガーし、結果をポーリングするために必要です。

ポートエンドポイント説明
443tunnel-us5.synthetics.datadoghq.comdatadog-ci クライアントからトンネルサービスへの wss 接続を開くために必要です。
443api.us5.datadoghq.com事前に署名された URL を取得し、Synthetic テストを検索し、取得し、トリガーし、結果をポーリングするために必要です。

ポートエンドポイント説明
443tunnel-ap1.synthetics.datadoghq.comdatadog-ci クライアントからトンネルサービスへの wss 接続を開くために必要です。
443api.ap1.datadoghq.comSynthetic テストの URL 取得、検索、取得、トリガー、結果ポーリングに必要です。

その他の参考資料