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

Alibaba Cloud Service Mesh:ASM インスタンスのアップグレード

最終更新日:Dec 02, 2025

業務継続性を確保し、期限切れインスタンスによるセキュリティおよび安定性のリスクを防ぐため、Service Mesh (ASM) は、コントロールプレーンとデータプレーンをアップグレードするためのインプレースアップグレードとカナリアリリースをサポートしています。このトピックでは、ASM インスタンスのアップグレードに関する注意事項、説明、アップグレードパス、メソッド、および手順について説明します。

前提条件

ASM インスタンスが作成されていること

用語

インプレースアップグレード、カナリアリリース、コントロールプレーン、データプレーンの説明を展開して表示

用語

説明

インプレースアップグレード

コントロールプレーンとデータプレーンの段階的なアップグレードをサポートします。ASM コンソールでコントロールプレーンをアップグレードできます。コントロールプレーンのアップグレード後、データプレーン上のサイドカープロキシとゲートウェイを手動でアップグレードする必要があります。

カナリアリリース

カナリアリリース中はロールバックを実行できます。コントロールプレーンの新しいバージョンを実行し、一部のサービスを新しいバージョンに移行できます。サービスが正常に実行されることを確認した後、残りのサービスを新しいバージョンに移行できます。検証プロセス中に問題が見つかった場合は、ロールバックを実行できます。

コントロールプレーン

Service Mesh のさまざまなポリシーとルールを管理および構成する役割を担います。その主な責務は次のとおりです:

  • サービス検出:データプレーンのサービス登録情報を維持します。これにより、サービスは互いに検出し、通信できます。

  • 構成管理:Service Mesh のトラフィックルール、ポリシー、およびその他の関連設定を一元的に構成および管理するための統一された API を提供します。

  • ポリシー決定:アクセスの制御、速度制限、フォールトインジェクション、およびルーティングポリシーを定義し、実行します。

  • 証明書管理:サービス間通信のための証明書とキーを管理し、暗号化通信を実装します。

ASM では、コントロールプレーンは主に Istio コンポーネントで構成されています。たとえば、Istio-Pilot はサービス検出とトラフィック管理を実装し、Istio-Citadel は安全な通信のための証明書を管理します。

データプレーン

データプレーンは、一連の軽量なネットワークプロキシで構成されています。これらのプロキシは、サービスのサイドカーとしてデプロイされ、アプリケーションコンテナーと同じ Pod で実行されます。その主な責務は次のとおりです:

  • トラフィックインターセプト:Pod に出入りするすべてのネットワークトラフィックをインターセプトします。

  • トラフィックルーティング:コントロールプレーンの構成に基づいて、特定のトラフィック転送、負荷分散、およびルーティング決定を実行します。

  • データレポート:レイテンシ、トラフィック、エラー率など、サービス間通信に関するデータを収集してレポートします。

  • ポリシー実行:アクセスの制御、レート制限、およびその他のポリシーを実装します。

ASM では、データプレーンは主に Istio が提供する Envoy プロキシを使用して実装されます。Envoy プロキシは、サイドカーの形でアプリケーションサービスの近くにデプロイされ、パフォーマンス専有型のネットワークプロキシ機能を提供します。

アップグレードが必要な理由

ASM は通常、サポートされている Istio のメジャーバージョンのリストを 3 か月ごとに更新します。メジャーバージョンがリリースされた後、ASM は時々、1.19.x.y のようなパッチバージョンをリリースして、新機能の提供や脆弱性の修正を行います。期限切れの ASM インスタンスは、セキュリティと安定性のリスクをもたらします。ASM インスタンスをタイムリーにアップグレードすることを推奨します。ASM がサポートするバージョンの詳細については、「バージョニングメカニズム」をご参照ください。

ASM インスタンスを積極的にアップグレードすることには、次の利点があります:

  • セキュリティと安定性のリスクの低減:ASM バージョンのイテレーションに伴い、セキュリティと安定性の脆弱性は継続的に修正されます。期限切れの ASM インスタンスを長期間使用すると、ビジネスにセキュリティと安定性のリスクをもたらす可能性があります。

  • メンテナンスサポートの向上:期限切れのインスタンスバージョンに対して、ASM はもはやセキュリティパッチやバグ修正を提供せず、技術サポートの品質を保証できません。新しい ASM バージョンを使用することで、より良い技術サポートとカスタマーサービスを受けることができます。

  • 新機能へのアクセス:オープンソースの Istio が進化するにつれて、新しいバージョンは新機能と改善を提供します。ASM はこれらの新しいバージョンに適応し、開発者および運用保守 (O&M) のためのより良い体験を提供します。

アップグレードの注意事項と説明

