ビジネスリクエストを他のサービスやアプリケーションに分散させるには、ゲートウェイのルーティング機能を設定します。 このトピックでは、クラウドネイティブ API Gateway を使用してアプリケーションのルーティングルールを設定する方法について説明します。
背景情報
クラウドネイティブ API Gateway は、トラフィックゲートウェイ、マイクロサービスゲートウェイ、セキュリティゲートウェイ、および AI ゲートウェイの機能を統合した統一アーキテクチャソリューションです。 従来のゲートウェイの分散管理によって引き起こされる課題に対処するように設計されています。 クラウドネイティブ API ゲートウェイを使用すると、開発者はサービスディスカバリ、ロードバランシング、およびサービス間通信をより簡単に管理でき、複雑な分散システムの開発とメンテナンスが簡素化されます。 詳細については、「クラウドネイティブ API ゲートウェイとは」をご参照ください。
前提条件
MSE
クラウドネイティブ API Gateway を作成済みであること。 詳細については、「クラウドネイティブ API Gateway インスタンスの作成」をご参照ください。
SAE
名前空間を作成し、クラウドネイティブ API Gateway と SAE 名前空間が同じリージョンにあり、同じ VPC にバインドされていることを確認済みであること。 詳細については、「名前空間の作成」をご参照ください。
アプリケーションを作成済みであること。
ルーティングルールの作成
[SAE ゲートウェイルーティング] ページで、リージョンと名前空間を選択し、[ゲートウェイルートの作成] をクリックします。
[ルートの作成] ページで、パラメーターを設定し、[保存] をクリックします。
設定項目
説明
例
ルート名
ルーティングルールの名前。 名前はカスタマイズできます。
demo
ネットワークタイプ
転送されるリクエストのネットワークタイプを選択します。
インターネット: インターネットゲートウェイ経由で転送されるリクエストの場合、実際の転送トラフィックに基づいて課金されます。
プライベート: プライベートゲートウェイ経由で転送されるリクエストは課金されません。 現在の VPC 内でのみ転送されます。
インターネット
ゲートウェイタイプ
[クラウドネイティブ API Gateway] を選択します。
クラウドネイティブ API Gateway
ゲートウェイインスタンス
このパラメーターは、[ゲートウェイタイプ] が [クラウドネイティブ API Gateway] に設定されている場合に必要です。 名前空間と同じリージョンにあり、同じ VPC を使用するゲートウェイインスタンスを選択します。 新しいゲートウェイインスタンスを作成するには、[クラウドネイティブ API Gateway の作成] をクリックします。 詳細については、「クラウドネイティブ API Gateway インスタンスの作成」をご参照ください。
demo
ドメイン名
一致させたいドメイン名を 1 つ以上選択します。 新しいドメイン名を作成するには、[ドメイン名の作成] をクリックします。 詳細については、「ドメイン名の作成」をご参照ください。
www.demo.com
パス
HTTP リクエストで一致させる Path パラメーターを設定します。
複数のルールが同じ一致条件を持つ場合、パスが長いルールがより高い優先度を持ちます。
ルールに異なるマッチング条件がある場合、優先順位は高い順に次のとおりです: 。
完全に一致: 完全に一致します。たとえば、パスが
/userと等しい場合などです。プレフィックス: プレフィックス一致です。たとえば、パスが
/userで始まる場合などです。正規表現: 正規表現一致です。たとえば、文字クラスが
userである場合などです。
条件: プレフィックス
パス: /user
メソッド
HTTP リクエストで一致させる Method パラメーターを設定します。 このパラメーターを空のままにすると、すべてのメソッドが一致します。 複数の HTTP メソッドを選択できます。
GET
リクエストヘッダー
HTTP リクエストで一致させる Header パラメーターを設定します。 複数のルールが同じ一致条件を持つ場合、パラメーターが多いルールがより高い優先度を持ちます。
リクエストヘッダー: demo
条件: プレフィックス
値: value
リクエストパラメーター (クエリ)
HTTP リクエストで一致させる Query パラメーターを設定します。 複数のルールが同じ一致条件を持つ場合、パラメーターが多いルールがより高い優先度を持ちます。
リクエストヘッダー: key
条件: プレフィックス
値: value
サービスソース
サービスレジストリとして MSE Nacos と K8s Service がサポートされています。
MSE Nacos: このオプションを選択した場合、[MSE Nacos インスタンス] と [MSE Nacos 名前空間] パラメーターを設定する必要があります。
K8s Service: SAE は、Kubernetes ServiceNames を使用した多言語のサービス登録と検出をサポートしています。 また、固定ドメイン名でアプリケーションを設定して、デプロイ後のインスタンス IP アドレスの変更の問題を解決することもできます。
説明サービスソースは、アプリケーションのサービス登録および検出メソッドと一致している必要があります。
MSE Nacos インスタンス
シナリオ
現在のルートの宛先サービスのタイプを選択します。
基本シナリオ
単一サービス: リクエストを単一のバックエンドサービスに分散します。 これは最も一般的なシナリオです。
グレースケールシナリオ
複数サービス: 指定された割合に基づいて、リクエストを複数のバックエンドサービスに分散します。 これは通常、トラフィックの移行やグレースケールリリースのシナリオで使用されます。
宛先サービスのさまざまなタイプに関する詳細については、「ルーティングメソッドの概要」をご参照ください。
単一サービス
バックエンドサービス
バックエンドアプリケーション、サービス、およびそれに対応するポートを選択します。
説明すべての宛先サービスのトラフィックの重みの合計は 100% である必要があります。
アプリケーション名: demo
サービス名: demo
サービスプロトコル: 自動読み取り
サービスポート: 80
高度な設定
フォールバック
[フォールバック] スイッチをオンにし、フォールバックサービスを設定します。 特定のサービスを選択する必要があります。 ルートが指すバックエンドサービスに利用可能なノードが存在しない場合、元のリクエストは指定されたフォールバックサービスに送信されます。
説明現在、フォールバックは HTTP サービス間でのみサポートされています。
有効
タイムアウト (秒)
タイムアウト期間を入力します。 デフォルト値は 60 秒です。 値 0 はタイムアウトがないことを示します。
60
リトライ
リトライ回数を入力します。 値 0 はリトライを無効にします。
2
リトライ条件
リトライ条件を選択します。 詳細については、「リトライポリシーの設定」をご参照ください。
connect-failure, cancelled
リトライステータスコード
リトライステータスコードを追加します。 これは、エラーが発生した後に表示されるメッセージです。
502
ルーティングルールが作成された後、[ゲートウェイルーティング] ページで表示、編集、およびその他の操作を実行できます。
ルーティングルールの管理
ルーティングルールを作成した後、[ゲートウェイルーティング] ページで転送ルールを表示したり、ゲートウェイルートを編集または削除したりできます。