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

Alibaba Cloud Service Mesh:Service プロトコルの標準的な指定方法

最終更新日:Sep 02, 2026

Service Mesh (ASM) は、HTTP、HTTPS、gRPC、raw TCP など、あらゆる TCP トラフィックをプロキシできます。デフォルトでは、ASM が HTTP および HTTP2 トラフィックを自動検出し、認識できないトラフィックはプレーン TCP として処理します。ASM がプロトコルを識別して追加機能を提供できるように、データプレーンクラスター内のすべての Service のプロトコルを指定する必要があります。

背景情報

ASM は、HTTP、HTTP2、HTTPS、TCP、TLS、gRPC、gRPC-Web、Mongo、MySQL、Redis などの一般的なプロトコルをサポートしています。Service のプロトコルを指定する方法は 2 つあります:

方法 1:Service のポート名によるプロトコル指定

サービスの ports フィールドで、各 port の name を {プロトコル名} または {プロトコル名}-{カスタムサフィックス} に設定します。 次の例では、ポート 9090 は gRPC プロトコルを使用するため、その name は grpc-demo に設定され、ポート 3306 は MySQL プロトコルを使用するため、その name は mysql に設定されています:

kind: Service
metadata:
  name: myservice
spec:
  ports:
  - port: 9090
    name: grpc-demo
  - port: 3306
    name: mysql

方法 2:サービスポートの appProtocol によるプロトコル指定

この方法を使用するには、ASM インスタンスが 1.8.6 以降で実行されている必要があります。データプレーンクラスターは Alibaba Cloud Container Service for Kubernetes (ACK) クラスター、または Kubernetes 1.18 以降を実行するオープンソース Kubernetes クラスターである必要があります。サービスポートの appProtocol フィールドを設定してプロトコルを指定します。次の例では、サービスポートのプロトコルとして HTTPS を指定しています:

kind: Service
metadata:
  name: myservice
spec:
  ports:
  - port: 3306
    name: database
    appProtocol: https
説明

ports.appProtocol は ports.name よりも優先されます。