注意事項

  • メッシュをアップグレードするには、データプレーン上の Pod を手動で再起動して、新しいバージョンのサイドカーを再インジェクションする必要があります。オフピーク時にアップグレードを実行することを推奨します。

  • ASM ゲートウェイを手動でアップグレードすると、ローリングリスタートがトリガーされます。

  • アップグレード中は、段階的リリースやトラフィックルールの構成などの操作を行わないでください。

  • ASM インスタンスのインプレースアップグレードを実行すると、ASM はインスタンスに対してアップグレード前チェックを実行します。ただし、このチェックでは、互換性のないすべての機能構成と API 操作が検出されるとは限りません。ヘルプドキュメント、コンソール情報、および内部メッセージを使用して、バージョンリリース情報について常に把握することができます。インスタンスをアップグレードする前に、対応するバージョンのアップグレードに関する注意事項を確認することを推奨します。

  • セキュリティ上の理由から、ASM は次のメカニズムを提供します:

    • ASM は、インスタンスのバージョンが期限切れになった後、指定された時間に、期限切れのインスタンスをサポートされている最も古いバージョンに強制的にアップグレードする権利を留保します。このトピックで説明されているように、事前にインスタンスをアップグレードすることを推奨します。

    • v1.18.0.123 から v1.18.0.146 へのようなパッチバージョンのアップグレードについては、システムは通知なしに定期的に自動ホットアップデートを実行します。自動ホットアップデート中、データプレーンゲートウェイとサイドカープロキシのバージョンは変更されません。

インプレースアップグレードに関する説明

インプレースアップグレードを実行する場合、ASM インスタンスは隣接するバージョンにのみアップグレードできます。クロスバージョンのアップグレードとロールバックはサポートされていません。

カナリアリリースに関する説明

インプレースアップグレードと比較して、カナリアリリースでは、新しいバージョンに切り替える前に検証することができます。これにより、ビジネスにとってより安全なアップグレード方法が提供されます。カナリアリリースは、最大で 1 つのマイナーバージョンをまたいだアップグレードをサポートし、アップグレードプロセス中のロールバックをサポートします。

タイプ

説明

適用バージョン

バージョン 1.16.4.91 以降の Enterprise Edition または Ultimate Edition インスタンス。

シナリオ

  • インスタンスを 1 つのマイナーバージョンをまたいでアップグレードするシナリオ。たとえば、インスタンスを 1.16.4 から 1.17.2 にアップグレードできます。

  • マイナーバージョンが変更されるときにインスタンスをアップグレードするシナリオ。たとえば、インスタンスを 1.16.4 から 1.17.2 または 1.18.0 にアップグレードできます。インスタンスは最大で 1 つのマイナーバージョンをまたいでアップグレードできます。

説明

asm-patch バージョンのみが変更される場合は、インプレースアップグレードを実行することを推奨します。

バージョンフォーマット

ASM インスタンスのバージョンは、<major>.<minor>.<patch>.<asm-patch>[-<sequence>-aliyun] というフォーマットです。例:v1.18.0.158-gc6cf0b9c-aliyun (Enterprise Edition)。フォーマットの各フィールドの説明は次のとおりです:

  • major:メジャーバージョン。

  • minor:マイナーバージョン。

  • patch:パッチバージョン。

  • <major>.<minor>.<patch>:オープンソース Istio のバージョン。例:1.18.0。

  • asm-patch:ASM がオープンソースバージョンに基づいてリリースしたパッチバージョン。たとえば、バージョン番号 1.18.0.158 の 158 は、ASM がリリースしたパッチバージョンを示します。

  • sequence:バージョンのコードの Git コミット。

Sidecar インジェクションラベルに関する説明

ASM インスタンスでカナリアリリース機能を有効にすると、コントロールプレーン上に 2 つのバージョンのインスタンスが同時に存在します。たとえば、カナリアリリースを使用して ASM インスタンスを 1.17.2.42 から特定の 1.18.0 バージョンにアップグレードする場合、コントロールプレーン上ではバージョン 1.17.2 と 1.18.0 の両方が同時に利用可能になります。

カナリアリリース中、Kubernetes クラスターの名前空間にインジェクションラベルを追加して、その名前空間内のワークロードにインジェクションするサイドカーのバージョンを指定できます。デフォルトのラベルは istio-injection=enabled で、現在のバージョンをインジェクションします。

以下に、2 つのバージョンが同時に存在する場合の、インジェクションされるサイドカーバージョンと名前空間ラベルのマッピングについて説明します:

  • 現在のバージョン

    • istio-injection=enabled ラベルによってインジェクションされるサイドカーは、ASM の現在のバージョンに対応し、現在のバージョンのコントロールプレーンに接続します。

    • 名前空間に istio.io/rev=$revision ラベルを追加して、インジェクションするサイドカーのバージョンを指定します。revision 変数のフォーマットは x-y-z で、たとえば 1-17-2 のようになります。

    • 名前空間に istio.io/rev=stable ラベルを追加して、インジェクションするサイドカーのバージョンが ASM の現在のバージョンであることを指定します。

    重要

    名前空間に istio-injection ラベルと istio.io/rev ラベルの両方を同時追加することはできません。

    image

  • カナリアバージョン

    ビジネスサービスにカナリアバージョンに対応するサイドカーをインジェクションする必要がある場合は、名前空間に istio.io/rev=$revision または istio.io/rev=canary ラベルを追加できます。$revision のフォーマットは x-y-z で、たとえば 1-18-0 のようになります。istio.io/rev=$revision ラベルを使用することを推奨します。

    カナリアリリースの実行方法の詳細については、「カナリアリリースを使用してアップグレードの安定性を向上させる」をご参照ください。

