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

Microservices Engine:サービスバージョンの管理

最終更新日:Jun 22, 2026

クラウドネイティブゲートウェイでは、サービスバージョンは主にタグベースルーティングに使用されます。適切なルーティングポリシーを設定することで、カナリアリリース、タグベースルーティング、高可用性デプロイメントなどのユースケースを実現できます。

説明

サービスバージョンの管理は、[固定アドレス] または [DNS ドメイン名] サービスではサポートされていません。

背景情報

マイクロサービスアーキテクチャにおいて、サービスとはアプリケーションの機能単位であり、通常は注文サービスやユーザーサービスなど、独立したビジネスドメインを持ちます。物理的には、サービスはネットワークアドレスを持つコンテナ、仮想マシン、または物理マシン上で実行されます。論理的には、サービスは同じ機能を提供するネットワークインスタンスのグループで構成されます。

サービスバージョンは、サービスのインスタンスのサブセットであり、そのメタデータに基づいてグループ化されます。サービスバージョンの一般的なユースケースには、カナリアリリースタグベースルーティング高可用性デプロイメントなどがあります。

  • カナリアリリース:新しいサービスバージョンを安全に展開するために、カナリアリリースを使用できます。この戦略では、少量のトラフィックを新しいバージョンに転送して検証します。新しいバージョンが期待どおりに動作することを確認した後、すべてのトラフィックを古いバージョンから新しいバージョンに徐々に移行します。

  • タグベースルーティング:サービスには、それぞれ特定のリクエストを対象とした、機能の異なる複数のバージョンが存在する場合があります。たとえば、同じ API であっても、特定ヘッダー値を持つリクエストは特定のサービスバージョンにルーティングされます。また、サービスバージョンを使用して、リクエストの属性に基づいて、テスト、ステージング、本番などの適切な開発環境にリクエストをルーティングすることもできます。

  • 高可用性デプロイメント:サービスの可用性を確保するために、複数の Kubernetes (K8s) クラスターにまたがってサービスをデプロイできます。各クラスターのインスタンスを個別のサービスバージョンとして扱うことで、各クラスターにルーティングされるトラフィックの重みを調整できます。あるクラスターで障害が発生した場合、その重みを 0 に設定することでトラフィックをリダイレクトできます。

サービスバージョンの管理は、サービスインスタンスに関連付けられたメタデータに依存します。

  • Container Service for Kubernetes (ACK) の場合、サービスインスタンスのメタデータは Pod の Labels 属性から派生します。たとえば、Kubernetes Service に関連付けられた Spring Cloud アプリケーションを使用する場合、Kubernetes Deployment YAML ファイルの spec.template.metadata.labels の下にタグキーとタグ値を追加できます。

  • Nacos レジストリの場合、サービスインスタンスのメタデータは、インスタンス登録時にアプリケーションが提供するメタデータに基づきます。たとえば、Nacos レジストリを持つ Spring Cloud アプリケーションを使用する場合、spring.cloud.nacos.discovery.metadata フィールドを使用してインスタンスメタデータを設定できます。

サービスバージョンの追加

  1. MSE コンソールにログインします。トップナビゲーションバーで、リージョンを選択します。

  2. 左側のナビゲーションウィンドウで、Cloud-Native Gateway > ゲートウェイリスト を選択します。[ゲートウェイ] ページで、対象ゲートウェイの ID をクリックします。

  3. 左側のナビゲーションウィンドウで、Routes をクリックします。次に、[サービス] タブをクリックします。

  4. 変更するサービスの名前をクリックします。Service Version セクションで、Add Version をクリックします。

  5. サービスバージョンリストに表示される新しい行で、パラメーターを設定し、Actions 列の 完成 アイコンをクリックします。

    パラメーター

    説明

    Version Name

    サービスバージョンの名前を入力します。読みやすく、内容が分かりやすい名前を使用してください。

    Tag Name

    すべてのサービスインスタンスで利用可能なメタデータキーです。新しいバージョン用にインスタンスをグループ化するためのキーを選択します。

    Tag Value

    選択した [タグキー] で利用可能な値です。新しいバージョンのインスタンスグループを定義するための値を選択します。

    Number of Instances/Proportion

    • インスタンス数:指定されたタグキーと値に一致するインスタンスの数です。

    • 割合:このバージョンに属するサービスの総インスタンス数に対する割合です。

    説明

    Tag NameTag Value を組み合わせることで、現在のバージョンのインスタンスセットが決定されます。

  6. 確認ダイアログボックスで、OK をクリックします。

    新しいサービスバージョンが Service Version セクションに表示されます。

サービスバージョンの編集

  1. MSE コンソールにログインします。トップナビゲーションバーで、リージョンを選択します。

  2. 左側のナビゲーションウィンドウで、Cloud-Native Gateway > ゲートウェイリスト を選択します。[ゲートウェイ] ページで、対象ゲートウェイの ID をクリックします。

  3. 左側のナビゲーションウィンドウで、Routes をクリックします。次に、[サービス] タブをクリックします。

  4. 変更するサービスの名前をクリックします。Service Version セクションで、Actions 列の 編集 アイコンをクリックします。

  5. 新しいTag NameTag Valueを選択し、Actions列の完成アイコンをクリックします。

  6. 確認ダイアログボックスで、OK をクリックします。

サービスバージョンの削除

  1. MSE コンソールにログインします。トップナビゲーションバーで、リージョンを選択します。

  2. 左側のナビゲーションウィンドウで、Cloud-Native Gateway > ゲートウェイリスト を選択します。[ゲートウェイ] ページで、対象ゲートウェイの ID をクリックします。

  3. 左側のナビゲーションウィンドウで、Routes をクリックします。次に、[サービス] タブをクリックします。

  4. 変更するサービスの名前をクリックします。Service Versionリストで、Actions列の删除 アイコンをクリックします。

  5. 確認ダイアログボックスで、OK をクリックします。