すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Service Mesh:トラフィックレーンの概要

最終更新日:Jan 13, 2025

Service Mesh (ASM) では、アプリケーションのバージョンまたは特定の機能を独立したランタイム環境 (レーンと呼ばれます) に分離できます。次に、ルールを満たすリクエストをアプリケーションの宛先バージョンまたは機能にルーティングするようにレーンルールを設定できます。このトピックでは、トラフィックレーンの概念と使用シナリオ、および厳格モードと許容モードの両方のトラフィックレーンについて説明します。

機能の説明

カナリアリリースを使用すると、新しいサービスまたはバージョンを段階的にロールアウトできます。たとえば、新しいバージョンをリリースする場合、最初にトラフィックの一部をそのバージョンに転送して機能をテストし、機能が検証された後にトラフィックを増やすことができます。

サービスが相互に呼び出す場合、カナリアリリースを実行するときに、環境を分離し、エンドツーエンドのサービス呼び出しチェーンのトラフィックシェーピングを実行する必要がある場合があります。つまり、カナリアリリーストラフィックが、対応する呼び出しチェーン内のカナリアリリースバージョンのサービスのみに送信されるようにする必要があります。このようにして、異なる呼び出しチェーンは互いに分離されます。

同じバージョンまたは特定の機能を持つ異なるサービスで構成されるこのような呼び出しチェーンは、トラフィックレーンと呼ばれます。トラフィックレーンを使用することにより、ゲートウェイからサービスへのトラフィックの分離環境を構築するために、少数のルールのみを設定する必要があります。トラフィックレーンは、複数のサービスのリリースとサービスの複数のバージョンの並行開発を容易にします。

トラフィックレーンには、厳格モードと許容モードの 2 つのモードがあります。次のセクションでは、これらの 2 つのトラフィックレーンモードについて詳しく説明します。

厳格モードのトラフィックレーン

厳格モードでは、各トラフィックレーンには、関連する呼び出しチェーン内のすべてのサービスが含まれています。このモードには、アプリケーションに対する要件はありません。エンドツーエンドのトラフィック管理を実装するには、トラフィックレーンを設定するだけで済みます。詳細については、「厳格モードのトラフィックレーンを使用してエンドツーエンドのトラフィックを管理する」をご参照ください。

image.png

許容モードのトラフィックレーン

許容モードでは、関連する呼び出しチェーン内のすべてのサービスを含むベースラインレーンを作成するだけで済みます。他のレーンは、関連する呼び出しチェーン内のすべてのサービスを含む必要はありません。レーン内のサービスが相互に呼び出す場合、呼び出されるサービスがレーンに存在しない場合、リクエストはベースラインレーン内の同じサービスに転送されます。呼び出されるサービスがレーンで使用可能になると、リクエストはレーン内の目的のサービスに転送されます。許容モードでトラフィックレーンを使用する場合、アプリケーションは、対応する呼び出しチェーン全体で透過的に送信できるヘッダーをリクエストに追加する必要があり、そのようなヘッダーは異なる値を持つ必要があります。これらのリクエストヘッダーは、エンドツーエンド (E2E) パススルーリクエストヘッダーと呼ばれます。詳細については、「シナリオ 1:トレース内のトレース ID をパススルーする」および「シナリオ 2:トレース内のカスタムリクエストヘッダーをパススルーする」をご参照ください。

image.png

厳格モードと許容モードの比較

トラフィックレーンモード

メリット

制限

使用シナリオ

厳格モード

アプリケーションに要件は課されません。

各トラフィックレーンには、関連する呼び出しチェーン内のすべてのサービスが含まれている必要があります。

このモードは、呼び出しチェーン内のすべてのサービスに対してカナリアリリースを実行するシナリオに適用できます。呼び出しチェーン内のすべてのサービスに対してカナリアリリースを実行する場合、厳格モードは許容モードと比較してアプリケーションへの要件が少なくなります。

許容モード

アプリケーションは、リクエストに E2E パススルーリクエストヘッダーを追加する必要があり、そのようなヘッダーは異なる値を持つ必要があります。

ベースラインレーンに関連する呼び出しチェーン内のすべてのサービスが含まれており、他のレーン内のサービスクエリがベースラインレーンに転送できることを確認する必要があります。

E2E パススルーリクエストヘッダーが使用される場合、許容モードのトラフィックレーンはより多くのシナリオで使用できます。たとえば、呼び出しチェーン内の一部のサービスの新しいバージョンのみがリリースされる場合、許容モードのトラフィックレーンを使用してこれらの新しいバージョンをテストできます。