アップグレードパス、メソッド、およびプロセス

アップグレードパス

このセクションの例では、v1.16 から v1.18 へのアップグレードを例に、アップグレードパスを説明します。この例は参考用です。実際の環境に基づいてアップグレードパスを選択できます。

初期バージョン

ターゲットバージョン

アップグレードメソッド

1.16.4.93

1.17.2.42

インプレースアップグレードまたはカナリアリリース

1.17.2.42

1.18.0.158

インプレースアップグレードまたはカナリアリリース

1.16.4.93

1.18.0.158

カナリアリリース

アップグレードメソッド

  • ASM コンソール:インプレースアップグレードとカナリアリリースをサポートしています。詳細については、「操作手順」をご参照ください。

  • API:インプレースアップグレードをサポートしています。詳細については、「UpgradeMeshVersion」、「DescribeUpgradeVersion」、および「DescribeServiceMeshUpgradeStatus」をご参照ください。

アップグレードプロセス

ターゲットバージョンとアップグレードメソッドを確認します。続行する前に、アップグレードの注意事項と説明をよくお読みください。

操作手順

インプレースアップグレード

  1. ASM コンソールにログインします。左側のナビゲーションウィンドウで、サービスメッシュ > メッシュ管理を選択します。

  2. [メッシュ管理] ページで、対象の ASM インスタンス名をクリックします。左側のナビゲーションウィンドウで、ASM インスタンス > アップグレード管理を選択します。

  3. [アップグレード管理] ページで、[インプレースアップグレード] タブをクリックし、[アップグレード事前チェックの実行] をクリックします。表示される [重要] ダイアログボックスで、[OK] をクリックします。

  4. アップグレード事前チェックに合格したら、[アップグレードの開始] をクリックします。[重要] ダイアログボックスで、[OK] をクリックします。

  5. [データプレーン] セクションで、[アップグレード] 列を見つけ、ターゲットゲートウェイを選択し、[ゲートウェイのアップグレード] をクリックします。[重要] ダイアログボックスで、[OK] をクリックします。

  6. 必要に応じてワークロードを再起動します。詳細については、「ワークロードの再デプロイ」をご参照ください。

カナリアリリース

詳細については、「カナリアリリースを使用してアップグレードの安定性を向上させる」をご参照ください。

アップグレードに関するよくある質問

カナリアバージョンが公式バージョンに切り替わったとき、以前にデプロイされたサービスにインジェクションされたサイドカーは古いバージョンです。サイドカーを新しいバージョンにアップグレードするにはどうすればよいですか?

[アップグレード管理] ページで、[カナリアアップグレード] タブをクリックし、[データプレーン] タブをクリックします。[アップグレード対象のワークロード] セクションで、ターゲットワークロードの右側にある [ローリングアップグレード] をクリックして、サービスのデプロイメントのローリングアップデートをトリガーします。

インプレースアップグレードは既存のサービスのトラフィックに影響しますか?

インプレースアップグレードはコントロールプレーンにのみ影響し、データプレーンのトラフィックには影響しません。

ASM インスタンスがターゲットバージョンに到達するまでに何回のアップグレードが必要ですか?

インプレースアップグレードは、隣接するメジャーバージョン間のアップグレードのみをサポートします。カナリアリリースは、最大で 1 つのマイナーバージョンをまたいだアップグレードをサポートします。必要に応じて、必要なアップグレード回数を計算できます。

ASM インスタンスの各バージョンで、任意のアップグレードメソッドを選択できますか?

1.16.4.91 より前のバージョンの ASM インスタンスでは、インプレースアップグレードのみがサポートされています。バージョン 1.16.4.91 以降の ASM インスタンスでは、インプレースアップグレードとカナリアリリースの両方がサポートされています。

ASM インスタンスをアップグレードした後、対応する ACK クラスターはどのバージョンにアップグレードする必要がありますか?

ASM と ACK のバージョンの互換性」を参照し、必要に応じてクラスターをアップグレードできます。ACK クラスターのアップグレード方法の詳細については、「クラスターの手動アップグレード」をご参照ください。

関連ドキュメント

  • メッシュの潜在的な問題をタイムリーに診断できます。チェック項目には、データプレーンコンポーネントのバージョン、サービスポート、関連サービス、アプリケーションとバージョンのラベル、宛先アドレス、および仮想サービスの競合が含まれます。詳細については、「ASM メッシュ診断の使用」をご参照ください。

  • コンテナー向け IT 運用人工知能 (AIOps) プラットフォームは、ワンクリックのエラー診断機能を提供します。これらの機能には、ノード、Pod、Service、Ingress、メモリ、およびネットワーク診断が含まれ、クラスター内の問題の特定に役立ちます。詳細については、「クラスター診断の使用」をご参照ください。

  • ASM の機能に関する最新情報については、「リリースノート」をご参照ください。