ビジネスリクエストを他のサービスやアプリケーションに分散させるには、アプリケーションのゲートウェイルーティング機能を設定してリクエストをルーティングおよび分散させることができます。このトピックでは、Microservices Engine (MSE) クラウドネイティブゲートウェイを使用してアプリケーションのルーティングルールを設定する方法について説明します。
背景情報
MSE クラウドネイティブゲートウェイは Kubernetes Ingress と互換性があります。これらのゲートウェイは、Container Service for Kubernetes (ACK) や Nacos などのソースからサービスを検出し、さまざまなセキュリティおよび O&M 機能を提供できます。
前提条件
MSE
MSE クラウドネイティブゲートウェイが作成されていること。詳細については、「MSE クラウドネイティブゲートウェイの作成」をご参照ください。
SAE
名前空間が作成されていること。MSE クラウドネイティブゲートウェイと SAE 名前空間が同じリージョンにあり、同じ VPC に関連付けられていることを確認してください。詳細については、「名前空間の作成」をご参照ください。
アプリケーションが作成されていること。
使用上の制約をよく理解していること。詳細については、「MSE クラウドネイティブゲートウェイの使用上の制約」をご参照ください。
ルーティングルールの作成
SAE ゲートウェイルーティング で、ページの上部でターゲットリージョンと名前空間を選択し、[ゲートウェイルートの作成] をクリックします。
[ルートの作成] ページでパラメーターを設定し、[保存] をクリックします。
設定項目
説明
ルート名
ルーティングルールの名前。カスタム名を指定できます。
ネットワークタイプ
転送するリクエストのネットワークタイプを選択します。
インターネット: インターネット向けゲートウェイによって転送されるトラフィックに対して課金されます。
プライベートネットワーク: トラフィックは VPC 内でのみ転送されるため、内部向けゲートウェイによって転送されるトラフィックに対しては課金されません。
ゲートウェイタイプ
MSE クラウドネイティブゲートウェイ を選択します。
ゲートウェイインスタンス
このパラメーターは、[ゲートウェイタイプ] を [MSE クラウドネイティブゲートウェイ] に設定した場合に必要です。名前空間と同じリージョンおよび VPC に存在するゲートウェイインスタンスを選択します。ゲートウェイインスタンスを作成するには、[MSE クラウドネイティブゲートウェイの作成] をクリックします。詳細については、「MSE クラウドネイティブゲートウェイの作成」をご参照ください。
ドメイン名
一致させたいドメイン名を 1 つ以上選択します。ドメイン名を作成するには、[ドメイン名の作成] をクリックします。詳細については、「ドメイン名の作成」をご参照ください。
パス
HTTP リクエストに一致するように Path パラメーターを設定します。
複数のルールが同じ一致タイプを持つ場合、パスが長いルールがより高い優先度を持ちます。
複数のルールが異なる一致タイプを持つ場合、優先度は になります。
完全一致: 完全に一致します。たとえば、パスが
/userと等しい場合です。プレフィックス: プレフィックスベースの一致です。たとえば、パスが
/userで始まる場合です。正規表現: 正規表現ベースの一致です。たとえば、文字クラスが
userの場合です。
メソッド
HTTP リクエストに一致するように Method パラメーターを設定します。このパラメーターを空のままにすると、すべてのメソッドが一致します。複数の HTTP メソッドを選択できます。
リクエストヘッダー
HTTP リクエストに一致するように Header パラメーターを設定します。複数のルールが同じ一致タイプを持つ場合、パラメーターが多いルールがより高い優先度を持ちます。
リクエストパラメーター (クエリ)
HTTP リクエストに一致するように Query パラメーターを設定します。複数のルールが同じ一致タイプを持つ場合、パラメーターが多いルールがより高い優先度を持ちます。
サービスソース
2 種類のレジストリがサポートされています: SAE 組み込み Nacos と MSE Nacos。
SAE 組み込み Nacos: SAE は、関連する環境変数を注入し、Java エージェントを使用してバイトコードを変更することにより、プログラムのレジストリと設定センターのアドレスを自動的に変更します。
MSE Nacos: このオプションを選択した場合、[MSE Nacos インスタンス] と [MSE Nacos 名前空間] を設定する必要があります。
説明サービスソースは、アプリケーションのサービス検出メソッドと同じである必要があります。
シナリオ
現在のルートのターゲットサービスの種類を選択します。
基本シナリオ
単一サービス: リクエストは単一のバックエンドサービスに分散されます。これは最も一般的なシナリオです。
カナリアリリースシナリオ
複数サービス: リクエストは特定のパーセンテージに基づいて複数のバックエンドサービスに分散されます。これは、トラフィックシフトやカナリアリリースのシナリオでよく使用されます。
タグベースルーティング: リクエストはコンテンツまたは特定のパーセンTEージに基づいて複数のバックエンドサービスに分散されます。エンドツーエンドカナリアリリース機能を実装するには、この機能をサービス管理と併用する必要があります。
ターゲットサービスの種類についての詳細については、「ルーティングメソッドの概要」をご参照ください。
バックエンドサービス
関連付けられたバックエンドアプリケーション、サービス、およびポートを選択します。
説明ターゲットサービスのトラフィックの重みの合計は 100% である必要があります。
タグベースルーティングは、ゲートウェイからバックエンドサービスへの最初のホップに対してのみ有効です。リクエストリンク全体でカナリアリリースを実装する場合は、この機能をエンドツーエンドカナリアリリース機能と併用する必要があります。
タイムアウト (秒)
タイムアウト期間を入力します。デフォルト値は 60 です。単位: 秒。値 0 は、リクエストがタイムアウトしないことを示します。
高度な設定
フォールバック
[フォールバック] スイッチをオンにして、フォールバックサービスを設定します。特定のサービスを選択する必要があります。ルートが指すバックエンドサービスに利用可能なノードがない場合、元のリクエストは指定されたフォールバックサービスにアクセスします。
説明現在、フォールバック機能は HTTP サービス間でのみサポートされています。
ルーティングルールが作成された後、[ゲートウェイルーティング] ページでルールを表示、編集、管理できます。
ルーティングルールの管理
ルーティングルールを作成した後、[ゲートウェイルーティング] ページでそのトラフィック転送ルールを表示したり、ルーティングルールを編集または削除したりできます。