Alibaba Cloud Container Compute Service (ACS) の Knative は、外部トラフィックを Knative Serving サービスにルーティングするために、ALB、ASM、Kourier の 3 つのゲートウェイをサポートしています。軽量な自己管理型ゲートウェイには Kourier を、自動的にスケーリングするフルマネージドの高スループットワークロードには Application Load Balancer (ALB) を、クラスター間で詳細なトラフィックポリシーを持つサービスメッシュには Alibaba Cloud Service Mesh (ASM) を選択します。
ゲートウェイの概要
ALB: Alibaba Cloud Application Load Balancer (ALB) 上に構築されたフルマネージドのゲートウェイです。運用保守 (O&M) は不要で、トラフィック管理を自動的にハンドルし、インスタンスあたり最大 100万の秒間クエリ数 (QPS) までスケールします。
ASM: Alibaba Cloud Service Mesh (ASM) は、オープンソースの Istio と互換性のあるマネージド型サービスメッシュプラットフォームであり、トラフィックシェーピング、メッシュの可観測性、安全なサービス間通信を含む、複数の Kubernetes クラスターにわたる統合されたトラフィック管理を提供します。
Kourier:Knative コミュニティが提供する、Envoy 上に実装された軽量なオープンソースゲートウェイです。最小限のリソースオーバーヘッドで基本的なルーティングとサービスディスカバリを提供しますが、手動でのスケーリングとパフォーマンスチューニングが必要であり、ALB や ASM と比較して設定や拡張のオプションが限られています。
各ゲートウェイの利用シーン
| シナリオ | 推奨ゲートウェイ |
|---|---|
| ゲートウェイの運用保守を不要にし、自動スケーリングを行いたい場合 | ALB |
| マルチクラスターのトラフィック管理またはサービスメッシュが必要な場合 | ASM |
| シンプルで軽量なゲートウェイを自己管理で運用したい場合 | Kourier |
| QUIC プロトコルのサポートが必要です | ALB |
| 標準で利用可能なカオスエンジニアリング機能が必要な場合 | ASM |
| 開発またはテストクラスターでリソースフットプリントを最小限に抑えたい場合 | Kourier |
詳細な比較
製品の位置づけ
ALB は、コンテナインフラストラクチャと緊密に統合されたレイヤー 7 負荷分散に重点を置いています。カナリアリリース、A/B テスト、ブルーグリーンデプロイメントをサポートし、Web Application Firewall (WAF)、Function Compute (FC)、PrivateLink、Transit Router (TR) などの他の Alibaba Cloud サービスと統合します。
ASM は、フルマネージドの Istio 互換サービスメッシュを提供します。トラフィックのルーティングと分割、サービス間通信の保護、メッシュの可観測性の公開を処理することでサービス管理を簡素化し、開発者と運用保守チームの両方の運用負荷を軽減します。
Kourier は、Knative Serving サービスにアクセスするために Knative コミュニティが提供するゲートウェイ実装です。基本的なルーティングとサービスディスカバリをカバーしますが、追加のトラフィック管理機能はありません。
サービスアーキテクチャ
| ALB | ASM | Kourier | |
|---|---|---|---|
| アーキテクチャ | 自社開発の CyberStar プラットフォームを使用し、Alibaba Cloud Apsara Cloud Network プラットフォーム上に構築 | マネージド Istio コントロールプレーン。Istio コミュニティと互換性あり | Envoy ベース |
| マルチクラスターサポート | いいえ | はい。単一の ASM インスタンスで、複数の Kubernetes クラスターまたは Elastic Container Instance (ECI) Pod に対応できます | いいえ |
| スケーリング | 自動 | 自動 (マネージドコントロールプレーン) | 手動:レプリカとリソース制限を自分で設定 |
ルーティング機能
| ALB | ASM | Kourier | |
|---|---|---|---|
| コンテンツベースのルーティング | はい | はい | はい |
| 送信元 IP ベースのルーティング | はい | いいえ | いいえ |
| HTTP ヘッダーの変更 | はい | はい | はい |
| リダイレクトと URL 書き換え | はい | いいえ | いいえ |
| スロットリング | はい | いいえ | いいえ |
| クロスドメインアクセス | はい | いいえ | いいえ |
| セッション維持 | はい | いいえ | いいえ |
| リクエストとレスポンスの転送ルール | はい:リクエストとレスポンスの両方のルールをサポート | いいえ | いいえ |
| マルチクラスターのトラフィックルーティング | いいえ | はい | いいえ |
| きめ細かいトラフィック管理 | いいえ | はい | いいえ |
| カオスエンジニアリング | いいえ | はい (標準で利用可能) | いいえ |
運用保守
ALB はフルマネージドで設定不要です。処理能力はトラフィックに応じて自動的にスケーリングされ、手動での介入なしで超大容量をサポートします。
ASM はワンクリックでのインストール、デプロイメント、アップグレードをサポートします。コントロールプレーンのコンポーネントは完全に管理されているため、チームはアプリケーション開発に集中できます。ASM は Istio コミュニティの仕様との互換性を維持します。
Kourier は自己管理が必要です。Horizontal Pod Autoscaler (HPA) 設定を使用してスケールインまたはスケールアウトし、ワークロードに合わせてパフォーマンス設定を事前に調整します。Kourier は限られた設定と拡張オプションしか提供しません。ワークロードが増加した場合や、高度なトラフィック管理が必要になった場合は、ALB または ASM への移行を計画してください。
パフォーマンス
ALB:単一のインスタンスで 100 万 QPS と数千万の同時接続数をサポートします。SSL ハードウェアアクセラレーションがデフォルトで有効になっています。
ASM:インテリジェント DNS ルーティングによるマルチリージョンデプロイメントをサポートし、ドメイン名を地理的に最も近いインスタンスに解決することで、グローバルクライアントのレイテンシーを削減します。ASM ゲートウェイインスタンスには Classic Load Balancer (CLB) を通じてアクセスします。商用版は Intel Multi-Buffer テクノロジーを使用した TLS アクセラレーションをサポートしており、テストでは QPS が 80% 向上しました。
Kourier:パフォーマンスは完全に手動チューニングに依存します。Kourier にはマネージドスケーリングレイヤーがないため、予想されるトラフィックからレプリカ数とリソース制限を計画してください。
プロトコルサポート
| プロトコル | ALB | ASM | Kourier |
|---|---|---|---|
| HTTP | はい | はい | はい |
| HTTPS | はい | はい、動的な証明書読み込みに対応 | はい |
| QUIC | はい | いいえ | いいえ |
| WebSocket | はい | はい、イングレスゲートウェイ経由で対応 | いいえ |
| WSS (WebSocket Secure) | はい | いいえ | いいえ |
| gRPC | はい | はい、イングレスゲートウェイ経由で対応。プロトコルトランスコーディング (HTTP/JSON から gRPC) をサポート | はい |
可観測性
ALB:アクセスログとメトリクスを収集します。アクセスログは Simple Log Service (SLS) と、アラート機能を含むメトリクスは CloudMonitor と統合します。
ASM:トラフィック分析のためのメッシュトポロジーの可視化を提供します。自己管理型の Prometheus、Application Real-Time Monitoring Service (ARMS)、SLS と統合します。カスタム監視メトリクスとサービスレベル目標 (SLO) ポリシーをサポートします。
Kourier:アクセスログのみを収集します。メトリクスの統合やアラート機能は組み込まれていません。より高度な可観測性が必要な場合は、代わりに ALB または ASM を選択してください。